Målet da jeg bygde hjemmeskyen var maksimalt personvern. Jeg ville kunne bruke Claude Code og Hermes Agent på samme sted, uten å miste tråden når jeg byttet mellom PC-er (og telefon). Jeg ville undersøke om man kunne surfe privat, uten at det man gjør blir logget. Og jeg ville ha skyfilene mine liggende i private løsninger, ikke hos Google, Apple eller Microsoft.
Det første ønsket var praktisk. Jeg ville kunne jobbe med de samme filene fra hvilken som helst maskin: telefonen, en laptop og en desktop-PC, samt andre PC-er (særlig jobb-PC-en), der jeg ikke har lov til å installere programmer. Filene må altså være tilgjengelige.
Det andre kom etter at jeg leste biografien om Edward Snowden. Jeg begynte å sette meg inn i hvor mye av dataene mine som blir lest av selskaper jeg aldri har inngått noen avtale med. Jeg ville forsøke, i så stor grad som mulig, å unngå at filer og data kunne ses av andre.
Jo lettere noe er å nå, jo vanskeligere er det å holde tilgangen lukket. Oppsettet ble et kompromiss mellom de to ønskene.
Tailscale kobler enhetene mine sammen i et privat nettverk. All trafikken er kryptert, så ingen kan lese den underveis. Hver enhet får en fast adresse som følger den overalt, enten den er hjemme, på mobilnettet eller på et hotell.
Enhetene snakker direkte med hverandre. Det skiller Tailscale fra en vanlig VPN, der all trafikk går gjennom ett sentralt punkt. Tailscale har gode skussmål og regnes som en av de aller sikreste løsningene for private nettverk av denne typen.
Når jeg sitter på et offentlig trådløst nett, for eksempel på et hotell eller en kafé, kan laptop og telefon sende all internettrafikken sin hjem til serveren først. Det heter en exit node. Exit-noden i mitt nettverk er en hjemmeserver med Ubuntu, som alltid står på. Når jeg går inn på en nettside fra et offentlig WiFi, ser det for nettsidene ut som om jeg sitter hjemme, og den som eier det offentlige nettet ser bare kryptert trafikk.
Dette er en bryter jeg slår på når jeg trenger det, ikke noe som står på hele tiden. Denne beskyttelsen er ikke nødvendig når jeg surfer på eget nett eller på mobilnett.
Med Taildrop kan jeg dele en fil fra iPhone rett til serveren, omtrent som AirDrop for iPhone. Filen havner i en egen mappe i hjemmeskyen og dukker opp på de andre enhetene av seg selv.
Når du skriver inn en nettadresse, må maskinen først slå opp hvor den nettsiden befinner seg. Det fungerer som en telefonkatalog og kalles DNS. Den som svarer på disse oppslagene, får en liste over alle nettsteder du besøker.
Serveren kjører nå Pi-hole, et eget oppslagsverk som samtidig blokkerer kjente reklame- og sporingsadresser. PC-ene i nettet bruker det. Oppslagene sendes kryptert videre til den sveitsiske tjenesten Quad9, så internettleverandøren ikke lenger kan lese dem. Pi-hole gjør at reklame på nettsider blokkeres. Forespørsler til kjente sporingstjenester stoppes også, så de får ikke satt såkalte cookies (informasjonskapsler) for å følge med på hva du gjør i nettleseren. Cookies fra nettsiden du faktisk besøker, slipper likevel gjennom. Alle enhetene på Tailscale slår nå opp adresser via Pi-hole, mens selve trafikken går rett ut på internett. Unntaket er iPhonen min, som jeg forteller om under.
På hjemmenettverket ser internettleverandøren (dvs. Altibox) fortsatt hvilke nettsteder jeg kobler til, men ikke hvilke sider på dem eller hva som står der. Quad9 ser hvilke domener som slås opp, men sier at de ikke lagrer hvem som spør. Vil man skjule hvilke nettsteder man besøker, trenger man VPN, Apples Private Relay (som følger med iCloud+, Apples betalte lagringsabonnement) eller nettleseren Tor. Det finnes også en løsning som heter Mullvad, som jeg undersøker, men den koster.
På iPhone bruker jeg heller Apples Private Relay (Privat relé). Den sender trafikken gjennom to ledd: Apple ser hvem jeg er, men ikke hvor jeg skal. En partner som Cloudflare ser hvor jeg skal, men ikke hvem jeg er. Ingen ser begge delene.
Jeg testet det: med Pi-hole på telefonen havnet adressene jeg besøkte i Safari likevel i serverens logg. Da mistet jeg noe av poenget med Private Relay. Derfor er filteret slått av på telefonen. Det koster meg reklameblokkeringen der, men nettleseren Brave blokkerer mye av den selv.
Filene holdes likt på serveren og PC-ene med Syncthing, som heller ikke har noe midtpunkt. Hver enhet har sine egne kopier av skyfilene, og enhetene blir enige seg imellom om hva som er nyest.
Mappene er sortert etter hvor de faktisk trengs. Små ting jeg vil ha for hånden, som notater, referater og lister, ligger på alle PC-ene. Store ting, og det jeg bare bruker fra en ordentlig maskin, blir liggende på serveren. En telefon med lite lagringsplass skal ikke måtte være et komplett arkiv.
iPhone er ikke med i synkingen. Den når filene direkte på serveren fra Filer-appen, over Samba, den vanlige måten å dele filer i et lokalt nettverk på. Forbindelsen går gjennom Tailscale-nettet, så det virker også på mobilnett. Ulempen er at filene ikke er tilgjengelige på telefonen uten nett.
Når en fil slettes eller overskrives, legger serveren den gamle versjonen i en papirkurv og tar vare på den i 90 dager. Det kom godt med 15. september: jeg hadde en notatfil åpen på en PC som hadde vært avslått i flere dager. Da jeg lagret, overskrev den eldre versjonen det jeg hadde skrevet siden. Den nye teksten lå i papirkurven og ble slått sammen med den gamle igjen.
En annen viktig sak er at Linux tåler litt andre filnavn enn Windows. Her gikk også synkinga galt på et tidspunkt, men det var heldigvis fort gjort å endre filnavnene slik at de kunne leses på alle maskiner.
Tailscale har én forutsetning: enheten må ha applikasjonen Tailscale installert. På en jobb-PC der jeg ikke får installere programmer, går ikke det. Uten en løsning ville jeg ikke kunne jobbe fra hvor som helst.
Løsningen er Tailscale Funnel. Den gjør en tjeneste på serveren tilgjengelig fra hele internettet, over samme type krypterte forbindelse som vanlige nettsider bruker. To ting er åpnet på denne måten:
Alt annet på serveren er bare synlig innenfra Tailscale-nettet.
| Hva jeg får | Hva det koster |
|---|---|
| Editor og terminal fra en maskin jeg ikke eier og ikke kan installere noe på | Innloggingssiden er synlig for alle. Men med et heftig passord. |
| Ingen åpning i hjemmeruteren og ingen egen server ute på nettet | Jeg må stole på at Tailscale Funnel gjør jobben sin. |
| code-server godtar bare to innloggingsforsøk i minuttet, tolv i timen | Om en fremmed bruker opp forsøkene fordi hen har fått tak i adressen, kan det låse meg ute i en time. |
Serveren kjører også en musikkserver som en nettverksspiller i stua henter musikk fra. Om jeg vil, kan jeg også spille av musikken på iPhone med visse apper. Det er en liten ting, men den viser hvorfor det lønner seg med en maskin som alltid står på: når den først er der, koster neste tjeneste nesten ingenting.
Samme maskin kjører Referatmaskinen, som jeg omtalte på forsiden. Dette er privat transkripsjon av mine egne innspilte lydfiler ved hjelp av NB-Whisper, en talegjenkjenningsmodell fra Nasjonalbiblioteket som kjører lokalt på maskinen.
En synk er ikke en backup. Sletter jeg noe ved et uhell, sletter Syncthing det like pliktoppfyllende på alle de andre enhetene. Risikabelt! Papirkurven tar riktignok backup, men den ligger på de samme diskene, som jo alle kan gå ned. Derfor har jeg laget en backupløsning, som ikke er helt ferdigstilt.
Det som fortsatt ikke er løst: ingen kopi ligger utenfor huset. Disken står ved siden av serveren. Brenner huset eller blir det innbrudd, er alt borte samtidig.
Planen er en kryptert kopi hos en leverandør, f.eks. Backblaze, som ikke kan lese innholdet. Det er den eneste formen for nettlagring som ikke undergraver målet om private data. Inntil videre er dette ikke ordnet.