Syncthing – kompletny przewodnik po bezpiecznej synchronizacji plików bez chmury

Czym jest Syncthing i dlaczego warto go znać?

Syncthing to otwartoźródłowe, bezpłatne narzędzie do synchronizacji plików między urządzeniami, które działa bez pośrednictwa centralnego serwera ani usługi chmurowej. Oznacza to, że Twoje dane nigdy nie opuszczają kontrolowanej przez Ciebie infrastruktury – trafiają bezpośrednio z jednego urządzenia na drugie, szyfrowane i weryfikowane kryptograficznie. To fundamentalna różnica w stosunku do popularnych usług takich jak Dropbox, Google Drive czy OneDrive, które przechowują kopię Twoich plików na serwerach zewnętrznych firm.

Projekt powstał w 2013 roku, jest rozwijany przez społeczność open-source i dostępny na licencji MPL-2.0. Kod źródłowy jest publicznie dostępny, co umożliwia niezależny audyt bezpieczeństwa. Syncthing jest napisany w języku Go, co przekłada się na wysoką wydajność, niskie zużycie zasobów systemowych oraz łatwość kompilacji na różnych platformach.

Bezpłatne warsztaty: Kali Linux od podstaw - fundament pracy pentestera

Naucz się instalacji i konfiguracji Kali Linux, pracy w terminalu, zarządzania uprawnieniami, budowy własnego laboratorium pentestowego oraz korzystania z narzędzi używanych przez specjalistów cyberbezpieczeństwa.

Odbierz dostęp do 13 maja do 23:59

Sprawdź szczegóły: https://asdevops.pl/warsztaty/

 

 


Jak działa Syncthing – architektura i protokół

Syncthing posługuje się własnym, otwartym protokołem komunikacyjnym o nazwie BEP (Block Exchange Protocol). Zamiast synchronizować pliki w całości, dzieli je na bloki i przesyła wyłącznie te fragmenty, które uległy zmianie. Dzięki temu synchronizacja dużych plików, takich jak bazy danych czy archiwa wideo, jest znacznie szybsza i bardziej efektywna niż w przypadku prostego kopiowania.

Każde urządzenie w sieci Syncthing ma unikalny identyfikator – klucz kryptograficzny oparty na TLS, generowany lokalnie. Połączenia między urządzeniami są szyfrowane end-to-end za pomocą TLS 1.3, a autentyczność partnerów jest weryfikowana przez wymianę tych identyfikatorów. Nie istnieje żaden centralny serwer, który znałby zawartość Twoich plików – serwery discovery służą jedynie do odnajdywania adresów IP urządzeń, a relay server tylko do przesyłania zaszyfrowanych danych w przypadkach, gdy bezpośrednie połączenie P2P jest niemożliwe (np. za podwójnym NAT).

Topologia sieci jest elastyczna: możliwe jest łączenie wielu urządzeń w różnych konfiguracjach – gwiazda, siatka pełna, łańcuch – w zależności od potrzeb. Możesz też zrezygnować z serwerów discovery i relay, konfigurując adresy IP ręcznie, osiągając pełną niezależność od jakiejkolwiek zewnętrznej infrastruktury.


Kluczowe funkcje Syncthing

Syncthing oferuje bogaty zestaw funkcji, które czynią go narzędziem odpowiednim zarówno dla użytkowników domowych, jak i małych firm oraz entuzjastów prywatności.

Przede wszystkim synchronizacja jest dwukierunkowa i w czasie rzeczywistym – zmiany dokonane na jednym urządzeniu są natychmiast propagowane do pozostałych. Istnieje jednak możliwość skonfigurowania folderów jako wyłącznie do wysyłania (send only) lub wyłącznie do odbierania (receive only), co daje precyzyjną kontrolę nad przepływem danych.

Wersjonowanie plików pozwala na automatyczne zachowanie poprzednich wersji dokumentów. Syncthing obsługuje kilka strategii wersjonowania: proste (zatrzymuje określoną liczbę starszych wersji), śmietnikowe (usuwa stare wersje po określonym czasie), stagowane (różne okresy przechowywania dla różnych przedziałów czasowych) oraz zewnętrzne (wywołuje własny skrypt powłoki).

