Vydání otevřeného P2P systému pro synchronizaci souborů Syncthing 2.0

Byla vydána verze systému pro automatickou synchronizaci souborů Syncthing 2.0, ve které synchronizovaná data nejsou nahrávána do cloudových úložišť, ale přímo replikována mezi systémy uživatele, když se současně nacházejí online. To využívá protokol BEP (Block Exchange Protocol), který se vyvíjí v rámci projektu. Kód Syncthing je napsán v jazyce Go a šíří se pod svobodnou licencí MPL. Hotové verze jsou připraveny pro Linux, Windows, macOS a FreeBSD.

Kromě řešení úloh synchronizace dat mezi několika zařízeními jednoho uživatele umožňuje Syncthing vytvářet velké decentralizované sítě pro ukládání sdílených dat, které jsou distribuovány mezi systémy účastníků. Jsou poskytovány prostředky pro kontrolu přístupu a vytváření výjimek pro synchronizaci. Je možné určit hostitele, kteří budou pouze přijímat data, tj. změny na těchto hostitelích se nebudou odrážet na instancích dat uchovávaných na jiných systémech. Podporováno je několik režimů verzování souborů, při kterých jsou uchovávány předchozí verze změněných dat.

Při synchronizaci je soubor logicky rozdělen na bloky, které jsou nedělitelné při přenosu dat mezi systémy uživatele. Při synchronizaci na nové zařízení, v případě existence identických bloků na několika zařízeních, se kopírování bloků provádí z různých uzlů, podobně jako funguje systém BitTorrent. Čím více zařízení se účastní synchronizace, tím rychleji probíhá replikace nových dat díky paralelizaci. V průběhu synchronizace změněných souborů jsou přes síť přenášeny pouze změněné bloky dat a při přejmenovávání nebo změně práv přístupu se synchronizují pouze metadata.

Kanály pro přenos dat jsou vytvářeny pomocí TLS, všechny uzly se vzájemně autentizují na základě certifikátů a identifikátorů zařízení, pro kontrolu integrity se používá SHA-256. K určení uzlů synchronizace v lokální síti může být použit protokol UPnP, u kterého není třeba ruční zadání. IP adress synchronizovaných zařízení. Pro nastavení systému a monitorování je k dispozici integrované webové rozhraní, CLI klient a GUI založené na knihovně GTK, které navíc poskytuje prostředky pro správu synchronizačních uzlů a repozitářů.

Klíčové změny v nové větvi:

  • Backend pro ukládání dat byl převeden z DB LevelDB na SQLite. Migrace dat se provádí automaticky při prvním spuštění po aktualizaci. Předpokládá se, že použití SQLite zjednoduší údržbu a analýzu dat, a také sníží počet chyb.
  • Byl změněn formát logování, které se nyní vytváří ve strukturované podobě (zpráva + parametry ve formátu klíč-hodnota). Přidána nová úroveň logování — WARNING, která není tak podrobná jako INFO, ale zahrnuje více informací než úroveň ERROR. Je poskytnuta možnost přiřazovat různé úrovně logování různým balíčkům.
  • Bylo ukončeno trvalé uchovávání odstraněných prvků v DB, podobné prvky jsou nyní odstraňovány po 6 měsících (čas lze změnit pomocí volby „—db-delete-retention-interval“).
  • Byl vylepšen kód pro analýzu voleb příkazového řádku a byla zastavena podpora zastaralého formátu s jednou pomlčkou (tj. místo „-home“ je nutné uvádět „—home“). Některé volby byly přejmenovány nebo převedeny do kategorie podpříkazů.
  • Bylo ukončeno vytváření výchozího adresáře při prvním spuštění.
  • Byla aktivována instalace několika síťových spojení mezi zařízeními používajícími Syncthing 2.x. Ve výchozím nastavení se vytvářejí tři spojení — jedno pro metadata indexu a dvě pro výměnu dat.
  • Byl změněn algoritmus pro řešení konfliktů při odstraňování souborů.
  • Vzhledem k obtížím s kros-kompilací SQLite byla ukončena výroba hotových spustitelných souborů pro platformy dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm a windows/arm.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster