Wydanie otwartego systemu P2P do synchronizacji plików Syncthing 1.2.0

Przedstawiony wydanie systemu automatycznej synchronizacji plików Syncthing 1.2.0, w którym synchronizowane dane nie są ładowane do chmur, lecz bezpośrednio replikowane między systemami użytkownika przy ich jednoczesnej obecności w trybie online, korzystając z rozwijanego przez projekt protokołu BEP (Block Exchange Protocol). Kod Syncthing jest napisany w języku Go i rozpowszechniany jest dostępny na wolnej licencji MPL. Gotowe wersje przygotowano dla Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD i Solaris.

Poza rozwiązaniem problemów z synchronizacją danych między wieloma urządzeniami jednego użytkownika, z użyciem Syncthing możliwe jest tworzenie dużych, zdecentralizowanych sieci do przechowywania wspólnie używanych danych, które są rozproszone w systemach uczestników. Oferowane są elastyczne środki kontroli dostępu i tworzenia wyjątków dla synchronizacji. Możliwe jest określenie hostów, które będą tylko otrzymywać dane, tj. zmiany danych na tych hostach nie będą odzwierciedlane w kopiach danych przechowywanych w innych systemach. Obsługiwane są różne tryby wersjonowania plików, w których zachowywane są wcześniejsze wersje zmienionych danych.

Podczas synchronizacji plik jest logicznie dzielony na bloki, które są niepodzielną częścią przy transferze danych między systemami użytkownika. Przy synchronizacji na nowe urządzenie, w przypadku obecności identycznych bloków na kilku urządzeniach, kopiowanie bloków odbywa się z różnych węzłów, analogicznie do działania systemu BitTorrent.
Im więcej urządzeń bierze udział w synchronizacji, tym szybciej odbywa się replikacja nowych danych dzięki równoległemu działaniu. W procesie synchronizacji zmienionych plików przez sieć przesyłane są tylko zmienione bloki danych, a przy zmianie nazw lub praw dostępu synchronizowane są tylko metadane.

Kanały przesyłu danych są tworzone za pomocą TLS, wszystkie węzły autoryzują się nawzajem na podstawie certyfikatów i identyfikatorów urządzeń, a do kontroli integralności stosowany jest SHA-256. Aby określić węzły synchronizacji w sieci lokalnej, można użyć protokołu UPnP, przy którym nie jest wymagane ręczne wprowadzanie adresów IP synchronizowanych urządzeń. Do konfiguracji systemu i monitorowania przewidziany jest wbudowany interfejs webowy, klient CLI oraz GUI Syncthing-GTK, w którym dodatkowo dostarczono narzędzia do zarządzania węzłami synchronizacji i repozytoriami. Aby ułatwić wyszukiwanie węzłów Syncthing rozwijana jest serwer koordynacji wykrywania węzłów, którego uruchomienie
przygotowano gotowy obraz Docker.

Wydanie otwartego systemu P2P do synchronizacji plików Syncthing 1.2.0

W nowym wydaniu:

  • Przedstawiony nowy protokół transportowy oparty na QUIC (Quick UDP Internet Connections) z dodatkami do przekazywania przez translatory adresów (NAT). Jako preferowany protokół do ustanawiania połączeń wciąż zalecany jest TCP;
  • Udoskonalone przetwarzanie błędów krytycznych i dodano narzędzia możliwość automatycznego przesyłania deweloperom raportów o problemach. Przesyłanie raportów jest domyślnie włączone, aby je wyłączyć, należy zmienić dodano specjalną opcję. Zauważa się, że dane w raporcie o awarii nie zawierają nazw plików, danych z logów, identyfikatorów urządzeń, statystyk i innych danych osobowych;
  • Zastosowanie małych i stałych bloków (128 KiB) zostało uznane za przestarzałe, przy indeksowaniu i przesyłaniu zawartości plików teraz stosowane są tylko duże bloki zmiennej wielkości;
  • W interfejsie zapewniono wyświetlanie ostatniego błędu połączenia dla każdego z określonych adresów;
  • W WebUI zoptymalizowano układ kolumn tabel dla prawidłowego wyświetlania na wąskich ekranach;
  • Wprowadzono zmiany, które zakłócają zgodność. Nowa wersja nie jest kompatybilna z hostami opartymi na Syncthing 0.14.45 i starszymi wersjami.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster