Пуск на портала за синхронизиране на файлове P2P Syncthing 2.0

Представен е релизът на системата за автоматична синхронизация на файлове Syncthing 2.0, при която синхронизираните данни не се качват в облачни хранилища, а се репликират директно между системите на потребителя, когато те са едновременно онлайн, използвайки разработвания от проектa протокол BEP (Block Exchange Protocol). Кодът на Syncthing е написан на езика Go и се разпространява под свободната лицензия MPL. Готови сборки са подготвени за Linux, Windows, macOS и FreeBSD.

Освен решаването на задачи по синхронизация на данни между множество устройства на един потребител, с помощта на Syncthing е възможно създаването на големи децентрализирани мрежи за съхранение на общо споделени данни, които са разпределени между системите на участниците. Предоставят се средства за контрол на достъпа и създаване на изключения за синхронизация. Възможно е определянето на хостове, които ще получават само данни, т.е. промените на тези хостове няма да се отразяват на екземплярите данни, съхранявани на други системи. Поддържат се няколко режима на версиониране на файлове, при които се запазват предишни версии на променените данни.

При синхронизация файлът логически се разделя на блокове, които не могат да бъдат разделени при предаване на данни между системите на потребителя. При синхронизация към ново устройство, в случай че на множество устройства съществуват идентични блокове, копирането на блокове се извършва от различни узли, по аналогия с работата на системата BitTorrent. Колкото повече устройства участват в синхронизацията, толкова по-бързо ще се извършва репликацията на новите данни благодарение на паралелизацията. В процеса на синхронизация на променени файлове, по мрежата се предават само променените блокове данни, а при преименуване или промяна на правата за достъп се синхронизират само метаданните.

Каналите за предаване на данни се формират с помощта на TLS, всички узли се удостоверяват един друг по сертификати и идентификатори на устройства, за контрол на целостта се прилага SHA-256. За определяне на узлите за синхронизация в локалната мрежа може да се използва протокол UPnP, който не изисква ръчно въвеждане. IP адреса синхронизируемите устройства. За настройка на системата и мониторинг е предвиден вграден уеб интерфейс, CLI клиент и GUI на базата на библиотеката GTK, в който допълнително се предоставят средства за управление на възлите за синхронизация и хранилищата.

Ключови промени в новата версия:

  • Бекендът за съхранение е преместен от LevelDB на SQLite. Миграцията на данни се извършва автоматично при първото стартиране след обновлението. Очаква се, че използването на SQLite ще опрости поддръжката и анализа на данните, както и ще намали броя на грешките.
  • Формат на воденето на логовете е променен, като сега те се генерират в структурирана форма (съобщение + параметри във формат ключ-стойност). Добавен е ново ниво на логовете — WARNING, което не е толкова подробно като INFO, но обхваща повече информация в сравнение с нивото ERROR. Осигурена е възможност за задаване на различни нива на логовете на различни пакети.
  • Вечното съхранение на изтритите елементи в БД е прекратено, подобни елементи сега се изтриват след 6 месеца (времето може да се промени чрез опцията „—db-delete-retention-interval“).
  • Кодът за парсинг на опции за командния ред е подобрен и поддръжката на остарелия формат с едно тире е прекратена (т.е. вместо „-home“ трябва да се указва „—home“). Някои опции са преименувани или преведени в подкоманди.
  • Създаването на каталога по подразбиране при първото стартиране е прекратено.
  • Настройката на множество мрежови връзки между устройствата, използващи Syncthing 2.x, е активирана. По подразбиране се създават три връзки — една за метаданни на индекса и две за обмен на данни.
  • Алгоритъмът за разрешаване на конфликти в ситуация на изтриване на файлове е променен.
  • Поради сложностите на крос-компилацията на SQLite е прекратено изграждането на готови изпълними файлове за платформите dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm и windows/arm.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster