Joakim Melin

Detta är (fortfarande) inte roligt längre

Något är ruttet på Internet.

Eller snarare: allt mer känns numera ruttet på Internet. Sökmotorerna översvämmas med “AI-genererat material, en bildsökning kan lika gärna presentera resultat som spottats fram ur en “AI”-baserad bildgenerering framför att det är en riktig bild, och varenda större företag med en kundtjänst värd namnet sitter nu och filar på hur de ska kunna ersätta ännu fler anställda med system baserat på “AI”. Den automatiserade chattbotten som dök upp för 3-4 år sen var bara början, tro mig.

Vad baseras då denna uppgivenhet hos undertecknad på? En 50-årskris? Old man yells at cloud? Jag vet inte. Det jag däremot vet är att jag blivit mer och mer less - inte på datorer, nätverk och sådant, utan på det som erbjuds via internet. “Contentutmattning” kanske är ett bra uttryck?

Automatiserade bluffannonser som försöker lura oss att klicka på dem - fejkade reklamfilmer med datorgenererade röster för allt från Bitcoin till luftrenare som finns före massor av filmklipp på Youtube blandat med “influensers” som säljer precis vad som helst för några tusenlappar och gör allt för att runda lagar och regler. Ni hajar.

I november 2019 skrev jag en text på denna blogg vid namn “Detta är inte roligt längre” där jag konstaterar att jag lade mer och mer tid på att städa upp i mitt “digitala liv”:

Hur mycket tid lägger du på att hålla ordning på ditt “digitala” liv? Hur många timmar i veckan sitter du och raderar spambrev, analyserar konstiga SMS, håller koll på dina lösenord, sätter upp två-faktorautentiseringar mot de tjänster du använder oftast, oroar dig för om du kan installera en viss applikation i din telefon eller dator och, givetvis, tar emot samtal från släkt och vänner som behöver din hjälp när de skickats till en webbsida som meddelat att deras dator har virus?

Massor, gissar jag.

Det här är inte roligt längre. Det är inte roligt när det datorföretag man haft störst förtroende för, i mitt fall Apple, inte ens klarar av att släppa nya versioner av sina operativsystem utan att ställa till det, det är verkligen inte kul att känna att man hela tiden är på gränsen att bli lurad av webbsajter och tjänster man investerat tid, pengar eller både-och i.

Redan då började vi se tecknen på var vi är idag: webbsajter, sociala medier och andra kanaler gör allt för att tjäna pengar på dig. I princip allt handlar om att konvertera varenda länk du klickar på, eller varenda text du läser (eller skriver) till en enda sak: intäkter. Innehållet har i många fall inte längre något värde i sig - det handlar bara om att få dig att besöka en viss webbsida, inget annat, och finns det ett verktyg som med några få parametrar kan generera hundratals webbsidor med material som vid en första anblick ser trovärdigt ut så räcker det. Låt gå att du aldrig kommer besöka den webbsidan igen när du inser att den är fylld med trams, det finns tusentals andra webbsidor du kommer luras till härnäst.

Det verktyget kallas “AI”.

AI -> aj

I slutet på 2023 avslöjades att en av giganterna inom amerikanska medier, Sports Illustrated, hade publicerat massor med av artiklar skrivna av en skribent vid namn Drew Ortiz. Problemet var att Drew Ortiz inte existerar:

Ortiz isn’t the only AI-generated author published by Sports Illustrated, according to a person involved with the creation of the content who asked to be kept anonymous to protect them from professional repercussions. “There’s a lot,” they told us of the fake authors. “I was like, what are they? This is ridiculous. This person does not exist.”

Problemet är, inte helt överraskande, att texterna genereras av vad som populärt kallas “artificiell intelligens”, eller AI:

The AI authors’ writing often sounds like it was written by an alien; one Ortiz article, for instance, warns that volleyball “can be a little tricky to get into, especially without an actual ball to practice with.”

Internet svämmar över med “AI”-genererat material numera. Massor med bilder som vid en första anblick kan se realistiska ut men som vid en närmare anblick visar sig har något fel i sig. Det är inte alltid man kan sätta fingret på det, det är något som skaver, men i andra fall så kan en “bild” på en människa visa att motivet har sju fingrar på ena handen, eller som i exemplet nedan, en hand som man direkt ser inte är korrekt:

creepy ai photo

Å ena sidan är det ju rätt komiskt. Åtminstone i detta kontext. Men å andra sidan kan det bli väldigt fel, eller till och med farligt om det inträffar i fel situation. Det är dock inte enbart bildmaterial som fejkas fram med “AI” - Googles sökindex är i princip översvämmat med “AI”-genererat material. MIT Technology Review varnade redan i slutet på år 2022 för detta och summerade detta fenomen i ett passande uttryck: A snowball of bullshit:

But there is a more serious long-term implication. We may be witnessing, in real time, the birth of a snowball of bullshit.

Large language models are trained on data sets that are built by scraping the internet for text, including all the toxic, silly, false, malicious things humans have written online. The finished AI models regurgitate these falsehoods as fact, and their output is spread everywhere online. Tech companies scrape the internet again, scooping up AI-written text that they use to train bigger, more convincing models, which humans can use to generate even more nonsense before it is scraped again and again, ad nauseam.

Att utlova guld och gröna skogar genom “AI” är i skrivande stund den senaste, glödheta hypen. Allt ska lösas med “AI”, och alla är “AI”-experter. Men påstå att det vi har nu är artificiell intelligens är inte bara att överdriva, det är en extrem lögn.

Maskininlärning, det vill säga där en maskin lär sig att känna igen återkommande händelser och beteenden och sedan agera utifrån detta, är något jag gillar. Apple gör det exempelvis i din iPhone: den märker vilken tid du går och lägger dig varje kväll genom att dels se när du kopplar in telefonen på laddning, dels när den slutar röra sig och dels när du tar av dig din Apple Watch, för att ta två exempel. När du gjort det tillräckligt många gånger så kan den räkna ut när du går och lägger dig, och genom det när du kliver upp på morgonen och utifrån detta optimera när den ska ladda batteriet i din telefon och klocka för att sluta så lite som möjligt på batterierna i respektive enhet.

Detta är ett i mitt tycke ett bra sätt att låta en maskin studera mitt beteende och dra slutsatser från detta inom väldigt begränsade ramar.

Noam Chomsky, Ian Roberts och Jeffrey Watumull skrev en debattartikel i New York Times den 8 mars 2023 som var rätt läsvärd:

The human mind is not, like ChatGPT and its ilk, a lumbering statistical engine for pattern matching, gorging on hundreds of terabytes of data and extrapolating the most like conversational response or most probably answer to a scientific question. On the contrary, the human mund is a surprisingly efficient and even elegant system that operates with small amounts of information; it seeks not to infer brute correlations aming data points but to create explanations

