The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск открытой P2P-системы синхронизации файлов Syncthing 2.0

13.08.2025 09:47

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

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

При синхронизации файл логически разбивается на блоки, которые неделимы при передаче данных между системами пользователя. При синхронизации на новое устройство, в случае наличия идентичных блоков на нескольких устройствах, копирование блоков производится с разных узлов, по аналогии с работой системы BitTorrent. Чем больше устройств участвуют в синхронизации, тем быстрее будет проходить репликация новых данных за счёт распараллеливания. В процессе синхронизации изменённых файлов, по сети передаются только изменившиеся блоки данных, а при переименовании или изменении прав доступа синхронизируются только метаданные.

Каналы передачи данных формируются при помощи TLS, все узлы аутентифицируют друг друга по сертификатам и идентификаторам устройств, для контроля целостности применяется SHA-256. Для определения узлов синхронизации в локальной сети может быть использован протокол UPnP, при котором не требуется ручной ввод IP-адресов синхронизируемых устройств. Для настройки системы и мониторинга предусмотрен встроенный web-интерфейс, 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.


  1. Главная ссылка к новости (https://forum.syncthing.net/t/...)
  2. OpenNews: Выпуск P2P-системы синхронизации файлов syncspirit 0.4.1, совместимой с Syncthing
  3. OpenNews: Выпуск открытой P2P-системы синхронизации файлов Syncthing 1.16
  4. OpenNews: Выпуск Venus 0.9, реализации платформы хранения FileCoin
  5. OpenNews: Опубликована P2P-платформа GNUnet 0.20
  6. OpenNews: Выпуск Nebula 1.9, системы для создания оверлейных P2P-сетей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63722-syncthing
Ключевые слова: syncthing, p2p
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним10084 и 1008465039 (?), 09:57, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раньше такие штуки любили на Java писать, сейчас видимо на Go
     
     
  • 2.3, Голдер и Рита (?), 10:12, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну и что?
     
     
  • 3.6, sqrt (?), 10:17, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и хорошо.
     
     
  • 4.16, Аноним (16), 11:46, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Плохо! Плохо что не Rust!
     
     
  • 5.19, Аноним (19), 12:28, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    так перепиши, чего ждёшь?
     
  • 3.21, Аноним10084 и 1008465039 (?), 12:57, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да просто как факт. Даже наверное не ностальгия. Я сам пишу на Go, на Java уже не довелось. Экосистема Go мне в принципе по нраву, работать можно, хотя и идеальной я ее не назову, впрочем идеалов в жизни и нету.

    В 2000-2010-е ещё вроде Java выглядела крепко, развитая инфраструктура, во всех телефонах (ну кроме появившихся айфонов разве что). Джава и сейчас, конечно, не исчезает никуда, но уже, скажем так, "не модно". Плюс ощущение тяжеловесности. В одной p2p-сети, помню, официальный клиент был на джаве, на когда вышел на C++, многие перешли на него, попутно проклиная джавские тормоза.

    А так - ждём новых ЯП, конечно, но и старые сразу не закапываем

     
  • 2.13, Аноним (13), 11:40, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    лучше сразу переписывать на Python, так как это уже стандарт всей индустрии.
     
     
  • 3.17, Аноним (16), 11:47, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а чего мелочится, может сразу на bash script?
     
  • 3.22, Аноним10084 и 1008465039 (?), 12:57, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Python стандарт, да только, как мне кажется, не для такого рода приложений.
     

  • 1.2, Аноним (2), 10:06, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Из-за сложностей кросс-компиляции SQLite прекращена сборка готовых исполняемых файлов для платформ dragonfly/amd64, illumos/amd64, netbsd/*, openbsd/386

    Глядь!
    Основной пул моих любимых ОС (на netbsd х86, судя по публичной стате, я вообще был единственным пользователем синктинга).
    Ну ничего, соберем руками.

     
     
  • 2.9, Аноним (-), 10:46, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Основной пул моих любимых ОС

    А месье знает толк!
    Хотя... кого только тут не встретишь, вот даже netbsdшники пожаловали.

     

  • 1.4, kravich (ok), 10:16, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная вещь
     
  • 1.5, Аноним (5), 10:17, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    скачивать вещи бесплатно без смс можно? в нем есть аналог рутрекера?
     
     
  • 2.8, Аноним (8), 10:27, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да
     

  • 1.7, Аноним (7), 10:18, 13/08/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

  • 1.10, Аноним (10), 11:02, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для Homelab пойдет?
     
     
  • 2.12, Аноним (12), 11:32, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    зачем?
     
  • 2.24, Аноним (24), 13:00, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пойдёт, но в локалке лучше NFS сделать (поддерживается даже в Окнах).
     

  • 1.11, Аноним (11), 11:32, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Предполагается, что использование SQLite упростит сопровождение
    > Из-за сложностей кросс-компиляции SQLite прекращена сборка
     
  • 1.14, Аноним (16), 11:42, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    авторы Syncthing украли протокол у BitTorrent Sync!
    это же воровство, это позор! это позор всего OpenSource сообщества!
     
     
  • 2.20, Аноним (13), 12:35, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У что конкретно у автора BitTorrent Sync пропало? Состава правонарушения здесь нету.
     

  • 1.18, Аноним (19), 12:25, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Бэкенд хранения переведён с БД LevelDB на SQLite. Миграция данные производится автоматически при первом запуске после обновления. Предполагается, что использование SQLite упростит сопровождение и анализ данных, а также сократит число ошибок.
    > ...
    > Из-за сложностей кросс-компиляции SQLite прекращена сборка готовых исполняемых файлов для платформ dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm и windows/arm."

    и то верно... меньше конпилячить — сразу всё упростилось...

     
  • 1.23, Аноним10084 и 1008465039 (?), 12:59, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Странно, кстати, насчёт Sqlite, вроде есть же modernc dot org, который Сишные библиотеки компилит в гошный код, чтобы без cgo работать. Но может у них и так оно не собралось под солярю и разные bsd
     
  • 1.25, Аноним (25), 13:27, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эх, жаль что скорее всего в условиях массовых блокировок оно стабильно работать не будет, скорее всего даже вообще работать не будет, когда блокировки различного трафика станут более жесткими.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру