Jak korzystać z Syncthing: kompletny przewodnik po synchronizacji bez chmury

Ostatnia aktualizacja: 20.09.2023

  • Syncthing synchronizuje foldery za pośrednictwem protokołu P2P z szyfrowaniem TLS i zatwierdzaniem urządzeń, bez użycia serwerów pamięci masowej.
  • Jest to aplikacja wieloplatformowa (Linux, macOS, Windows, Android) oferująca interfejs sieciowy, interfejs graficzny i możliwość wykonywania w tle.
  • Umożliwia tryby folderów (wysyłanie/odbieranie), wersjonowanie, wzorce wykluczeń i klastry z „prezenterem”.
  • Nie zastępuje kopii zapasowych: należy ją łączyć z kopiami zewnętrznymi i w razie potrzeby używać opcji „Tylko wysyłanie/odbieranie”.
synchronizacja

Istnieje sposób na aktualizowanie plików na wielu urządzeniach bez korzystania z chmury: Synchronizacja. To bezpłatne i otwarte narzędzie umożliwia synchronizację folderów bezpośrednio między komputeramiz pełnym bezpieczeństwem i bez udostępniania Twoich danych osobom trzecim.

Oprócz aspektów technicznych, zaletą usługi jest jej prostota: wystarczy zainstalować ją na każdym komputerze, wybrać foldery, które mają być udostępniane, i to wszystko. Działa na systemach GNU/Linux, macOS, Windows i Android.Posiada interfejs sieciowy i aplikacje desktopowe, z jasnym założeniem: Twoje dane należą do Ciebie i to Ty decydujesz, gdzie są przechowywane i jak są przesyłane.

Czym jest Syncthing i dlaczego warto?

 

Syncthing to wieloplatformowy system synchronizacji plików, który kładzie nacisk na prywatność i kontrolę. Licencja to Mozilla Public License 2.0 (MPL 2.0)Został on opracowany w języku Go i wykorzystuje własny protokół wymiany bloków, znany jako Block Exchange Protocol (BEP), w celu wydajnego przesyłania danych.

W praktyce projekt proponuje rodzaj chmury BYO (Bring Your Own), gdzie Ty dostarczasz sprzęt, a oprogramowanie łączy Twoje urządzenia Nie wymaga centralnych serwerów pamięci masowej. Obsługuje protokoły IPv4 i IPv6 oraz może korzystać z przekaźników, gdy bezpośrednie połączenie nie jest możliwe.

Filozofia projektu opiera się na kilku bardzo jasno określonych celach: aby zapobiegać utracie danych, utrzymywać bezpieczeństwo, ułatwiać korzystanie, automatyzować w jak największym stopniu i być dostępnym dla każdegoWszystko to opatrzone jest przejrzystym interfejsem i obszerną dokumentacją.

  • Ochrona przed stratami:próbuje zminimalizować ryzyko uszkodzenia lub przypadkowego usunięcia.
  • BezpieczeństwoSzyfrowanie TLS chroni przesyłane dane, a każde urządzenie ma na to wyraźną zgodę.
  • Łatwość i automatyzacja: zrozumiała konfiguracja, synchronizacja w tle i brak zbędnych dodatków.
  • Szeroka dostępnośćKlienci dla systemów GNU/Linux, macOS, Windows i Android, a także opcja kontenera Docker.

żeby to wszystko wykończyć Posiada interfejs sieciowy dostępny z poziomu przeglądarki. A w systemie GNU/Linux dostępny jest interfejs graficzny oparty na GTK (oprócz interfejsów typu Syncthing-GTK), które ułatwiają codzienne zadania.

Przewodnik po korzystaniu z Syncthing

Jak to działa na poziomie technicznym (bez zagłębiania się w szczegóły)

Gdy udostępniasz folder, Syncthing analizuje pliki i dzieli je na bloki. Synchronizuj tylko bloki, które się zmieniająPrzyspiesza to transfer i zmniejsza zużycie pasma. Stosuje również kompresję metadanych i „lekkie skanowanie” po obliczeniu i zapamiętaniu kompletnych skrótów.

Jeśli chodzi o bezpieczeństwo, Cała komunikacja jest szyfrowana za pomocą protokołu TLSUrządzenia są identyfikowane za pomocą unikalnego identyfikatora (pochodzącego z ich certyfikatu), a połączenie między nimi wymaga potwierdzenia z obu stron. W przypadku wystąpienia konfliktu system zmienia nazwę najstarszego pliku, dodając sufiks, taki jak „konflikt synchronizacji”, wraz z datą i godziną, aby można było łatwo rozwiązać problem.

W kwestii lokalizacji i łączności, Syncthing automatycznie wykrywa urządzenia w Twojej sieci LAN W razie potrzeby może korzystać z publicznych przekaźników. Co więcej, utrzymuje aktywne połączenia nawet po zmianie sieci, więc synchronizacja jest kontynuowana po odzyskaniu dostępu do internetu.

Instalacja w głównych systemach

W systemie GNU/Linux można zainstalować go z oficjalnych repozytoriów lub bezpośrednio z projektu. W systemie Debian/Ubuntu i pochodnych zaleca się korzystanie z oficjalnego repozytorium i zaimportowanie klucza PGP.Fedora, CentOS i podobne systemy uwzględniają go w swoich repozytoriach jako EPEL. W Arch/Manjaro znajduje się on w odpowiednich repozytoriach.

Po zainstalowaniu zaleca się uruchomienie usługi użytkownika za pomocą systemd: używać systemctl enable syncthing@usuario y systemctl start syncthing@usuario (zastąp „nazwę użytkownika” nazwą swojego konta). Domyślny interfejs sieciowy jest ustawiony na http://127.0.0.1:8384 dla administracji lokalnej.

W systemie Windows oficjalny plik binarny działa w stylu „przenośnym”, ale dla wygodniejszego użytkowania istnieją projekty takie jak Synchronizuj Trayzor, To Syncthing uruchamia się w tle, wyświetla powiadomienia i integruje się z zasobnikiem systemowym.W ten sposób możesz zapomnieć o otwartych oknach konsoli; uruchamia się ona automatycznie w systemie i pozostaje ukryta do momentu, aż będzie potrzebna.

W systemie macOS możesz pobrać spakowaną aplikację, która Zainstaluj Syncthing jako aplikację natywnąNa Androidzie, Dostępna jest w sklepie Play i F-Droidi umożliwia sparowanie telefonu komórkowego z urządzeniami, aby np. automatycznie przesyłać zdjęcia na komputer.

synchronizacja

Pierwsze kroki w interfejsie internetowym

Otwórz przeglądarkę i wejdź http://127.0.0.1:8384 (port domyślny). Najlepiej byłoby aktywować nazwę użytkownika i hasło GUI. Przejdź do Akcje → Ustawienia → GUI, zwłaszcza jeśli zamierzasz udostępnić go poza komputerem lokalnym lub zarządzać nim z innego komputera w sieci LAN.

Zobaczysz ekran z panelami „Foldery”, „To urządzenie” i „Inne urządzenia”. Interfejs wykrywa język systemu i jest dość intuicyjny.Stąd możesz dodawać urządzenia zdalne, tworzyć foldery współdzielone, dostosowywać parametry i sprawdzać stan synchronizacji.

Identyfikator Twojego urządzenia i parowanie

Każda instalacja Syncthing generuje własny certyfikat i powiązany z nim identyfikator urządzenia. Dzięki temu identyfikatorowi inne urządzenia będą mogły Cię odnaleźć i poprosić o połączenie.Zobaczysz to w Akcje → Pokaż ID, obok bardzo przydatnego kodu QR po sparowaniu z telefonem komórkowym.

Aby połączyć dwa urządzenia, na jednym z nich naciśnij „Dodaj urządzenie zdalne”, Wklej identyfikator drugiej osoby i zapiszJeżeli oba komputery znajdują się w tej samej sieci LAN, Syncthing zazwyczaj „widzi” drugi komputer bez konieczności wpisywania kodu przez użytkownika, dzięki funkcji lokalnego wykrywania.

Podczas przechowywania, Druga drużyna zobaczy powiadomienie o parowaniu. aby zaakceptować połączenie. Po potwierdzeniu połączenia przez obie strony, oba urządzenia zostaną połączone i będą gotowe do synchronizacji folderów.