Let’s stop calling it “Artificial Intelligence” then and call it for what is is and makes: “plagiarism software” because it doesn’t create anything but copies existing works, of exisisting artists, modifying them enough to escape copyright laws.

Problemet med “AI” är att det enligt rådande trend ska appliceras på precis vad som helst, i vilka situationer som helst, och utifrån en begränsad (men ständigt växande) inlärningsmodell som baseras på att skrapa information från i princip vilka informationskällor som helst, ska “AI”-modellen lära sig att fatta beslut. Man kan givetvis hävda att om beslutet blir felaktigt så är det på grund av att materialet den lärt sig av är felaktigt, men vad händer om “AI”-modellen appliceras på att ta fram information för att underlätta mänskliga beslut?

AI Sweden arbetar på att ta fram modeller som exempelvis ska hjälpa till att spara pengar inom vården:

AI Sweden, som till största delen finansieras av staten, ska tillsammans med olika myndigheter, kommuner och regioner, ta fram en ”AI-assistent” för att effektivisera arbetet för exempelvis vårdpersonal och lärare, som idag lägger mycket tid på administrativt arbete.

– Det handlar om att snabbspola tråkiga administrativa uppgifter, säger Iwona Carlsson, digitaliseringschef i Kungsbacka, som är bland de första kommunerna att testa tekniken.

Hon tar undersköterskor som ett exempel.

– När de är hemma hos någon och på distans ska leta efter rutinbeskrivningar i olika system, det tar idag väldigt mycket tid. Vi tänker att AI-assistenten ska göra det jobbet för att frigöra tid.

En stressad undersköterska kanske inte hinner med att fundera igenom huruvida rutiner och instruktioner som en maskin ger denne faktiskt är korrekta eller inte. Vilka rutiner rör det sig om framgår inte av artikeln men det skulle inte förvåna mig om vi inom några år ser rapporter om dödsfall i vården för att exempelvis feldoceringar av mediciner gjorts på grund av “AI”.

Vad sägs om att satsa pengar på vården genom att anställa fler sjuksköterskor, undersköterskor och läkare?

Inom den offentliga sektorn pågår också diskussioner och funderingar runt om denna nya teknik går att använda, och i sådana fall hur. Ekonomistyrningsverket kör på redan nu:

I fall där myndigheten tidigare tvingades göra urval, eftersom arbetet annars blev för tidskrävande, har AI-verktygen möjliggjort totalundersökningar, exempelvis vid analys av samtliga regleringsbrev eller tusentals remissvar.

Gott så - ChatGPT kan utgå från fakta men det farliga blir ju, åter igen, om man förväntar sig att programvaran ska dra slutsatser åt dig eller presentera dig med ett beslutsunderlag som du blint lyder utan att tänka efter huruvida det stämmer eller inte.

Gemini Ai foo

Debatten fortsätter, och under tiden fortsätter olika “AI-tjänster” att producera mer skit än jag tror någon orkar med att ens ta in. Det är helt enkelt kul tills det inte är det längre, men då kan det också vara för sent.

Så, för att upprepa det jag skrev 2019: detta är inte roligt längre. Jag har i denna text försökt beskriva en sorts matthet som sköljer över en när man försöker få någon sorts grepp om vad som händer på Internet anno 2024. Vi måste vara på vår vakt mer och mer för att vara säkra på att den information vi tar till oss via Internet faktiskt är äkta, för snart finns det ingen som helst garanti att en text, en bild eller ett filmklipp faktiskt är äkta.

Kanske är det bra att vi tvingas bli mer medvetna, men en människa orkar bara så mycket innan man på något sätt ger upp och bara accepterar sitt öde. Alternativet är, antar jag, att avskärma sig från det allt växande flödet av fejkat material vars enda värde består av att försöka få dig att klicka på det så du potentiellt kan luras på ännu mer pengar.

50

Undertecknad anno år 2002 och år 2023 Undertecknad anno år 2002 på Datormagazins redaktion, och hösten 2023 på en tjänsteresa till Malå

Då var man där till slut. 50 år gammal.

Nej, det är inte som att livet är slut. Långt därifrån. Istället är det dags för bokslut på vad som förhoppningsvis är första halvan av mitt liv. Se tillbaka, fundera och reflektera. Något händer i den här åldern, åtminstone för mig. Tiden går snabbare, men det känns också som att jag tillåter mig själv att ta mig tid till att fundera igenom saker mer. Det känns bra.

Blev mitt liv så här långt som jag förväntat mig eller åtminstone kanske vågat hoppas på? Nej, inte alls. Inte i närheten. Det faktiskt bättre på de flesta sätt, sämre på ett par få. Men vägen till den punkt där jag är nu har varit lång och inte alltid särskilt enkel. Det har kostat på, som man brukar säga. Men det har varit värt det.

En del personer är oerhört upptagna med att definiera sig själva utifrån sina synbara framgångar: en stilig partner, en vältränad kropp, ett fantastiskt hus, spännande jobb, dyra bilar på uppfarten, och så vidare. Jag antar att jag har åldern att tacka för en ökad “visdom” när det gäller detta. Jag bryr mig inte längre om vad jag har för prylar, om min bil är cool i andras ögon, om jag har kläder med “rätt” märken, och så vidare. Det intresserar mig inte. Om jag är nöjd så räcker det för mig.

Ibland kan jag önska att jag hade haft energi till att plugga på universitet. Att jag hade fått göra lumpen. Att jag lärt mig spela trummor ordentligt. Att jag hade lärt mig programmera. Jag hade velat lära mig montera in en vedspis och skorsten på egen hand, blanda och gjuta betong, bygga mitt egna lilla hem på egen mark uppe i norrland, renovera en Jeep Cherokee, ta jaktlicens, bli mer vältränad och orka springa en liten bit utan att det känns som bröstkorgen ska explodera. Det finns ännu massor med tid till att testa nya grejer och skaffa nya kunskaper. Livet är ju inte slut på något sätt utan detta är ett nytt kapitel i det.

Jag har varit med och sätta fyra underbara barn till världen, varit gift två gånger med underbara och intelligenta kvinnor vilka jag är vän med än idag. Jag lägger mycket av min energi på mina fyra barn, två som står med ena foten i tonåren och två som är vuxna och utflugna. Om det är något jag vill bli ihågkommen för så är det mina barn. Inget annat spelar någon roll.

Jag ägnar mig åt min familj och mina vänner, en liten podd med två vänner jag är med i varje vecka, och åt jobbet för att jag tycker det är stimulerande, intressant och förbaskat roligt tack vare mina fantastiska kollegor. Jag är med mina två yngsta barn när de är hos mig varannan vecka. Jag städar, tvättar, handlar mat. tar hand om disken, lagar mat och bakar, läser och ser på hockey på tv. Resten av tiden är jag ensam.

Det är precis lagom, och det är okej.

Dags för OPNSense och snabbare router

För drygt två år sedan köpte jag en router, en Atom N2600-baserad produkt med fyra gigabit ethernet-anslutningar. Målet var att bygga en helt fläktlös router som skulle placeras i mitt vardagsrum i min nya lägenhet där jag inte bara tittade på teve utan också jobbade hela dagarna. Om det är något jag absolut hatar så är det just fläktljud, nämligen. Den här routern, som inte länge verkar finnas att köpa på AliExpress där jag köpte min, levererades med en strömadapter, en Intel Atom N2600-processor, två gigabyte internminne och en SSD på 16 gigabyte - med andra ord perfekt för att köra PFsense på, i synnerhet med tanke på att min dåvarande internetanslutning från Ownit låg på 250/250Mbit.

Spola framåt två år så har jag numera en gigabit-anslutning till Internet. Barnens spelande och mitt hemarbete gör att min 250Mbit/s internetanslutning ibland inte orkade med. Routern hade också fått en del problem med att orka med att jag körde en statisk IPSEC VPN-anslutning till mina servrar i Finland. Att köra routern utan en fläkt funkade, förutsatt att man tog av locket på den men även då blev den varm - det var sällan temperaturen låg på under 60 grader. Spiken i kistan kom när jag uppgraderade min internetanslutning till 1Gbit.

Min gamla router orkade helt enkelt inte med att skyffla de hastigheter jag hade möjlighet till så jag skaffade en Dream Router från Unifi istället. Dream Routern har en galet snygg design som inte står Apple långt efter, verkligen många trevliga funktioner och detta blandat ett trevligt administrativt gränsnitt. Att sätta upp VPN via IPSEC till mina servrar i Finland var verkligen inte enkelt (läs: jag lyckades inte få det att fungera) och Dream Routern hade utöver detta två problem: den orkade inte med mer än 600-700Mbit/s i respektive riktning (vilket jag visste om) och den hade en inbyggd fläkt som, när det blev varmt i mitt vardagsrum under sommarhalvåret, började låta konstant. Jag gillar som bekant inte fläktar. Jag testade att slå av funktioner i Dream Routern för att på så sätt minska på systembelastningen, men det hjälpte inte. Jag började göra resarch och det fanns de som hittat metoder att styra fläktens styrkrets genom allehanda script men det fungerade inte med den firmware-version jag körde då. Det fanns heller inget sätt att ställa in att Dream Routerns fläkt skulle snurra med ett konstant varvtal utan istället växlade detta upp och ned var tionde sekund. Galet irriterande.

Att Dream Router själv tyckte sig klara av över 900Mbit/s (se bild ovan) var ju trevligt men det var innan den inbyggda pakethanteringen med brandvägg och annat drogs igång:

Kort sagt: Dream Router har inte en tillräckligt kraftfull CPU för att hantera datatrafik i den hastigheten och den har nu blivit en ganska dyr accesspunkt för mitt wifi-6-nätverk hemma.

Jag återvände därför till tanken på att köra PFSense. Denna tanke växte sedan till att byta ut PFsense mot OPNSense. I november inföll Black Friday, Cyber Week och allt vad det nu hette och med det rätt intressanta priser på allehanda saker hos allehanda återförsäljare och ett så-kallat köpläge infann sig.

Den nya routern

Vad är det då jag köpt? Den här modellen kan finnas under olika namn, min heter J4125 Industrial PC, med lätt varierande utseende men i grund och botten är det samma grejer. Den kan köpas med en rad olika konfigurationsmöjligheter, från inget internminne och ingen lagring till 16 gigabyte internminne och 512 gigabyte SSD-baserad lagring. Jag valde det billigaste: åtta gigabyte internminne och 128 gigabyte lagring. Jag valde också att köpa den billigaste processorn, en Intel N4000 Celeron-baserad dito och fyra 2,5Gbit nätverksportar. Köpet gjordes den 28:e november 2023 och idag, den 2:a januari 2024, kom paketet till min dörr från en snäll brevbärare på Postnord. Ingen tullavgift krävdes eftersom AliExpress tycks skicka paketen till Tyskland eller Holland och där packa om dem och sedan skicka dem till Sverige, vilket sannolikt fördröjde leveransen av paketet en vecka eller så (utlovat leveransdatum var för övrigt den 24/12 2023…).

Till skillnad från andra inköp som ibland kan komma från höften när undertecknad får för sig att köpa saker så gjorde jag rejält med research innan jag tryckte på “köp”-knappen den här gången. Det lästes på, det sågs på Youtube-filmer och slutligen så kom jag fram till att detta var ett vettigt köp. Det enda som kunde vara ett problem då, men som inte längre är det, var att PFsense inte stödde de 2,5Gbit-nätverkskort som sitter i denna brandvägg då PFsense tidigare kördes på en äldre version av FreeBSD. I och med PFsense version 2.7 så är detta inte ett problem längre men jag tänkte att jag ändå skulle byta operativsystem i min router till OPNSense så jag gjorde just det.

Tack vare att OPNSense och PFsense är hyfsat lika varandra tog det inte lång tid för mig att mata in alla inställningar i OPNSense från PFsense och sedan gjordes bytet. Det var klart på någon minut och min nya router är igång.

Hur kan man då jämföra de två routrarna, utöver det faktum att den nya dito är just nyare?

CPU temp. CPU-last Hastighet upp, BBK Hastighet ned, BBK Hastighet upp, ST Hastighet ned, ST
Gammal router 59 grader 40% 567 Mbit/s 492 Mbit/s 593 Mbit/s 518 Mbit/s
Ny router 34 grader 10% 923 Mbit/s 949 MBit/s 940 Mbit/s 939 Mbit/s

BBK = Bredbandskollen. ST = Speedtest.net

Värt att notera när det gäller CPU-temperaturen: på den nya routern kör jag exakt samma regler för NAT, portforward och så vidare, samma IPSEC-konfiguration, samma tjänster (DHCP-server på tre nät, agentmjukvara för Zabbix och en plugin för dynamisk DNS). Som bonus kan jag köra den nya routern med locket på, vilket ju är trevligt då routern inte behöver dammsugas regelbundet.

Den router jag nu bytt till kostade 1631 kronor inklusive frakt hos AliExpress, medan den ursprungliga routern för två år sedan kostade 1545 kronor inklusive frakt hos samma återförsäljare. För 1631 kronor är denna router ett fynd, om man åsidosätter dess ganska fula utseende. Huruvida den skulle orka med snabbare anslutningar till Internet än 1Gbit/s låter jag vara osagt. Köper du en kan det vara bra att veta att återförsäljaren förinstallerar PFsense på SSD-disken (om du köper till en sådan) och du gör rätt i att radera denna installation omedelbums och börja om från början, oavsett vilket operativsystem du avser köra på denna lilla dator i framtiden.

Så fungerar min BBS

Detta är en bloggpost som få, om ens några, kan ha något som helst intresse av att läsa. Det handlar om min BBS och hur den är uppkopplad till Internet, till Usenet och till Fidonet. Bland annat.

Jag skriver detta mest för mig själv så jag kommer ihåg hur allt detta hänger ihop nästa gång något rasar, men vill du hänga med på årets kanske djupaste navelskådning inom teknik som uppfanns för ~30 år sedan, och som fortfarande går att använda, så är du välkommen.

Jag startade min första BBS i början på 90-talet. Jag sålde min Amiga 500 och köpte en 286:a på tolv eller 16 megahertz (beroende på om turboknappen var intryckt eller inte), fyra megabyte internminne och en ATA-hårddisk på 44 megabyte (ATA var en tidig version av IDE).

Faksimil ur Datormagazin nummer 11, 1991

Tanken var att spara pengar och köpa en Amiga igen men Commodore hann gå i konkurs så det blev inget med den saken. Min BBS gick igenom en rad olika BBS-system eftersom jag, givetvis, inte kunde bestämma mig men till slut så landade jag med systemet Mikrokom, skrivet av Carl Sundbom som också drev BBS:en Chaos.

Drömmen var givetvis att kunna köra en riktigt stor BBS, som Söderkom som drevs med Sklaffkom och hade tre telefonlinjer. Jag testade faktiskt att köra min BBS på just Sklaffkom i mitten på 90-talet men det var väldigt “sklaffigt” och fungerade inget vidare med Linux så jag gav upp BBS-drömmen…. fram till 2015 då jag faktiskt hade köpt en Amiga 1200 ett tiotal år tidigare och bestämt mig för att köra en BBS igen. Inte byggd på Sklaffkom, vilket kanske hade varit enklare, utan på ett system vid namn NiKom.

Mina döttrar inspekterar min Amiga 1200 cirka 2004. Undertecknad övervakar.

Att ha en modemlina till sin BBS var passé vid den tidpunkten, och det var kanske också att ha en BBS men jag tänkte att det kunde vara kul att testa så ett par inköp senare så hade jag nätverkskort, hårddisk och annat roligt till min Amiga 1200.

I slutet på 80-talet och början på 90-talet hette min BBS “New Detroit”, efter staden de skulle ersätta gamla Detroit med i filmen Robocop. Men när jag döpte min BBS då så hade jag ju missuppfattat ett och annat - det var ju “Delta City” staden skulle heta och jag tänkte att jag skulle ta tillfället i akt och rätta till det så min BBS fick denna gång heta Delta City.

Fidonet

Det mesta avlöpte ganska bra tills jag bestämde mig för att koppla upp den till Fidonet. Jo, Fidonet existerar faktiskt fortfarande, och även om jag inte var medveten om i hur dåligt skick nätverket var, och är, så gav jag mig den på att ansluta min BBS. Detta visade sig dock vara en aning mer komplicerat än när jag höll på med det 25 år tidigare, och då tänker jag inte ens gå in på hur bökigt det var att ens ett nodnummer i Fidonet registrerat.

Kommunikationen mellan noderna i nätverket gick över Internet, och även om NiKom i sig hade ett riktigt bra stöd för just Fidonet och andra nätverk baserat på samma teknik som Fidonet så behövdes fler programvaror, som en “mailer” och en “tosser”.

I fallet “mailer” så fanns det bara ett alternativ: Binkd. Namnet kan låta bekant för de som var med på BBS-tiden under 80- och 90-talet: det fanns nämligen en mailer kallad Binkleyterm som delar av Binkd baseras på. Binkd är byggt för att köras över Internet och har över 25 år på nacken men det fungerar faktiskt fortfarande utmärkt. det vill säga om du kör det på en PC med Windows eller Linux. Det finns också ett antal porteringar av Binkd till Amigan men de fungerade riktigt dåligt och tenderade att krascha hela datorn lite då och då.

Sagt och gjort - jag satte upp en virtuell Linux-maskin som fick köra Binkd, som fortfarande finns i Ubuntus apt-repo. Problemet löst? Nja - det behövs en “tosser” också. En tosser är programvaran som tar de paket med meddelanden som kommit in, packar upp dem och placerar dem på rätt ställe så BBS-mjukvaran sedan kan importera dem.

Men, BBS:en körs ju på en Amiga, kanske ni tänker? Jajjemen - så jag installerade en NFS-mjukvara på min Amiga 1200 och vips så kunde den montera upp en katalog utdelad via NFS för att komma åt meddelandefilerna, som hanterades av en alldeles lysande programvara kallad Crashmail (skriven av svensken Johan Billing, för övrigt). Mer om det strax.

Big endian och little endian

Samtidigt uppstod problem med att låta Crashmail på min Amiga importera och exportera meddelandefiler till den via NFS utdelade katalogen (vilket berodde på att nätverksstacken på Amigan och NFS-implementationen gjorde i byxan när det handlade om större mängder filer) så jag snokade reda på en Linuxversion av Crashmail kallad Crashmail II (som fortfarande finns i bland annat Ubuntu:s apt-repo) och lät den skyffla alla meddelandefiler till rätt plats.

Efter en rejäl inlärningskurva så kunde man tro att problemet var löst? Nja, inte riktigt. Problemet låg i det som brukar kallas “big endian” och “little endian”, (väldigt) enkelt uttryckt i vilken ordning datorer skriver innehåll till minnet, och inte har någonting (mig veterligen) med den amerikanska urbefolkningen att göra. I NiKoms fall handlade det om att 16-bitarsvärden i meddelandefiler baserade på Fidonet-tekniken (.msg-formatet) skrevs i big endian, vilket fungerade bra med Amiga-baserade tossers som Crashmail, medan det i x86-världen användes little endian.

I version 2.1.2 av NiKom fixade Niklas Lindholm problemet med de två endianerna och vips så kunde jag använda Binkd och Crashmail II på Linux och NiKom på min Amiga 1200.

Fler nätverk

Snart upptäckte jag att det fanns fler meddelandenätverk än Fidonet. Amiganet, SFnet, Retronet och FSXNet är några av dem, och till råga på allt så upptäckte jag också att jag ju via ett av dessa nätverk också få in hundratals newsgrupper från gamla Usenet. Då uppstod raskt nästa problem: att få Binkd och Crashmail II att acceptera dessa.

