• Edgerouter med Cloudflares DynDNS-tjänst

    Då jag precis blivit lycklig ägare till två Edgerouter ER-8 från Ubiquity så har jag fått klura ut några saker. Det första är hur man får Cloudflares dynamiska DNS-tjänst att fungera med Edgerouter. Jag har nämligen alla mina domäner hos Cloudflare och deras lysande DNS-tjänst (och nyttjar dem som registrar för de domäner de kan hantera i dagsläget).

    Då jag har en extra internetanslutning hem via ADSL (redundans är bra grejer när man bor på landet med halvskakig fiberanslutning) utan statisk IPv4-adress så vill jag kunna uppdatera dess hostnamn i min zonfil hos Cloudflare varje gång jag tvingas byta IP-adress. Det kan vara extra nyttigt om jag är ute och reser eller annat och fibern hem är nere och jag ändå måste komma åt saker, eller om jag sitter och jobbar hemma och IP-Only bestämmer sig för att göra en IP-Only. Värt att understryka är att hela denna guide förutsätter att du redan har minst en domän i Cloudflares DNS-tjänst. Du måste ange värdnamn plus domännamn (exempelvis hemma.domän.tld) i exemplet nedan. Värdnamnet kan vara i princip vad som helst men domännamnet måste alltså redan finnas i Cloudflares DNS-tjänst och du måste ha bytt så din domän har Cloudflare:s DNS:er kopplad till sig.
    En annan sak värd att notera är att den API-nyckel du behöver är den globala API-nyckeln i ditt konto hos Cloudflare. Du hittar den genom att logga in, klicka på pilen till höger om den lilla “gubben” i menyn och därefter väljer du “My profile”. Därefter väljer du “API Tokens” och väljer till sist att klicka på “View” på raden för “Global API Key”. Denna nyckel ska du INTE sprida eller på något sätt dela med dig av.

    En sista sak värd att notera är att jag utgår från att din internetanslutning sitter på porten eth0 i din brandvägg. Sitter den i en annan port, byt ut eth0 mot det rätta värdet i exemplen nedan.

    Du behöver utöver detta också sätta upp en API Token för din domän. Bilden ovan visar hur det går till - det som kvarstår är att välja vilken domän du vill använda för DynDNS-tjänsten.

    Sin vana trogen har Ubiquity sett till att detta inte finns med i webbgränssnittet i Edgerouterns operativsystem EdgeOS, men om man SSH:ar in i brandväggen så kan man fixa detta och jag tänkte visa hur man gör. Ubiquity har publicerat en egen guide inom detta ämne men den har ett stort fel som jag vill rätta till med denna bloggpost.

    Först och främst SSH:ar du till din brandvägg. Logga in med samma användarnamn och lösenord som du använder när du loggar in via webbgränssnittet.

    Därefter skriver du configure och trycker enter.

    När du gjort det kan du sätta igång och mata in kommandon:

    set service dns dynamic interface eth0 service custom-cloudflare hostnamn.domän.tld
    set service dns dynamic interface eth0 service custom-cloudflare login e-postadressen du loggar in med hos Cloudflare
    set service dns dynamic interface eth0 service custom-cloudflare password din API-nyckel hos cloudflare
    set service dns dynamic interface eth0 service custom-cloudflare protocol cloudflare
    set service dns dynamic interface eth0 service custom-cloudflare options zone=domän.tld
    set service dns dynamic interface eth0 service custom-cloudflare server api.cloudflare.com/client/v4/

    Ett praktiskt exempel kan se ut som följer:
    set service dns dynamic interface eth0 service custom-cloudflare hemma.jocke.se
    set service dns dynamic interface eth0 service custom-cloudflare jocke@jocke.se
    set service dns dynamic interface eth0 service custom-cloudflare password 1234455678dfgsfsdfasdf
    set service dns dynamic interface eth0 service custom-cloudflare protocol cloudflare
    set service dns dynamic interface eth0 service custom-cloudflare options zone=jocke.se
    set service dns dynamic interface eth0 service custom-cloudflare server api.cloudflare.com/client/v4/

    Misstaget Ubiquity gjort i sin guide är att de sagt att den sista raden i exemplet ovan är valfri. Utan att ange den raden fungerar inte den dynamiska DNS-tjänsten hos Cloudflare med Edgerouter.

    Du kan verifiera att din uppdatering fungerat genom att skriva show dns dynamic status. I mitt fall ser det ut enligt nedan:
    joacim@gw02:~$ show dns dynamic status interface : eth4 ip address : 217.210.187.50 host-name : adsl.melin.org last update : Wed Feb 19 17:44:10 2020 update-status: good
    När allt ser ut att fungera sparar du inställningarna genom att skriva commit ; save.

    Logga till sist ut genom att skriva exit två gånger.

  • Här behöver Fedora bli bättre

    Detta är den andra versionen av denna text som jag skriver. Den första versionen försvann när jag blev utloggad i Fedora, sannolikt på grund av en krasch av något slag, vem vet. Tydligt var att något var på gång - datorn gick segt och betedde sig underligt men jag tänkte att jag bara skulle skriva klart denna text och sedan spara den…

    Den 17 september 2018 publicerade jag en bloggtext kallad Vad Linux behöver för att lyckas på skrivbordet där jag försökte gå till botten med vad som gjort att Linux blivit så fragmenterat och i många avseenden misslyckat som operativsystem för skrivbordsdatorer:

    För att Linux verkligen ska bli framgångsrikt på skrivbordet måste man ta bort de valmöjligheter som många har idag. Inget mer KDE, inget i3, inget Xfce, och så vidare, utan bara en enda standard: Gnome. Ska Linux lyckas på skrivbordet kan det inte finnas 40-50 olika fönsterhanterare - det är en valmöjlighet som endast skadeskjuter Linux skrivbordsambitioner ytterligare. Linuxvärlden måste helt enkelt bli mer som Apple - mindre valfrihet och mer diktatoriskt. Om Linuxvärlden sedan anser att det är ett rimligt offer att göra för att få en bättre och mer hållbar grafisk skrivbordsmiljö med Linux under skalet återstår väl att se men jag tror inte Linuxfolket kommer vilja gå den vägen, och en del av mig är tacksam för det.

    #Saknas: en röd tråd#

    Det som saknas i Fedora 31 är en röd tråd, något som håller saker och ting samman. Jag har tidigare berört hur det börjar växa fram, sakta men säkert, men för att Fedora ska erbjuda en mer sammanhängande användarupplevelse krävs det att det hela styrs med en fast hand. Låt oss ta några exempel.

    Vi kan börja med exemplet ovan. Detta är tilläggsprogram till fönsterhanteraren Gnome som gör att man får nya fina funktioner installerade. Trevliga grejer detta, förutom det faktum att de flesta inte fungerar. De enda som fungerar av de jag installerat (markerade med en bock i bilden ovan) är tillägget för att ta skärmbilder (användes flitigt i samband med att jag skrev denna bloggpost).

    Nästa exempel är de “molnkonton” man kan lägga till i Gnome. Fina grejer på alla sätt och vis men det finns ingenting som tvingar applikationer som körs i Gnome att bry sig om dessa konton. Inte ens Gnomes egna bildvisare Photos gör det.

    Photos är en ganska enkel applikation - den tar alla bilder i katalogen ~/Pictures och visar upp dem. Enkelt och bra. Det Photos enligt egen utsago ska kunna göra är att dels kunna ta bilder i katalogen ovan, men dels också kunna använda sig av bilder i de molntjänster man har installerade. Jag tänkte då, glad i hågen, att Photos skulle kunna hantera bilder som fanns i min privata molntjänst som bygger på Nextcloud, men icke. Sannolikt är tanken med kopplingen mellan Photos och molntjänster att använda sig av tjänster som exempelvis Flickr eller kanske Facebook, men ingenstans är detta dokumenterat eller beskrivet utan man får helt enkelt lista ut det på egen hand. Sånt här måste bli bättre. En annan sak med implementationen av stödet för dessa molntjänster är huruvida man kan lita på dem. Jag avslutade Nextcloud-klienten och tänkte att det inbyggda stödet för Nextcloud i Gnome skulle hantera detta åt mig men icke sa nicke. Jag kommer åt alla filer finfint och kan arbeta med dem men ändringar synokroniseras inte upp automatiskt. Faktum är att det inte ens finns ett sätt att kolla status på tjänsten genom Fedoras inbyggda stöd.

    Att installera nya applikationer är däremot smidigt. För det mesta. Jag ville installera Audacity via den inbyggda applikationsbutiken Software och fick bara till svar att det inte fungerade. En del applikationer som tidigare fanns i applikationsbutiken i Fedora 30 är borta i Fedora 31, och nu får man installera den via Flathub istället som man lägger till som en mjukvarukatalog i Fedora 31. Det är inte svårt att göra, men informationen om att Flathub finns och vad som där erbjuds nämns inte någonstans i Fedora 31 utan det upptäcker man först när man börjar söka på hur man enklast installerar Spotify eller Skype (den sistnämnda är för övrigt väldigt trasig i Linux överlag just nu, inte enbart i Fedora).

    Ett annat exempel är kopplingen till ditt Microsoft-konto. Att det ens finns en koppling är givetvis imponerande bara det, men Microsoft erbjuder ju betydligt fler tjänster än detta genom sitt konto? Onedrive är ett exempel, ett annat är att du också loggar in till Skype via detta konto men det är något som varken Skype eller Red Hat tar någon hänsyn till, åtminstone inte just nu.

    #De fyra olika gränssnitten#

    Ett större problem är också hur lite hänsyn externa utvecklare tar till hur Gnome ser ut och fungerar. Jag tänkte ta och visa några exempel på detta.

    Här är mitt första exempel - bildvisaren Photos som jag nämnde tidigare. Här består menyn av en enda knapp, en så kallad Hamburgermeny. Det är i sig ett helt acceptabelt sätt att hantera menyfunktionen om detta hade varit det som gällde och som alla använde sig av. Så är tyvärr inte fallet.

    Här har vi webbläsaren Firefox, som är standardwebbläsaren i Fedora 31. Inget fel med det - Firefox är sannolikt den bästa webbläsaren på marknaden numera. Även här har vi en Hamburgermeny men den är placerad på ett annorlunda ställe jämfört med Gnomes egna applikation, och till saken hör givetvis också att Firefox ser likadant ut på alla plattformar så Hamburgermenyn är ett lyckligt sammanträffande, inget annat.

    Här har vi applikationen jag skriver dessa bloggtexter i: Quilter. Det är på många sätt en ganska usel applikation utan automatisk sparfunktion (eller någon vettig sparfunktion över huvudtaget - ska man spara en text under pågående arbete måste den sparas som en ny text varje gång och samtidigt skriva över den gamla texten) men den får duga så länge. Här har vi en Hamburgermeny till höger, finfint, men här är också applikationens egna namn med i menyraden. Nästa exempel kommer visa varför detta blir både problematiskt och fult.

    Exempel nummero fem är den utmärkta, utsökta applikationen Shotwell som jag blivit riktigt förtjust i. Kanske på grund av att den liknar iPhoto till en viss del och det var iPhoto som tillsammans med Unix cementerade min kärlek till Mac OS X. Hur som haver, i bilden ovan ser ni att Shotwell dels har ett traditionellt menysystem i form av File, Edit, View och så vidare. Applikationens namn syns också i översta raden i applikationsfönstret men eftersom Gnome är Gnome finns det en meny till och det är i statusraden i själva Gnome där Shotwell (och alla andra applikationer du kör) kommer visas, dock endast en i taget, kanske för att indikera för användaren vilken applikation du kör… som om det inte vore tydligt nog genom att titta på själva applikationen?

    Ska Gnome fungera riktigt bra med sin fönster- och applikationshantering bör alla som utvecklar applikationer för Gnome titta på den enklaste av applikationer: filhanteraren. I bilden ovan ser du hur den fungerar perfekt i Gnome - namnet på applikationen (Files) står i Gnomes egna menyrad, menyn för själva applikationen kunde faktiskt också ha funnits där men nu finns den i en Hamburgermeny i själva applikationsfönstret istället och det fungerar det också.

    Detta är således några områden som Fedora kan bli bättre på: en mer stringent hantering av hur applikationer ser ut och fungerar, ett bättre “välkomnande” av nya användare som efter en riktigt bra installationsprocess nästintill kastas i ett badkar med iskallt vatten. Visst - ska man köra Linux på skrivbordet så får man kanske räkna med att en viss smärttröskel måste passeras men för mig som använt Fedora flitigt genom åren tycker fortfarande att en del saker kunde bli betydligt enklare att hantera.

    Jag vill att Fedora ska lyckas, för jag trivs så oerhört bra i den här plattformen i övrigt.

  • Den perfekta Markdown-editorn för Fedora

    I min förra bloggpost nämde jag att jag hade problem med den editor för Markdown, Quilter, som jag hittat. Den hade visserligen en bra funktion, en “fusklapp” för vanliga Markdown-formatteringar som jag tyckte var nyttig men den byggde på att man startade ett nytt dokument varje gång man sparade.

    Generellt sett kan man lita på de recensioner en applikation fått i applikationsbutiken för Fedora. Marker, Ghostwriter och Uberwriter är alla bra alternativ, medan Atom (som kombinerar ett oerhört polerat användargränssnitt med en minneshunger som heter duga, tack vare det faktum att det är en Elektron-applikation…) och Quilter snabbt föll bort. Den sistnämnda av anledningarna jag angav ovan och Atom för det enkla faktum att den inte har automatiska radbrytningar när du skriver. Till Atoms försvar ska sägas att det främst är en editor för kodutveckling och inte för bloggande men det är i övrigt en kompetent Markdown-editor.

    Den editor jag till slut föll för heter Mark Text. Namnet är kanske inte det vackraste men det är en kraftfull men ändå enkel editor för dig som vill skriva texter i Markdown på Linux. Den integrerar snyggt med Gnome och har en hel del trevliga funktioner. En hel del Markdown-funktioner kan kommas åt via menyerna och man kan också, hör och häpna, snabbspara sina Markdown-texter genom att trycka ctrl-s. Se och lär, Quilter.

    Som så många andra applikationer så kostar denna gratis. Jag rekommenderar den varmt.

  • Så installerar du Jekyll i Fedora 31

    Världen som Linuxanvändare blir inte enklare ju längre tiden går, snarare tvärt-om. Istället för att ha en gemensam plats för Linuxanvändare som kör Gnome att installera sina applikationer finns det givetvis två. Minst.
    Tidigare kunde man som Fedora-användare installera programpaket med hjälp av Snap där applikationer som inte hanterades av Fedoras inbyggda mjukvarubutik. Med Fedora 31 försvann detta och istället använder vi oss numera av Flathub. Det finns, givetvis, inga instruktioner om detta faktum i Fedora när man installerat det utan det upptäcker man först när man vill installera exempelvis Skype eller Atom.
    Ett annat problem är att installera bloggmotorn Jekyll. I tidigare version av Fedora var detta relativt enkelt men något har hänt (fråga mig inte vad). Hur som haver är det inte bara att installera Ruby och sen smacka in Jekyll ovanpå det, det krävs en del paket för att det ska fungera.
    Börja med att installera dessa paket: sudo dnf install ruby-devel make gcc g++ -y sudo dnf install redhat-rpm-config -y

    Därefter kan du installera Jekyll: gem install bundler jekyll Nu kan du sätta igång och blogga med Jekyll i Fedora 31. Precis som jag gjort med den här lilla texten.

  • Den öppna webben är värd att försvara

    En gång i tiden var webben öppen. Portaler krävde inga användarnamn för att man skulle kunna delta och det mesta var tillgängligt på ett eller annat sätt. Webben var på sätt och vis marknadsavdelningens förlängda arm, men givetvis tog det inte många år förrän det fanns företag som ville tjäna pengar på webbens användare. Facebook, Google och Twitter är några av dem. Givetvis kräver en plattform som Facebook eller Twitter användarkonton, det är inga konstigheter. Vad som däremot har gnagt i mig allt mer är vad de gör med all data de samlar in om sina medlemmar.

    Som jag tidigare nämnt så är jag inte medlem på Facebook sedan ett antal år tillbaka, och min aktivitet på Twitter är betydligt lägre än vad den var för några år sedan. Konkurrenter till Facebook finns det inte så många av, även om Diaspora ser väldigt intressant ut, men alternativ till Twitter har sannolikt inte saknats. App.net var en personlig favorit som efter en oerhörd hype och initiala framgångar tappade luften, mycket beroende på att det kostade pengar att vara medlem där. Å andra sidan slapp man alla former av reklam men efter något år var plattformen i princip bortglömd.

    App.net var “det fria alternativet” i form av att man slapp annonser och att bli övervakad, men det var inte ett öppet alternativ. Jag började fundera på om det inte fanns öppna alternativ och i samma veva klev min poddkollega Fredrik in i leken, drämde näven i bordet och pekade mig mot Mastodon. Om du inte vet vad Mastodon är för något rekommenderas att du läser denna och därefter denna artikel som förklarar allt i väldigt bra detalj. Vill du ha den snabba summeringen? Ok, här kommer den.

    Vad är Mastodon

    Mastodon är ett decentraliserat nätverk för textbaserad kommunikation. Som Twitter, exempelvis, men istället kan vem som helst köra en egen Mastodon-server, eller instans som det kallas, och sedan synkronisera data med alla andra Mastodon-servrar. Jag kan exempelvis från mitt konto, joacim@mastodon.fidonet.io prata med Fredrik på hans Mastodon-konto, fredrik@mastodon.social. Det som är efter @-tecknet är alltså namnet och länken till servern. Det betyder att det kan finnas en joacim@bsd.network, joacim@mastodon.social eller joacim@drickkaffe.se, de ändå kommunicera med varandra genom den federering som sker mellan de olika instanserna. Allt detta betyder att Mastodon är allt som Twitter inte är i form av en öppen plattform som är helt decentraliserad och dessutom annonsfri.
    Jag bestämde mig snart för att sätta upp en Mastodon-instans på egen server. Det var lite meckigt och jag hade gravt underskattat hur mycket diskyta både databas och lagring av exempelvis bilder krävde men det löste sig. Nu har jag en egen Mastodon-instans som flera andra också använder. Jag har ingen aning om vilka de är eller vad de pratar om (jag följer dem inte aktivt men om jag vill kan jag givetvis bara titta i deras flöde som vilken besökare som helst) och det spelar faktiskt ingen roll för mig - jag känner att jag är med och bidrar till något större och det känns ju hur fint som helst.
    Det andra projektet påbörjades igår kväll och blev i det närmaste klart idag. Det är en chattserver baserad på ett projekt som heter Matrix från Mozilla-projektet. Även här handlar det om ett totalt decentraliserat nätverk med servrar som kommunicerar med varandra genom federering. I mitt fall handlade det dock inte om att starta en chattserver för kreti och pleti att använda utan istället var jag ute efter ett alternativ till Discord som vi använt som chattkanal för min och Fredriks podd, Björeman // Melin. Flera av våra lyssnare hade i princip krävt att vi dumpade Discord eftersom företaget har en del fuffens för sig, exempelvis håller koll på vilka applikationer man igång på sin dator, och en rad ganska tveksamma saker i deras användaravtal där företaget bakom Discord säger rakt ut att de inte bara kan använda all information de samlar in från min dator till vad de vill utan också att de kanske kommer att sälja delar av eller hela sitt bolag, eller “tillgångar” inom bolaget och att denna information i så fall kommer vara en del av den affären. Du har ingenting att säga till om i det läget vilket är ganka oroande och för mig störande.
    Så jag satte upp en Matrix-server hemma. Inte heller helt trivialt men det gick vägen och nu hr en rad av våra lyssnare redan blivit medlemmar och aktiviteten är god vilket är superkul. Matrix har en klient som heter Riot som finns för iOS, Android, Mac, Linux och Windows och givetvis är den gratis. Vad är då grejen med att köra dessa servrar själv? Först och främst stödjer jag vad man ibland kallar för den öppna webben - en värld där tjänster på Internet är decentraliserade och avkommersialiserade och där ingen får för sig att försöka tjäna pengar på dina chattmeddelanden, oavsett om det är via ett chattrum eller via en Twitter-liknande tjänst.

    All kommunikation sker via öppna, standardiserade protokoll och vill man skriva någon form av plugins eller annat för Mastodon eller Matrix så är det bara att sätta igång - alla api:er och annat är öppna och publicerade.

    Givetvis varken kan eller ska vem som helst göra vad jag gjort. Det tar tid, resurser och kraft i anspråk och det är långt ifrån alla som tycker det är så oerhört roligt att hålla på med sånt här. Däremot kan man dra nytta av tjänster som dessa och regga ett konto på exempelvis Mastodon och kommunicera med andra och därmed hjälpa till med att utveckla plattformen som helhet. Vem vet - snart kanske du inser att du inte längre behöver se några annonser och när du väl insett det så blir resan tillbaka till Twitter betydligt längre.

    Mer nyfiken på Mastodon? Kolla in denna lilla film:



CC BY-NC-SA 4.0