Udostępnianie folderu: etykieta, ścieżka i osoby, z którymi chcesz go udostępnić

Aby rozpocząć synchronizację, dodaj folder na jednym z urządzeń. Przypisz etykietę (nazwę opisową) i ścieżkę dyskuMożesz udostępnić go jednemu lub większej liczbie zespołów, wybierając je w zakładce „Udostępnianie”.

Nie jest obowiązkowe, aby trasa była taka sama dla wszystkich zespołów; Możesz zmapować „FotosMóvil” na swoim komputerze do „/home/usuario/syncthing/camara”Na przykład. Po prostu postaraj się być zorganizowany, żeby nie pomylić się przy zapisywaniu plików w odpowiednim miejscu.

Gdy udostępnisz folder, druga drużyna otrzyma zaproszenie do „zaakceptowania” i wybrania lokalizacji folderu w swoim systemie. Po osiągnięciu porozumienia przez obie strony rozpoczyna się proces synchronizacji. a na bieżąco zobaczysz paski postępu, liczbę elementów i indeks bloku.

synchronizacja

Typy folderów i przydatne ustawienia

Syncthing oferuje trzy tryby dla każdego folderu: Wysyłaj i odbieraj, Tylko wysyłaj i Tylko odbierajPierwsza opcja jest dwukierunkowa (jak zwykle). Opcja „Tylko wysyłaj” zapobiega wpływowi zmian wprowadzanych przez inne zespoły na źródło; przydatna dla zespołu głównego, który przesyła treści. Opcja „Tylko odbieraj” blokuje rozprzestrzenianie się lokalnych modyfikacji.

Panel edycji folderów zawiera kilka bardzo przydatnych opcji zaawansowanych. Na przykład: Możesz zdefiniować minimalny procent wolnego miejsca na dyskulub dostosuj sposób i czas skanowania zmian (interwał skanowania i obserwację w czasie rzeczywistym, jeśli to konieczne).

Znajdziesz również Ignoruj ​​wzorce (wzory do wykluczenia, takie jak *.tmp lub konkretnych katalogów) i sekcji Wersjonowanie plików Aby zachować poprzednie wersje plików. To wersjonowanie jest proste, ale przydatne do cofania typowych błędów edycji lub usuwania.

Kolejną istotną zmianą jest kolejność weryfikacji plików i obsługa uprawnień/właścicieli w systemach typu UNIX. Jeśli synchronizujesz systemy Windows i Linux, zaznacz te pola, aby uniknąć niespodzianek. z metadanymi.

Struktury sieciowe: promieniowe z pomysłami „prezentera” i siatki

Przy użyciu trzech lub więcej komputerów można skonfigurować bardziej wydajny klaster. Załóżmy, że A, B i C. Jeżeli oznaczysz A jako „prezentującego” (enter) Łącząc B i C, A „przedstawia” sobie nawzajem urządzenia, a pozostałe automatycznie stają się świadome swojego istnienia.

Zaleta? Jeśli A się wyłączy, B i C będą nadal synchronizować się bezpośrednio pod warunkiem, że mogą się połączyć. Co więcej, transfery są współdzielone: ​​zamiast, aby urządzenie A wysyłało wszystko, każde urządzenie dokłada swój wkład, zmniejszając przepustowość u źródła.

„Całkowita siatka” jest możliwa, jeśli oznaczysz wszystkich jako prezenterów pośród wszystkich innych, ale nie jest to zalecane. Powstają „urządzenia-widma”, które trudno wyczyścić. Gdy jeden z prezenterów przestaje istnieć, ale jego odniesienie pozostaje w sieci. Jeśli Syncthing wykryje prezenterów wzajemnych, wyświetli ostrzeżenie, abyś rozważył to ponownie.

Zdalna administracja i praktyczne wskazówki

Chcesz zarządzać jednym zespołem z poziomu drugiego? Przejdź do Akcje → Ustawienia → GUI i Zmień adres nasłuchiwania interfejsu internetowego aby umożliwić dostęp z sieci LAN (na przykład, 0.0.0.0:8384). Proszę podać wymaganą nazwę użytkownika i hasło.

