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 обязательно


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

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

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

     
     
  • 4.37, Аноним (37), 14:22, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На Расте тоже есть клиент для этой сети.
     
     
  • 5.52, дАнон (?), 17:26, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нагуглил только заброшенный проект
     
  • 2.13, Аноним (13), 11:40, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лучше сразу переписывать на Python, так как это уже стандарт всей индустрии.
     
     
  • 3.17, Аноним (16), 11:47, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а чего мелочится, может сразу на bash script?
     
  • 3.22, Аноним10084 и 1008465039 (?), 12:57, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Python стандарт, да только, как мне кажется, не для такого рода приложений.
     
  • 3.35, myster (ok), 14:08, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарт? Может и ядро Linux, FreeBSD и Windows предлагаешь на Python написать? Нет? Почему нет, это же стандарт всей ИТ индустрии! (сарказм)
     
     
  • 4.43, Аноним (43), 16:14, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То, что стандартов может быть несколько и выбирать из них надо исходя из требований задачи вам в школе ещё не рассказывали?
     
     
  • 5.44, Аноним (44), 16:21, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Анониму(13) видимо не рассказывали.
     
     
  • 6.53, Аноним (53), 17:45, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так и напиши что не осилил.
     
  • 4.47, Аноним (47), 16:42, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше сразу на 1С.
     

  • 1.2, Аноним (2), 10:06, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >Из-за сложностей кросс-компиляции 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 +/
    Отличная вещь
     
  • 1.5, Аноним (5), 10:17, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    скачивать вещи бесплатно без смс можно? в нем есть аналог рутрекера?
     
     
  • 2.8, Аноним (8), 10:27, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да
     
  • 2.39, fb (??), 14:49, 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 сделать (поддерживается даже в Окнах).
     
     
  • 3.32, Аноним (32), 13:44, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это серверное решение, а syncthing - безсерверное. Совершенного разного класса софт, и к тому же syncthing без админского геммороя (для домохозяек)
     

  • 1.11, Аноним (11), 11:32, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Предполагается, что использование SQLite упростит сопровождение
    > Из-за сложностей кросс-компиляции SQLite прекращена сборка
     
     
  • 2.46, Аноним (-), 16:40, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Предполагается, что использование SQLite упростит сопровождение
    > Из-за сложностей кросс-компиляции SQLite прекращена сборка

    Так никакого противоречия.
    "SQLite упростит сопровождение" нормальных систем. Так и случилось.

    А для маргинальщины решать проблемы просто не целесообразно.
    Времени потратится много, но профит от этого получат полтора нетакусика.
    А более приоритетных багов в трекере дофига))

    Поэтому абсолютно закономерно переложить эти проблемы на самих любителей эдакого.
    Им всё равно с чем прдлиться, пусть займустся чем-то "полезным".

     

  • 1.14, Аноним (16), 11:42, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    авторы 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
     
     
  • 2.28, Аноним (28), 13:38, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень странно что в итоге они используют cgo версию Sqlite.
    Версия от modernc точно под bsd работает. Я ее в своих проектах использую и со сборкой проблем там не было.
    Когда смотрел код syncthing там видел что использовались оба варианта Sqlite и я думал что они например оставят cgo версию для x86 а для всего остального возьмут версию от modernc. Странно что они не остановились на таком варианте.
     

  • 1.25, Аноним (25), 13:27, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эх, жаль что скорее всего в условиях массовых блокировок оно стабильно работать не будет, скорее всего даже вообще работать не будет, когда блокировки различного трафика станут более жесткими.
     
     
  • 2.27, Аноним (32), 13:37, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Эх, жаль что скорее всего в условиях массовых блокировок оно стабильно работать
    > не будет, скорее всего даже вообще работать не будет, когда блокировки
    > различного трафика станут более жесткими.

    Это если инфрастурутура синтинга заблочена. Но, если свою поднять или напрямую IP'шники узлов вбивать (хотя бы 1), или в локалке - то всё должно работать )

     
  • 2.33, Аноним (28), 13:46, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Одним из вариантов транспорта там идет QUIC. Если полная блокировка повлияет далеко не только на Syncthing.
    И есть вариант поднять свой relay где будет просто tls соединение. Relay разве что по IP придется блокировать.
     
     
  • 3.38, Аноним (25), 14:41, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не поможет, все идет к тому, что будет белый список сайтов и провайдеров, а весь остальной трафик в бан. Он, этот белый список, в принципе уже есть, я с трудом в него пролез благодаря работодателю, который похлопотал. Просто пока все в тестовом режиме, рано или поздно рубанут по полной.
     
  • 2.45, Аноним (43), 16:22, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я разворачивал сабж в изолированной сети без вообще какого-либо доступа в интернет и всё отлично работало. И для себя потом от безделья делал полностью независимую сеть нод связанных через интернет. Завязываться на их инфраструктуру совершенно не обязательно.
     
     
  • 3.49, Аноним (49), 17:15, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Через Yggdrasil делал или ZeroTier?
     

  • 1.26, Аноним (26), 13:35, 13/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Смотрю, трекер по-прежнему забит ишьюсами о внезапном жоре CPU. Годы идут, но у Syncthing все стабильно.
     
     
  • 2.29, Аноним (32), 13:38, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Смотрю, трекер по-прежнему забит ишьюсами о внезапном жоре CPU. Годы идут, но
    > у Syncthing все стабильно.

    попробуйте syncspirit, в несколько раз меньше есть CPU по моим замерам.

     
     
  • 3.34, Аноним (26), 13:47, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, собираюсь. Но я выше  писал не о высоких системных требованиях сабжа, а о фантомно возникаемых багах. А потом смотришь описание с трудом найденной причины, а там какая-нибудь банальность, вроде того что разраб не додумался паузить индексацию изменяемых в данный момент файлов.
     
  • 2.31, Аноним (31), 13:43, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Оно и синькает как ей в голову взбредёт. Так что не надо такого.
     
     
  • 3.40, Аноним (43), 15:17, 13/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > синькает как ей в голову взбредёт

    Это фича, а не баг. А почему так и почему ты на самом деле хочешь чтобы оно синхронизировалось в случайном порядке можно догадаться, если хорошо подумать.

     

  • 1.51, Аноним (51), 17:21, 13/08/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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