Harmonogramy synchronizacji umożliwiają ograniczenie aktywności narzędzia do określonych godzin lub dni tygodnia. To szczególnie przydatne przy synchronizowaniu dużych zbiorów danych przez łącze o ograniczonej przepustowości lub taryfikowane połączenie mobilne.

Limity przepustowości – zarówno dla wysyłania, jak i odbierania – można ustawić globalnie lub per-urządzenie. Syncthing nie będzie więc monopolizował łącza internetowego podczas pracy.

Obsługa plików specjalnych, w tym dowiązań symbolicznych i uprawnień POSIX (na systemach Unix), sprawia, że narzędzie świetnie sprawdza się w środowiskach programistycznych i serwerowych.

Jak działa Syncthing?

Syncthing wykorzystuje:

  • protokoły P2P
  • TLS (szyfrowanie)
  • hashowanie plików (SHA256) do wykrywania zmian
  • globalną sieć discovery (opcjonalną)

Proces synchronizacji:

  1. Dodajesz folder do synchronizacji
  2. Udostępniasz go innemu urządzeniu (Device ID)
  3. Syncthing:
    • skanuje pliki
    • dzieli je na bloki
    • wysyła tylko zmienione fragmenty (delta sync)

Dzięki temu synchronizacja jest bardzo szybka i oszczędna transferowo


Instalacja Syncthing – krok po kroku

Syncthing działa na niemal każdej platformie. Poniżej opisano najpopularniejsze scenariusze instalacji.

Na systemach Linux paczki są dostępne w oficjalnych repozytoriach większości dystrybucji. W Debianie i Ubuntu wystarczy wykonać sudo apt install syncthing. Na Arch Linuksie pakiet jest w AUR i oficjalnym repozytorium. Syncthing można też uruchomić jako usługę systemd, co zapewnia automatyczne uruchamianie po starcie systemu oraz automatyczne restartowanie po awarii.

Linux (Debian / Ubuntu)

sudo apt update
sudo apt install syncthing

Windows

  1. Pobierz z oficjalnej strony Syncthing
  2. Uruchom instalator lub wersję portable
  3. GUI dostępne pod:
http://localhost:8384

macOS

brew install syncthing

Na systemie Windows najwygodniej skorzystać z narzędzia SyncTrayzor – nakładki graficznej, która integruje Syncthing z zasobnikiem systemowym, ułatwia konfigurację i zarządza uruchamianiem aplikacji. Alternatywnie można pobrać oficjalny plik wykonywalny i uruchomić go ręcznie lub skonfigurować jako usługę Windows.

Na macOS Syncthing jest dostępny przez Homebrew (brew install syncthing) oraz jako oficjalna aplikacja. Interfejs graficzny jest dostępny w przeglądarce pod adresem http://127.0.0.1:8384 – działa tak samo na wszystkich platformach.

Na Androidzie oficjalna aplikacja Syncthing była długo dostępna w sklepie Google Play, jednak w 2024 roku projekt zakończył oficjalne wsparcie dla aplikacji mobilnej. Aktywnie rozwijany fork o nazwie Syncthing-Fork (znany też jako Catfriend1) przejął tę rolę i jest dostępny zarówno przez Google Play, jak i F-Droid.

Na serwerach NAS popularnych producentów, takich jak Synology, QNAP czy TrueNAS, Syncthing jest dostępny jako oficjalny lub społecznościowy pakiet. Synology oferuje go w centrum pakietów, a konfiguracja sprowadza się do kilku kliknięć.

Przykład działającej instancji Syncthing:


Bezpieczeństwo i prywatność – fundament Syncthing

Bezpieczeństwo jest wbudowane w architekturę Syncthing, a nie doklejone na zewnątrz. Każde połączenie między urządzeniami jest szyfrowane za pomocą TLS 1.3 z wzajemnym uwierzytelnianiem certyfikatów. Oznacza to, że nawet jeśli dane są przekazywane przez publiczny serwer relay, serwer ten widzi wyłącznie zaszyfrowany strumień i nie ma dostępu do treści plików.

Identyfikator urządzenia (Device ID) jest 256-bitowym hashem klucza publicznego TLS. Dodanie nowego urządzenia do sieci wymaga ręcznej wymiany identyfikatorów, co uniemożliwia nieautoryzowane dołączenie do sieci synchronizacji. Nie ma żadnej rejestracji konta, adresu e-mail ani hasła – bezpieczeństwo opiera się wyłącznie na kryptografii asymetrycznej.

Dla użytkowników, którzy chcą całkowitej niezależności od zewnętrznej infrastruktury, możliwe jest wyłączenie globalnych serwerów discovery i relay oraz podanie własnych adresów IP urządzeń lub uruchomienie własnych serwerów discovery i relay na prywatnej infrastrukturze.

Warto też podkreślić, że Syncthing nie zbiera żadnych danych telemetrycznych ani nie wysyła statystyk do zewnętrznych serwerów. Opcjonalne anonimowe raportowanie błędów można w dowolnej chwili wyłączyć.


Syncthing a popularne alternatywy – porównanie

Porównanie Syncthing z innymi narzędziami do synchronizacji plików pomaga zrozumieć, w jakich scenariuszach sprawdza się najlepiej.

W zestawieniu z Dropboxem i Google Drive podstawowa różnica polega na tym, że Syncthing nie wymaga centralnego serwera. Dropbox i Google Drive przechowują Twoje pliki w chmurze kontrolowanej przez firmę – to wygodne, ale wiąże się z oddaniem kontroli nad danymi. Syncthing nie ma ograniczeń przestrzeni dyskowej narzucanych przez dostawcę – możesz synchronizować tyle danych, ile masz miejsca na podłączonych urządzeniach.

W porównaniu z Nextcloud Syncthing jest znacznie prostszy w konfiguracji i nie wymaga serwera webowego, bazy danych ani domeny. Nextcloud oferuje jednak znacznie więcej funkcji (kalendarze, kontakty, edycja dokumentów w przeglądarce), więc oba narzędzia często są używane komplementarnie – Nextcloud jako frontend, Syncthing jako mechanizm synchronizacji.

W zestawieniu z rsync Syncthing jest rozwiązaniem ciągłym (działa w tle i reaguje na zmiany w czasie rzeczywistym), podczas gdy rsync jest narzędziem wywoływanym ręcznie lub przez cron. Syncthing obsługuje też synchronizację wielokierunkową, której rsync nie oferuje natywnie.

W porównaniu z BitTorrent Sync (Resilio Sync) Syncthing jest w pełni open-source, co oznacza możliwość weryfikacji kodu. Resilio Sync jest rozwiązaniem komercyjnym z zamkniętym kodem, który nie może być niezależnie audytowany.


Typowe przypadki użycia Syncthing

Syncthing najlepiej sprawdza się w sytuacjach, gdy zależy Ci na prywatności, kontroli nad danymi i niezależności od zewnętrznych usług.

Synchronizacja dokumentów między komputerem domowym, laptopem służbowym i telefonem to klasyczny przypadek. Zamiast polegać na Dropboxie, wszystkie pliki wędrują bezpośrednio między urządzeniami, bez opuszczania Twojej kontroli.

Backup i replikacja danych między urządzeniami w sieci domowej – na przykład synchronizacja zdjęć z telefonu na serwer NAS lub komputer domowy – jest jednym z najpopularniejszych zastosowań. Syncthing może zastąpić drogie rozwiązania backupowe w scenariuszach z wieloma urządzeniami w tej samej sieci lokalnej.

Praca z repozytoriami plików w środowiskach deweloperskich, gdzie zespół nie korzysta z chmury publicznej ze względów bezpieczeństwa lub regulacyjnych, to kolejny częsty przypadek. Syncthing umożliwia synchronizację katalogów projektów między stacjami roboczymi bez wychodzenia poza sieć firmową.

Synchronizacja konfiguracji (dotfiles) między wieloma maszynami linuksowymi to popularne zastosowanie wśród administratorów systemów i programistów. Katalog z plikami konfiguracyjnymi shell, edytora tekstu czy narzędzi deweloperskich jest synchronizowany na wszystkich maszynach jednocześnie.

Synchronizacja bibliotek muzycznych, kolekcji zdjęć czy archiwów wideo między komputerem głównym a urządzeniami w sieci domowej pozwala zachować jednolitą bibliotekę mediów bez abonamentu za przestrzeń chmurową.


Pierwsza konfiguracja – krok po kroku

1. Uruchomienie panelu webowego

Domyślnie:

http://127.0.0.1:8384

2. Dodanie urządzenia (Device)

  • Kliknij Add Remote Device
  • Wklej Device ID drugiego urządzenia

Pozyskanie Device ID i kodu QR (telefon):

Na drugiej maszynie z zainstalowanym Syncthing, Dodaj urządzenie zdalne, wklej ID oraz nadaj nazwę urządzenia:

Wróć do GUI Syncthing pierwszej maszyny, gdzie skopiowałeś ID i Dodaj użądzenie. Kliknij Zapisz. Gotowe urządzenia są połączone!

Przykład połączenia 2 maszyn Debian – terraform:

3. Udostępnienie folderu

  • Dodaj Folder
  • Wybierz ścieżkę folderu, opcjonalnie dodaj etykietę folderu
  • Zaznacz urządzenia, które mają mieć dostęp, w sekcji Współdzielenie
  • Zatwierdź synchronizację folderu

Na maszynie którą zaznaczyłeś zatwierdź synchronizację, klikając na Dodaj

Podaj ścieżkę folderu, gdzie mają być wysyłane pliku (opcjonalnie dodaj etykietę folderu). Przykład:

Przykład synchronizacji:


Najlepsze praktyki konfiguracji

Struktura folderów

  • /sync/dokumenty
  • /sync/zdjecia
  • /sync/backups

Unikaj synchronizacji całego /home


Tryby synchronizacji

  • Wyślij i odbierz – standard
  • Tylko wyślij – backup (np. serwer)
  • Tylko odbierz – mirror danych

Optymalizacja wydajności

  • włącz Obserwuj zmiany
  • ustaw odpowiedni Przedział czasowy pełnego skanowania (s)
  • Ustaw Rodzaj folderu

Bezpieczeństwo Syncthing

Co zapewnia bezpieczeństwo?

  • certyfikaty TLS dla każdego urządzenia
  • unikalny Device ID
  • brak centralnego serwera

Na co uważać?

  • otwarty port GUI (8384)
  • brak hasła do panelu admina

Zalecenie:

  • ustaw login + hasło
  • użyj reverse proxy (np. Nginx + HTTPS)

Syncthing vs konkurencja

CechaSyncthingGoogle DriveDropbox
Open sourceTakNieNie
PrywatnośćTak pełnaNieNie
Limit danychBrakTakTak
P2PTakNieNie
Offline syncTakNieNie

Zaawansowane zastosowania

Backup serwera (np. Proxmox / VPS)

  • ustaw:
    • serwer → Send Only
    • lokalny komputer → Receive Only

Masz automatyczny backup bez chmury


Synchronizacja telefonu

Na Androidzie:

  • aplikacja Syncthing (oficjalna lub fork)
  • automatyczna synchronizacja zdjęć

Dev / DevOps

  • synchronizacja repozytoriów między maszynami
  • szybkie środowiska testowe

Integracja z NAS

Syncthing działa świetnie na:

  • TrueNAS
  • OpenMediaVault
  • Raspberry Pi

Rozwiązywanie typowych problemów

Najczęstszym problemem zgłaszanym przez nowych użytkowników jest niemożność nawiązania połączenia między urządzeniami. Zazwyczaj wynika to z blokady portu 22000 (TCP/UDP) przez zaporę sieciową lub brak możliwości przebicia NAT bez serwera relay. Rozwiązaniem jest albo otwarcie odpowiednich portów w routerze, albo upewnienie się, że opcja relay jest włączona.

