Permalänk
Medlem

Kom igång med Syncthing!

Jag har nu fått tummen ur och kommer att publicera en serie med diverse guider/artiklar för att inspirera Sweclockers läsare att frångå gamla vanor och programvaror till förmån för bra, säkra, integritetsvärnande, gratis och öppna alternativ. Har du synpunkter eller vill rätta något eller värre påtala säkerhetsbrister i vad jag föreslår, kontakta mig eller skriv i tråden.

Först ut är Syncthing som gör en sak och det bra - synkronisera data mellan dina enheter. Det finns till både Windows, macOS, Linux och Android. Tyvärr tillåter inte iOS bakgrundsprogram i den mån som krävs för Syncthing.

Enheter som synkroniseras behöver inte befinna på samma nätverk. De hittar varandra från motstående sidor av jorden genom en smart kombination av koordinationsservrar och hole punching. Guiden baseras på Syncthing v1.27.1 och berör endast användning via GUI även om kommandorad funkar utmärkt. Programmet licensieras under Mozilla Public License 2.0.

1 Svårighetsgrad

  • Installation - Enkel, installationsfiler finns tillgängliga och processen är självförklarande

  • Konfiguration - Medel - här krävs visst tålamod för att koppla samman dina enheter och gärna lite förståelse för kryptering och filstrukturer.

  • Underhåll - Inget underhåll krävs. Efter konfiguration rullar allt på.

2 Vad kan Syncthing ersätta?
Användningsområdena är säkert lika många som användarna men solklara områden är:

  • Cloudbaserade filsynkroniseringstjänster som Dropbox, Google Drive och dylikt.

  • Dyra lösningar för synkronisering av anteckningar

  • Foto- och videosynkronisering mellan telefon/surfplatta och datpr/NAS.

  • Fylla telefoner med media (video, audio eller eböcker) som ska konsumeras där.

  • Synka sparfiler mellan retroemulatorer på datorn/enkortsdatorer.

  • Automatisk överföring av återkommande lokala säkerhetskopior på konfigurationer av olika enheter.

3 Säkerhet och integritet
Trafiken går totalstreckskrypterad (end-to-end) mellan dina enheter. Kryptografin i botten baseras på TLS, det öppna protokollet Block Exchange Protocol och använder sunda primitiver. Även om data som standard inte är krypterad i vila kan du sätta upp icke-betrodda enheter där data lagras i krypterad form med för noden okänd nyckel vilket förklaras framgent.

Du efterfrågas i samband med första start av programmet om du önskar delta i anonymiserad data gällande plattform, mappstorlekar och programversioner. Denna data publiceras sedan i aggregerad form på https://data.syncthing.net/. Du har möjlighet att tacka nej och dark pattern används ej.

4 Installation
Du behöver installera Syncthing på minst två datorer. Du hittar binärer och repositorier här.

5 Konfiguration
5.1 Webbgränssnittet
Syncthing konfigureras via webbgränssnittet på http://localhost:8384/. Efter att ha tagit ställning till statistikinsamling presenteras du med:

Välj då Settings, sedan GUI och lägg till ett starkt lösenord sant kryssa i Use HTTPS for GUI. Uppdatera därefter webbläsarfönstret med F5. Du möts nu med en varning om att sidan använder ett egensignerat certifikat, vilket stämmer och i detta fall inte utgör någon säkerhetsrisk. Logga in med den användarnamn-/lösenordskombination du angav.

Vänster kolumn innehåller de kataloger som synkroniseras med Default Folder uppsatt redan från start. Den högra innehåller information om aktuell enhet och sammankopplade fjärrenheter.

5.2 Koppla samman dina enheter
Via menyn Actions uppe till höger når man Show ID och ger en tillgång till nodens enhets-ID både som teststräng och mobilvänlig QR-kod. Denna kan betraktas som del av publik nyckel och används för att andra noder ska kunna hitta och prata med noden. För att två noder ska kunna prata med varandra krävs att de lägger till varandras enhets-ID och godkänner varandra.

