Właśnie została wprowadzona wersja systemu automatycznej synchronizacji plików Syncthing 1.2.0, w którym zsynchronizowane dane nie są przesyłane do hurtowni w chmurze, ale są replikowane bezpośrednio między systemami użytkowników, gdy jednocześnie pojawiają się online za pomocą opracowanego w projekcie protokołu wymiany bloków.
Kod do synchronizacji jest napisany w języku Go i jest rozpowszechniany na bezpłatnej licencji MPL. Gotowe wersje są gotowe na systemy Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD i Solaris.
Oprócz rozwiązywania problemów z synchronizacją danych między wieloma urządzeniami jednego użytkownika, dzięki Syncthing możliwe jest tworzenie dużych zdecentralizowanych sieci do przechowywania współdzielonych danych, które są rozprowadzane w systemach członkowskich.
O synchronizacji
Zapewniona jest elastyczna kontrola dostępu i wyjątki dotyczące synchronizacji. Możliwe jest zdefiniowanie hostów, które będą odbierać tylko dane, co oznacza, że zmiany danych na tych hostach nie wpłyną na instancje danych przechowywane w innych systemach.
Podczas synchronizacji z nowym urządzeniem, jeśli w kilku urządzeniach znajdują się identyczne bloki, to bloki są kopiowane z różnych węzłów, analogicznie do działania systemu BitTorrent.
Im więcej urządzeń jest zaangażowanych w synchronizację, tym szybsza replikacja nowych danych ze względu na zrównoleglenie.
W procesie synchronizacji zmodyfikowanych plików przez sieć przesyłane są tylko zmodyfikowane bloki danych, a po zmianie nazwy lub zmianie praw dostępu synchronizowane są tylko metadane.
Kanały danych są tworzone przy użyciu TLS, wszystkie węzły uwierzytelniają się nawzajem przy użyciu certyfikatów i identyfikatorów urządzeń, SHA-256 jest używany do sprawdzania integralności.
Do określenia węzłów synchronizacji w sieci lokalnej można wykorzystać protokół UPnP, który nie wymaga ręcznego wprowadzania adresów IP synchronizowanych urządzeń.
Do konfiguracji i monitorowania systemu służy wbudowany interfejs sieciowy, klient CLI i interfejs GUI Syncthing-GTK, który zapewnia również narzędzia do zarządzania węzłami synchronizacji i repozytoriami.
Aby uprościć wyszukiwanie węzłów synchronizujących, opracowywany jest serwer koordynacji wykrywania węzłów, dla którego przygotowano obraz Dockera.
Syncthing 1.2.0 Główne nowe funkcje
W tej nowej wersji Syncthing 1.2.0 wprowadzono nowy protokół transportowy oparty na QUIC (szybkie połączenia internetowe UDP) z dodatkami do przekazywania poprzez tłumaczenie adresów (NAT). TCP jest nadal preferowanym protokołem do nawiązywania połączeń.
Ponadto podkreślono poprawę obsługi błędów krytycznych i dodano narzędzia do automatycznego wysyłania raportów o problemach do programistów. Przesyłanie raportów jest domyślnie włączone.
Z drugiej strony, dodano specjalną opcję wyłączającą go w ustawieniach. Należy zauważyć, że dane w raporcie o awarii nie obejmują nazw plików, danych rejestru, identyfikatorów urządzeń, statystyk i innych danych osobowych.
Użycie małych i stałych bloków (128 KiB) zostało uznane za przestarzałe; teraz tylko duże bloki o zmiennej wielkości są używane do indeksowania i przesyłania zawartości plików.
Interfejs zapewnia wyświetlanie ostatniego błędu połączenia dla każdego z podanych adresów. W WebUI układ kolumn tabeli jest zoptymalizowany pod kątem prawidłowego wyświetlania na wąskich ekranach.
Jak zainstalować Syncthing 1.2.0?
Dla tych, którzy są zainteresowani możliwością zainstalowania tej aplikacji w swoim systemie, muszą otworzyć terminal i wpisać w nim następujące polecenie
sudo apt-get install apt-transport-https curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Zrobiliśmy to teraz, dodamy stabilne repozytorium aplikacji do naszego systemu z:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Wreszcie możemy go zainstalować za pomocą:
sudo apt-get update sudo apt-get install syncthing
Synchronizacja jest również dostępna dla urządzeń mobilnych, więc pobranie aplikacji można wykonać w poniższym linku z Sklep Play.