Konflikty plików, oznaczane przez Syncthing przyrostkiem .sync-conflict-YYYYMMDD-HHMMSS-DEVICENAME, powstają gdy ten sam plik jest jednocześnie modyfikowany na kilku urządzeniach. Syncthing zachowuje obie wersje i oznacza jedną z nich jako konflikt, co jest bezpiecznym zachowaniem – żadne dane nie są tracone.

Wysokie zużycie CPU lub pamięci RAM podczas pierwszej synchronizacji dużej biblioteki plików jest normalnym zjawiskiem. Syncthing haszuje wszystkie pliki podczas inicjalnego skanu, co jest operacją intensywną obliczeniowo. Po zakończeniu skanowania zużycie zasobów drastycznie spada.

Czy Syncthing jest dla Ciebie?

TAK jeśli:

  • cenisz prywatność
  • masz własny serwer/NAS
  • nie chcesz płacić za chmurę

NIE jeśli:

  • potrzebujesz współdzielenia plików z wieloma użytkownikami online (jak Google Docs)
  • chcesz prostoty “kliknij i działa” bez konfiguracji

Przyszłość Syncthing i społeczność

Syncthing jest aktywnie rozwijany, a projekt cieszy się dużą społecznością na GitHubie oraz własnym forum. Projekt jest finansowany przez Syncthing Foundation, która przyjmuje dobrowolne datki od użytkowników i firm korzystających z narzędzia.

Choć tempo wydań jest miarowe, a projekt jest dojrzały, nie oznacza to stagnacji – nowe wersje przynoszą poprawki bezpieczeństwa, optymalizacje wydajności i nowe funkcje. Projekt kładzie szczególny nacisk na wsteczną kompatybilność protokołu, co oznacza, że aktualizacja jednego urządzenia nie wymaga natychmiastowej aktualizacji pozostałych.

Środowisko wokół Syncthing obejmuje dziesiątki nieoficjalnych nakładek graficznych, integracji z popularnymi systemami operacyjnymi i aplikacjami, narzędzi do monitorowania oraz wtyczek do systemów automatyzacji takich jak Home Assistant.

FAQ – najczęstsze pytania

Czy Syncthing jest bezpieczny?

Tak – używa szyfrowania TLS i nie przechowuje danych w chmurze.

Czy Syncthing działa przez internet?

Tak – dzięki NAT traversal i relay serverom.

Czy Syncthing zastąpi Google Drive?

Tak, jeśli nie potrzebujesz edycji online.


Podsumowanie – dla kogo jest Syncthing?

Syncthing jest idealnym wyborem dla osób i organizacji, które cenią prywatność, kontrolę nad danymi i niezależność od zewnętrznych usług. Jest szczególnie wartościowy dla programistów, administratorów systemów, dziennikarzy, prawników i wszystkich, którzy pracują z wrażliwymi danymi i nie mogą lub nie chcą powierzać ich firmom trzecim.

Nie jest to narzędzie pozbawione krzywej uczenia się – konfiguracja pierwszej pary urządzeń wymaga zrozumienia kilku pojęć i wykonania kilku kroków, które w Dropboxie odbywają się automatycznie. Jednak po konfiguracji Syncthing działa niezawodnie, niewidocznie i bez żadnych abonamentów, limitów przestrzeni ani uzależnienia od dostępności zewnętrznego serwera.

W świecie, w którym prywatność danych staje się coraz cenniejszą wartością, Syncthing oferuje rzadką kombinację: darmowe, otwarte, audytowalne, bezpieczne i wydajne narzędzie do synchronizacji plików, które naprawdę należy do Ciebie.

Bezpłatne warsztaty: Kali Linux od podstaw - fundament pracy pentestera

Naucz się instalacji i konfiguracji Kali Linux, pracy w terminalu, zarządzania uprawnieniami, budowy własnego laboratorium pentestowego oraz korzystania z narzędzi używanych przez specjalistów cyberbezpieczeństwa.

Odbierz dostęp do 13 maja do 23:59

Sprawdź szczegóły: https://asdevops.pl/warsztaty/

 

 

 

 

Bezpłatne szkolenie "Kali Linux od podstaw - fundament pracy pentestera"

X