Jeśli zarządzasz serwerem bez graficznego interfejsu, możesz edytować ~/.config/syncthing/config.xml aby dostosować parametry, w tym interfejs graficzny. A jeśli wszystko odbywa się przez SSH, tunel z przekierowaniem portów pozwala na „przeniesienie” 127.0.0.1:8384 do urządzenia, z którego się łączysz.

W przypadku routerów o ścisłym standardzie lub routerów bez UPnP, Synchronizacja może ciągnąć przekaźnikiSą bardzo przydatne jako tymczasowe rozwiązanie, choć spowalniają połączenie. Jeśli masz kontrolę nad środowiskiem sieciowym, otwieranie portów i bezpośrednie kierowanie ruchem zazwyczaj zapewnia lepszą wydajność.

Prywatność i bezpieczeństwo: co musisz wiedzieć

Komunikacja między urządzeniami jest szyfrowana protokołem TLS i każde urządzenie Posiada własny certyfikat i klucz prywatny.Prywatność nie oznacza jednak całkowitej anonimowości między użytkownikami: połączone urządzenia widzą Twój adres IP, system i status (połączenie, synchronizacja itp.). Łącz się tylko z osobami, którym ufasz.

Aby działać w skali globalnej, Syncthing korzysta z następujących usług publicznych: globalne serwery wykrywania, przekaźniki i listy przekaźnikówOprócz serwera aktualizacji i, za Twoją zgodą, anonimowej telemetrii do celów statystycznych. Wszystko to można wymienić, jeśli chcesz skonfigurować własną sieć prywatną, ale dla większości osób nie jest to konieczne.

Porty, wydajność i rozwiązywanie konfliktów

Domyślnie GUI używa port 8384 na localhostSynchronizacja równorzędna zazwyczaj wykorzystuje 22000/TCP i lokalne odkrycie 21027/UDPJeśli masz zaporę sieciową, otwieraj ją w razie potrzeby, aby poprawić łączność bezpośrednią.

Gdy dwa komputery modyfikują ten sam plik niemal jednocześnie, pojawia się słynny „konflikt synchronizacji”Syncthing dodaje sufiks daty, dzięki czemu możesz wybrać wersję, którą chcesz zachować. Włączenie kontroli wersji pomaga chronić system.

Jeżeli zauważysz, że indeksowanie trwa długo, Sprawdź skanowanie i zmiany w czasie rzeczywistym.W przypadku dużych repozytoriów dostosowywanie interwałów i włączanie powiadomień inotify (jeśli ma to zastosowanie) może zmniejszyć obciążenie procesora bez utraty funkcjonalności.

Instalacja kontenerowa i inne uwagi

W przypadku środowisk hermetyzowanych, Istnieje oficjalny obraz DockeraTo bardzo wygodny sposób na instalację Syncthing na serwerach NAS, domowych lub VPS, przy jednoczesnym zachowaniu zamontowanych woluminów dla Twoich folderów.

W systemie GNU/Linux z pulpitem, Syncthing-GTK lub podobne front-endy ułatwiają zarządzanie Z ikoną w zasobniku systemowym i bezpośrednim dostępem do opcji bez otwierania przeglądarki. W systemie Windows SyncTrayzor doskonale spełnia tę rolę.

Jak podkreśla projekt, „Twoje dane należą tylko do Ciebie”To podejście — bez korzystania z chmury innej firmy — jest powodem, dla którego wielu użytkowników migruje z Dropboxa/Dysku w przypadku pracy wewnętrznej, strumieni multimedialnych lub poufnych danych.

Jeśli chcesz w pełni wykorzystać jego możliwości, poświęć czas na wzorce wykluczeń, limity przepustowości i wersjonowanieOto trzy ustawienia, które robią różnicę w rzeczywistych środowiskach z wieloma komputerami i dużymi katalogami.

Jeśli chodzi o sedno sprawy, Syncthing łączy Prędkość P2P, pełna kontrola i bardzo przyjazna użytkownikowi konfiguracja.Gdy już go uruchomisz, możesz zapomnieć o dyskach USB, załącznikach do e-maili i niekończącym się przesyłaniu danych do chmury. I tak, jest zaskakująco dobry.

Ekskluzywna zawartość — kliknij tutaj  Oszczędzaj energię w systemie Windows 11 bez obniżania wydajności