För att koppla ihop dina första två enheter A och B plockar du fram enhet A:s Device-ID. På enhet B väljer du Add Remote Device längst ner i högra hörnet och skriver in enhet A:s Device ID. Här kan du även ge enheten ett lättbegripligt namn. Tryck sedan Save. Enheten dyker sedan upp i den högra kolumnen under Remote Devices. Du får även ett meddelande New Device på enhet A.

Efter att du dubbelkollat att Device-ID överrensstämmer med B:s välder du Add Device. Du presenteras nu en dialogruta där du kan välja namn. Under fliken Sharing kan du sedan välja vilka mappar du vill dela mellan enheterna.

Vi väljer att inte dela något för tillfället och efter att du klickat på Save ser du snart att du har en ny, ansluten fjärrenhet.

5.2.1 Synkronisera en mapp
För att lägga till en mapp i Syncthing väljer du Add Folder i den vänstra kolumnen. I exemplet nedan önskar vi synkronisera vår användares bilder. Vi behöver då ange en Folder Label - en beskrivning av mappens innehåll, ett Folder ID där det förgenererade duger samt specificera sökvägen Folder Path till mappen i datorns filträd.

Under fliken Sharing kan du sedan välja enheter du önskar synkronisera mappen med.

Tryck sedan Save och du bör nu få en notis om en delad mapp på din andra enhet.

Välj Add och sedan en lämplig Folder Path. Denna behöver inte vara samma som på den första enheten. När du trycker Save börjar de två enheterna synkronisera innehållet i de båda mapparna. När synkroniseringen är klar visas Up to Date som status bredvid mappen i den vänstra kolumnen.

5.2.2 Icke-betrodda enheter
Har du en vän som upplåter dig utrymme på sin server/dator? Har de installerat Syncthing kan du dela en mapp med deras dator utan att de har möjligheten att läsa innehållet. Du lägger helt enkelt till din väns dator likt ovan men under fliken Advanced väljer du Untrusted.

Detta betyder att data som skickas din vän är krypterad med ett lösenord du väljer. Du kan fortfarande synkronisera mot noden men data är outtydbart för alla som saknar lösenorden.

Själv använder jag icke-betrodda Raspberry Pi Zero både hemma och hos en anhörig. Skulle någon obehörig få tag i enheterna kan de inte läsa min data men jag kan synkronisera mot dem även om min Internetanslutning hemma skulle ligga nere.

5.2.3 Ytterligare samt avancerade inställningar
Nu kan du förhoppningsvis grunderna i Syncthing. Det finns många finneser som inte tagit upp här. De viktigaste är kanske:

  • Introducer - ett sätt att automatiskt lägga dina tidigare sammankopplade enheter till nya enheter du lägger till.

  • Auto Accept - lägger automatiskt till och delar mappar som skaps vid en viss plats i filssystemet.

  • Send/Receive Only Folder- envägssynkronisering

  • Versionshantering

6 Ersätt din dyra filsynkroniseringstjänst
Använder du och kanske till och med betalar för en tjänst som Dropbox eller Google Drive? Detta går att ersätta med Syncthing. Då synkroniseringen naturligtvis endast fungerar på påslagna enheter behöver du en dator i 24/7-drift. Har du ingen NAS som körs dagarna i ända är ett billigt alternativ en Raspberry Pi Zero. Den totala investeringen är ett par hundralappar och låter dina enheter synkronisera mot din Raspberry i väntan på att övriga enheter ska startas igen.

Lycka till!

Permalänk
Medlem

Grymt bra guide! Har länge tänkt ta tag i det här sedan jag gick över till Linux för några år sedan men har aldrig orkat lägga manken till att efterforska det djupare, ska definitivt dra igång detta nu i jul tack vare dig.

Permalänk
Medlem
Skrivet av Leelooo:

Grymt bra guide! Har länge tänkt ta tag i det här sedan jag gick över till Linux för några år sedan men har aldrig orkat lägga manken till att efterforska det djupare, ska definitivt dra igång detta nu i jul tack vare dig.

Vad kul att du kommer att dra igång detta. Du kommer inte ångra dig. Får du inte till det får du gärna skriva här/i PM!