Crashmail II var förberett för att hantera flera olika nätverk. NiKom var det till viss gräns - det kunde hantera flera olika nätverk för vanliga meddelandefiler men för netmail, Fidonets motsvarighet till e-post, så var det en annan pilsner. Niklas Lindholm är dock inte den som är den utan löste problemet i version 2.5.0 av NiKom där man helt sonika kunde konfigurera BBS-programvaran så den kunde skriva utgående netmail till olika filkataloger beroende på vilket nätverk den skulle till. Man definierade först vilka nätverk BBS:en tillhör:

DOMAIN 1 FidoNet 2:221:242.0 1: 2: 3: 4: 5: 6:
DOMAIN 2 AmigaNet 39:160/242.0 39:
DOMAIN 3 FSXNet 21:2/130.0 21:

Därefter definierar man katalogerna för netmail beroende på nätverk:

MATRIXDIR=fido:netmailfido 1: 2: 3: 4: 5: 6: 
MATRIXDIR=fido:netmailamy 39:
MATRIXDIR=fido:netmailfsx 21:

Genialt utformat faktiskt.

I Crashmail II så skapade man motsvarande kataloger i konfigurationsfilen:

NETMAIL "NETMAIL" 2:221/242.0 MSG /fido/mail/netmailfido LATIN-1 DEFAULT
NETMAIL "NETMAIL_AMY" 39:160/242.0 MSG /fido/mail/netmailamy LATIN-1 DEFAULT
NETMAIL "NETMAIL_FSX" 21:2/130.0 MSG /fido/mail/netmailfsx LATIN-1 DEFAULT

Givetvis måste man också definiera nodnummer för de olika nätverken samt var utgående meddelanden ska routas. Detta beskrivs rätt bra i dokumentationen men för den som vill se exempel så ser det ut som följer. Först nodnumren:

NODE 2:221/1.0 "" "" PACKNETMAIL AUTOADD CRASH
NODE 2:221/242.0 "" "" AUTOADD
NODE 39:150/200.0 "" "" PACKNETMAIL AUTOADD CRASH
NODE 39:160/242.0 "" "" AUTOADD
NODE 21:2/100.0 "" "" PACKNETMAIL AUTOADD CRASH
NODE 21:2/130.0 "" "" AUTOADD

Exempelvis så är 2:221/1.0 min “hubb” för Fidonet, och jag måste även definiera mitt egna nodnummer, 2:221/242.0 för att Crashmail II ska ta emot paket till mitt egna system också.

Resten löser man med routingtabellen:

ROUTE 2:*/*.* 2:221/1.0 2:221/242.0
ROUTE 1:*/*.* 2:221/1.0 2:221/242.0
ROUTE 3:*/*.* 2:221/1.0 2:221/242.0
ROUTE 4:*/*.* 2:221/1.0 2:221/242.0
ROUTE 5:*/*.* 2:221/1.0 2:221/242.0
ROUTE 6:*/*.* 2:221/1.0 2:221/242.0
ROUTE 39:*/*.* 39:150/200.0 39:160/242.0
ROUTE 21:*/*.* 21:2/100.0 21:2/130.0

Här måste man tala om för Crashmail II att den också ska routa inkommande meddelanden till mitt egna system utöver var utgående meddelanden ska skickas.

Hur som haver - i Crashmail II så definierar man var all utgående post ska läggas med en enda rad:

OUTBOUND /fido/outbound/

Klart!

Det fungerar ju för bövelen fortfarande inte

Ser ju enkelt ut va? Det är det inte. För det fungerar inte.

Crashmail II kan importera meddelanden utan problem, men när samma programvara ska exportera ut meddelanden så skapar den två filer: en paketfil och en fil som talar om för Binkd vilka paketfiler som ska skickas. Den senare filen initierar Binkd som i sin tur då kopplar upp sig och skickar över meddelandefilerna till mottagande system över Internet. Paketet med meddelandefilerna hamnar där det ska, men filen som initierar överföringen, som egentligen ska hamna i /fido/outboundhamnar istället i exempelvis /fido/Fsxnet.015. Där tittar givetvis inte Binkd eftersom man sagt åt Binkd att alla utgående filer för alla nätverk man är medlem i ska ligga i /fido/outbound. Det är ju trots allt det mest logiska. Det är dock få saker som faktiskt är logiska i den här världen - låt mig förklara.

Det finns ett antal olika format, eller sätt, att definiera en adress i exempelvis Fidonet (det är samma sak som med standarder: det fina är att det finns så många av dem…): 3D, 4D och 5D. Crashmail II stödjer 4D, medan Binkd antar att man använder sig av 5D. I dokumentationen för Binkd finns följande att läsa:

 If your tosser would create bundles for omeganet in the omeganet
directory then you should write as indicated above. But since it does not
work with 5D and it creates the bundles in fidonet.00b then you should
write this way:

    domain fidonet c:\\ftn\\outbound\\fidonet 2
    domain omeganet c:\\ftn\\outbound\\fidonet 2
    address 2:5070/222@fidonet 11:58/6@omeganet

    It is obligatory to configure all your addresses with domains. The
outbound directory and the path should be the same everywhere (4D tosser
considers all addresses to belong to one domain).

Glasklart? Dokumentationen är, åtminstone delvis, skriven av ryssar som sedan översatt den till ganska knacklig engelska men den här delen är ju ganska tydlig kan man tycka. Istället för att skriva så här som jag initialt gjorde i binkd.cfg:

domain fidonet /fido/outbound 2
domain fido alias-for fidonet 
domain fidonet.org alias-for fidonet
domain amiganet /fido/outbound 39
domain fsxnet /fido/outbound 21

… så ska man skriva så här istället:

domain fidonet /fido/outbound 2
domain fido alias-for fidonet
domain fidonet.org alias-for fidonet
domain amiganet /fido/Amiganet 2
domain fsxnet /fido/Fsxnet 2

Det stora mysteriet är hur Binkd fattar att den ska titta i /fido/Fsxnet.015 när jag angett /fido/Fsxnet i konfigurationsfilen för Binkd, för det tog mig ett antal timmar att fatta att det är Crashmail som skapar /fido/Fsxnet.015-katalogen och placerar filen som initiererar överföringen däri och eftersom man inte kan ange just /fido/Fsxnet.015 i konfigurationsfilen för Binkd så blev förvirringen ännu större.

Sedan ett år eller så tillbaka så har Amiga-hårdvaran övergivits för en emulerad dito under Windows 10 och WinUAE. Det har fördelen att jag kan montera katalogen med alla meddelandefiler över Samba till min Unraid-maskin, och samma katalog är sedan utdelad via NFS till Linuxmaskinen som kör Crashmail II och Binkd.

Via ett litet fulhackat script av undertecknad körs uppdateringen av de Fido-baserade nätverken varannan minut. Var 15:e minut sker import och export av meddelanden medelst Crashmail II som startas av Crontab på Linuxservern:

*/15 * * * * /usr/bin/crashmail toss settings /etc/binkd/crashmail.prefs >/dev/null 2>&1
*/15 * * * * /usr/bin/crashmail scan settings /etc/binkd/crashmail.prefs >/dev/null 2>&1

Hur som helst - det var det hela. Nu kan jag, och även du om du vill, delta i Usenet-grupper via min BBS och njuta av ändlösa gräl, oerhört genomarbetade signaturer och allt annat som eventuellt gör livet lite mer värt att leva.

Ytterligare äventyr med Unraid

Min installation av Unraid har tuffat på i snart en månad utan större missöden. Det finns givetvis saker som kunde varit bättre, som exempelvis det faktum att om man vill ta bort en hårddisk ur systemet utan att ersätta den med en annan (rekommenderas inte om du saknar en paritetsdisk) så måste man blåsa hela konfigurationen och börja om från början igen med att mappa upp vilka diskar som gör vad. Lite bökigt men det går att leva med.

En sak som däremot har retat mig enormt är den oerhört usla skrivprestandan över SMB-protokollet från min Mac. Ja, det är sannolikt Apple och macOS som är skurken i detta lilla drama och inte Unraid, men jag satte mig ned och började pilla med det och efter en del testande (och sökande på interwebzen) så har jag en konfiguration som erbjuder betydligt bättre prestanda än tidigare.

Det första du ska göra är att stoppa din array. Därefter går du in i Settings -> SMB och i fältet för SMB EXTRASklistrar du in följande:

aio read size = 1
aio write size = 1
strict locking = No
use sendfile = No
server multi channel support = Yes
readdir_attr:aapl_rsize = no
readdir_attr:aapl_finder_info = no
readdir_attr:aapl_max_access = no
fruit:posix_rename = yes
fruit:metadata = stream

Gränssnittet kan lura dig i att tro att du endast kan lägga in en rad där men det går att pejsta in flera.

Därefter skapar du en fil på din Mac (jag kör macOS v14.1.2 “Sonoma” när detta skrivs) vid namn /etc/nsmb.conf (görs med exempelvis sudo nano /etc/nsmb.conf) och häller in följande:

# /etc/nsmb.conf - macOS 11.3+
#-----------------------------------------------------------------------------
# Additional information:
# -----------------------
# https://support.apple.com/de-de/HT211927
# https://support.apple.com/en-us/HT208209
# https://apple.stackexchange.com/questions/309016/smb-share-deadlocks-since-high-sierra
# https://photographylife.com/afp-vs-nfs-vs-smb-performance
# https://support.apple.com/de-de/HT212277
# https://www.synoforum.com/threads/mac-clients-smb-cache-issues.7009/page-3
# UnRaid SMB extra configurations:
# https://wiki.samba.org/index.php/Configure_Samba_to_Work_Better_with_Mac_OS_X
# https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html
#
# To speed up SMB file browsing, you can prevent macOS from reading .DS_Store files on
# SMB shares. This makes the Finder use only basic information to immediately display
# each folder's contents in alphanumeric order.
# defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
# log out of your macOS account and log back in to apply
#------------------------------------------------------------------------------
 
# Use NTFS streams if supported (Macs use two streams per file - ADS or "multi-fork")
streams=yes
 
# Set hard or soft mount of shares
# Hard mount: a request is issued repeatedly until the request is satisfied
# Soft mount: tried until completed, the retry limit is met or the timeout limit is met
# Soft mount by default
soft=yes
 
# Disable packet signing to improve performance as no security issue on secure (non-infiltrated) network.
# Note this is off by default from macOS 10.13.4 onwards although this is ambiguous (Apple HT205926)
signing_required=no
 
# Disable directory caching (ensures Finder folder contents display is up to date)
dir_cache_off=yes
 
# Disable local SMB caching
# Can be set and then unset to clear SMB cache
dir_cache_max_cnt=0
 
# Ensure desired SMB level and prevent SMB 1 (Apple HT211927)
# Lock negotiation to SMB2/3 only
# 7 == 0111  SMB 1/2/3 should be enabled
# 6 == 0110  SMB 2/3 should be enabled
# 4 == 0100  SMB 3 should be enabled
protocol_vers_map=6
 
# No SMB1 = no NetBIOS (WINS) and it should be disabled
port445=no_netbios
 
# Turn off change notifications (Finder maintains folder list integrity)
# notify_off=yes
 
# SMB Multichannel behaviour (Apple HT212277)
# Disable multichannel support because only one wired network connection
mc_on=yes
 
# Prefer wired networks over Wi-Fi networks that may advertise faster speeds than appropriate
mc_prefer_wired=yes

Du behöver logga ut från ditt konto på din Mac och logga in igen för att inställningarna ska aktiveras.

Det var väl det hela. Det har hjälpt för mig och hoppas det gör det för dig också!

Vidare äventyr med Unraid

Unraid

Efter min lyckade och samtidigt misslyckade första installation av Unraid så rev jag hela systemet, stoppade i ytterligare tre SSD-diskar och satte sedan igång med att bygga min array på rätt sätt. Det rätta sättet var enligt vad jag kunde läsa mig till detta: ZFS eller btrfs för array:en där datat lagras, ZFS för den eller de diskar man vill använda som cache och paritetsdisken ska vara en SSD-disk som är minst lika stor som den största disken i din array. Så jag tänkte att ZFS är väl en bra väg att gå och satte därmed igång med att bygga det hela.

Unraid filsystem

Unraid är hyfsat ologiskt när det gäller att bygga en array, i synnerhet när det gäller just vilket filsystem man ska välja. Man kan välja att lägga till diskarna till en array och startar man sedan denna array så väljer Unraid själv vilket filsystem som körs, vilket i praktiken innebär XFS som vad jag förstår närmast är standard i Unraid.

Man måste därför klicka in sig på varje disk och sätta ZFS som filsystem. Inte helt logiskt som sagt men när man väl vet det så är det ingen ko på isen direkt.

Unraids implementation av ZFS är inte mer logisk. I Freenas man kan sätta cache och logg-diskar för en volym men i Unraid så kan man välja en cachedisk och sedan en paritetsdisk. Vad man ska med en paritetsdisk till när man samtidigt har valt raid-z 1 eller 2 som uppsättning för ZFS, vilket alltså innebär att man kan tappa en eller två diskar i sin volym utan att förlora data, är för mig obegripligt.

Unraid med ZFS

Men låt gå då - jag satte upp det hela enligt den modellen: ZFS med raid-z 1 och en paritetsdisk och sedan formatterades diskarna och pang så var det klart. Två saker noterade jag omedelbart: ZFS åt upp i princip allt av de 20 gigabyte internminne som sitter i NAS-datorn (kanske inte helt oväntat men Freenas har ett bra sätt att balansera det där - Unraid verkar inte besitta samma egenskaper), och min NAS-dator gick oerhört långsamt. Kanske hade det gått snabbare med en cachedisk men på något sätt är jag en aning skeptisk till det, utan att kunna ta på varför.

Jag satte därefter igång med att tanka över de över två terabyte data som ska lagras på den och noterade snart att den hade problem med vissa filnamn, prestanda och… vips så kraschade Unraid.

Unraid med ZFS

Så jag började läsa på ännu mer. Efter ett par timmars studerande och funderande så kom jag fram till följande konfiguration: sex stycken 1TB SSD-diskar i min array, en 1TB SSD-disk för paritet och 500 gigabyte SSD-disk för cache. Jag satte cachedisken till ZFS och arraydiskarna till XFS.

Unraid med ZFS

Efter att jag byggt upp denna konfiguration så formligen flyger lagringen fram. Dock kan man bli lite smått ledsen på tiden det tar att bygga en ny paritetsdisk men det är knappast Unraids fel.

Unraid med ZFS

Inga krascher har inträffat och de Docker-baserade applikationer jag installerat fungerar också utmärkt. Här skiljer sig Unraid väldigt mycket mot exempelvis Truenas. Kanske är det en indikation på att Unraid främst vänder sig till hobbyister och hemanvändare medan Truenas siktar lite högre upp i “näringskedjan” för i Unraid så finns det i princip allt i form av “plugins” som körs som kontainrar under Docker. Man kan också köra virtuella maskiner under Unraid (jag har inte testat det ännu men gissar att det baseras på Qemu eller liknande då virtio-drivrutiner ska användas för Windows-baserade virtuella maskiner).

Jag får acceptera att jag inte har TRIM-stöd för mina SSD:er när jag använder XFS, men med tanke på hur billigt det är med SSD-diskar på en terabyte nu för tiden kan jag nog leva med det.

När detta skrivs är det drygt två dygn kvar på Unraids “Cyber Weekend Sale” där de erbjuder 10 procents rabatt på alla licenser. Unraid är till skillnad mot Truenas inte gratis utan kostar pengar men det är en engångskostnad och man kan provköra Unraid utan att betala i åtminstone en månad utan problem så är du nyfiken rekommenderar jag att du tar en titt.

Äventyr med Unraid

Unraid

Efter att ha använt Truenas i närmare ett år så kom jag till ett par slutsatser. Det första är att jag blivit galet trött på att lyssna på fyra stycken 4TB-diskar snurra och knattra. Det andra är att äldre hårddiskar, som de nyss nämnda 4TB-diskarna, inte är en bra ide att köra med Truenas och ZFS då det verkar ta livet av dem i en hyfsat hög hastighet. Låt vara att detta var gamla Seagate “Enterprise”-diskar på 4TB vardera som redan hade ett antal år på nacken, men under det dryga året jag kört denna lösning så har jag fått kasta fyra diskar som packat ihop.

Detta kombinerat med att jag var nyfiken på en annan lösning gjorde att jag grävde djupt i plånboken, köpte mig ytterligare ett antal SSD-diskar och smackade ihop en “ny” maskin med åtta 1TB SSD-diskar, 20GB RAM och en AMD Ryzen 5 2400G-processor som numera kör Unraid.

Resan var dock inte helt smärtfri för att komma dit.

När jag började bygga min Unraid-maskin hade jag nämligen bara fyra SSD-diskar. Eftersom jag gjorde som jag brukar göra så läste jag givetvis ingen dokumentation utan laddade ned verktyget för att skapa en USB-sticka för Unraid och sen satte jag igång.

Unraid skiljer sig nämligen från Truenas på många sätt, och ett av dessa är att Unraid inte går att installera på en hårddisk. Det är byggt för att boota från en USB-sticka. Det är ju inget problem om man väljer en bra USB-sticka som inte redan har raderats 511 gånger (jag kommer till det senare). Tanken med USB-stickan är inte så dum som den kan låta - eftersom man betalar för Unraid så kan man också lätt flytta systemet med USB-stickan till en annan maskin om man vill använda systemet där istället.

Jag satte igång att skapa en array baserad på filsystemet XFS. Det verkade som standardinstallationen så jag valde det och vips så hade jag en array på 4TB (4 x 1TB SSD). Detta var mitt första misstag.

Mitt andra misstag var jag inte läste på om behovet av en paritetsdisk. Eftersom XFS inte är ett RAID-system, eller på något sätt erbjuder någon form av redudans utan just en paritetsdisk, så är det sistnämnda inte ett önskemål, det är ett krav.

Mitt tredje misstag var att välja just XFS. Unraid gör en stor affär av att man kan putta i vilka hårddiskar man vill i sitt system och vips så har man en NAS. Det är förvisso sant, men om man väljer XFS kan man i efterhand inte expandera sin array. Unraid skriver själva på sin blogg att det bara är att expandera, men det är i mitt tycke en aning luddigt:

“Unraid’s native XFS or BTRFS file systems deliver good read speeds for most media server users.

The array is readily expandable (an essential consideration for you media data hoarders out there as your collections grow!)”

Detta faktum upptäckte jag efter att jag köpt ytterligare tre SSD-diskar på 1TB vardera, tre för data och en för paritet.

disksetup i Unraid

Mitt fjärde misstag var samma som mitt tredje: att välja XFS. Unraid är nämligen egentligen byggt för att använda sig av vanliga hårddiskar. Man kan, om man kör XFS, använda SSD:er för cache, men det är inte rekommenderat att man bygger en vanlig array baserad på XFS om man använder enbart SSD:er. Detta beror på att Unraid inte stödjer TRIM när man använder XFS (använder man btrfs eller zfs så är detta inte ett problem). Har man en cachedisk inlagd i sin XFS-array så kan man köra trim på den, men inte övriga diskar i array:en.

Vad är då lösningen? Jag fick tömma hela min array på data, radera den och sedan skapa en ny array baserad på btrfs eller zfs.

Mitt femte misstag var att jag valde ett äldre USB-minne att boota från. Det är nämligen så att även om Unraid inte skriver loggar och annat till USB-minnet så lagrar den en hel del väldigt viktig information om systemet, i synnerhet information om dina diskar, din licens, din array, konfiguration, och så vidare. I mitt fall så visade sig problemet med USB-minnet inte förrän jag startade om systemet och det inte gick att starta från det längre.

Jag försökte läsa ut information från USB-minnet men partitionstabellen var rökt och de filer som jag faktiskte behövde var korrupta. Så jag fick börja om med ett nytt, i alla bemärkelser, USB-minne och koppla ur mina tre nya diskar. Efter det var det inte svårare än att lägga till de fyra diskar jag redan hade och vips så var min array tillbaka. Till och mina Docker-containrar bara fungerade utan vidare. Hade jag däremot haft en paritetsdisk och inte vetat vilken disk det var så hade jag haft betydligt större problem.

Lösningen på detta är att ta regelbunden backup på konfigurationen - det finns en funktion för detta i det för övrigt riktigt trevliga webbgränssnittet. Varför USB-minnet avled? Vem vet - det kanske inte var byggt för att vara inkopplat dygnet runt.

Detta är en första bloggpost av mina intryck av Unraid. I del två reder jag ut hur en fungerande konfiguration, med sina fördelar och nackdelar, ser ut.

Datormagazin Retro #7: boka ditt nummer idag!

Nog för att en Mac eller iPad är rolig. Eller kanske till och med en PC. Men ibland är det senaste inte riktigt vad själen behöver. Ibland behöver man få frossa i forntiden, i det som var (för allt var ju bättre förr, som alla vet). Det är för såna som dig som vi gör tidningen Datormagazin Retro och nu är det dags för vårt sjunde nummer!

Som vanligt kommer tidningen vara fullpackad med intressant och rolig läsning, och här är några artikelideér vi surrat om under planeringen:

  • Historien om Dune 2
  • Vi besöker Embracer Games Archive
  • Programmera mera på C128
  • Världens mest sällsynta Amiga
  • Giana Sisters vs. Super Mario Bros
  • Demodags
  • Backchat med Brad S
  • Expertens bästa tips
  • … och mycket mer

Glid över till Datormagazin Retros kampanjsajt omedelbums och spana in de fina paketen som erbjuds. Ju snabbare vi har 1000 förbeställningar, desto snabbare kommer tidningen levereras.

Cloudflare-tunnel och Wordpress

Då jag kör alla mina webbsajter, och även poddens dito, via tunnlar hos Cloudflare så är det givetvis så att saker och ting är en aning annorlunda jämfört med att köra sajten “naket” direkt mot Internet. Cloudflares tunnel fungerar som en proxy som routar trafiken via Cloudflare och i Cloudflares proxy termineras även SSL-certifikaten för webbsajterna, med mera.

Detta fungerar utan några som helst problem för sajter som denna, men för Wordpress är det annorlunda. Wordpress är, och har alltid varit, ganska uselt på att hantera SSL. En värre blir det när man ställer en webbsajt baserad på Wordpress bakom en proxy, i det här fallet tunneln via Cloudflare. Jag lyckades till slut få det att fungera när jag gjorde hela flytten till egen server hos Hetzner i somras men då jag var tvungen att rota runt lite i konfigurationen idag, och givetvis hade sönder allt eftersom jag inte mindes hur jag löst det, så bestämde jag mig för att dokumentera det för mig själv och för andra som funderar på att göra samma lösning.

Varför ska man titta på en tunnel hos Cloudflare, kanske du undrar? Om du kör en server hemma och inkommande trafik är spärrad, eller om din internetleverantör använder sig av det som kallas för Carrier-grade NAT, eller CGNAT (för att ta två exempel), så kan en gratis tunnel hos Cloudflare göra att du faktiskt kan köra din webbsajt hemma ändå.

Wordpress och Cloudflare-tunnel

När man sätter upp sin tunnel mellan Cloudflare och sin egna server så finns det ingen anledning att skicka trafiken över https (kryptering medelst SSL)-protokollet då trafiken mellan Cloudflare och din server går i en krypterad tunnel. Alltså gör man det enkelt för sig och låter webbservern hemma prata http, utan något SSL-certifikat. När man installerat sin Wordpress-sajt och fått igång tunneln mellan servern och Cloudflare kommer man upptäcka att sajten fungerar fin-fint när man besöker den, men när man går in i inställningarna och vill ändra sajtens adress till https://www.dinsajt.tldså brakar det. Du kan inte logga in administrationsgränssnittet och ställa tillbaka webbsajtens adress till http://www.dinsajt.tld och om du inte vill sätta igång och rota i databasen för att där ändra webbsajtens adress (den lagras i databasen, nämligen) så är läget en aning knepigt.

Sajten kommer kunna fortsätta att ta emot besök men när man vill logga in i det administrativa gränssnittet så får man det ökända felmeddelandet om “too many re-directs”. Detta beror på att Cloudflare-tunneln försöker leda om all trafik till https medan webbservern hemma är konfigurerad för att endast prata http. Detta gör att Wordpress vill prata https medan webbservern vill prata http, och sen går detta i en loop några gånger tills webbläsaren ger upp.

Lösningen är relativt enkel, och den matas in i wp-config.php-filen där din Wordpress-konfiguration ligger.

Dessa två rader är din räddning:

define('WP_HOME','http://www.dinsajt.tld'); define('WP_SITEURL','http://www.dinsajt.tld');

Genom att ange http i dessa två rader så kommer du kunna logga in i administrationsgränssnittet igen och kunna fortsätta arbeta med din webbsajt.

Snart kommer dock ett annat problem att uppstå, och det beror på att Wordpress tror att den kommunicerar via http och inte https vilket gör att innehållet i Wordpress inte skickas enbart över https, så-kallat mixed content. Detta löser du genom att ange följande rad i wp-config.php:

$_SERVER['HTTPS']='on';

Nu talar du om för Wordpress att den skickar ut all data via https.

Ett tredje problem kan uppstå om du installerar en plugin för exempelvis trafikanalys till din webbsajt. Du kan se felmeddelanden som detta:

Error connecting to WordPress REST API. Disable ad-blocker for this page or unblock /wp-json/wp-statistics/v2/metabox in the ad-blocker configuration.

Detta har dels med problemet ovan, mixed content, och dels med att Cloudflare har en egen brandvägg som nyper ihop så fort den misstänker att det går lite väl mycket trafik till en viss del av din webbsajt. Jättebra i normala fall men inte i detta läge.

För att komma runt detta så skapar du en regel hos Cloudflare för att slå av säkerheten för www.dinwebbsajt.tld/wp-json/*. Mina två regler för poddens webbsajt ser ut så här:

Efter att du skapat denna regel och också lagt in ändringarna i wp-config.phpså ska din sajt fungera normalt.

ftp.melin.org är tillbaka

När jag skrotade mitt Raspberry Pi-kluster så hade jag inte längre något att köra min “ftp”-server på hemma. Jag säger “ftp” men egentligen så serveras filerna över https då jag inte kan köra ftp hem av olika anledningar.

Hur som haver, nu är tjänsten tillbaka igen. Jag har hört att flera personer har frågat efter den så jag satte upp en virtuell server på min Truenas-maskin och tack vare en tunnel via Cloudflare så går det nu att komma åt filerna igen. Yay!

Du hittar hela grannlåten på ftp.melin.org. Mycket nöje.

.