Я довольно долго пользовался для синхронизации файлов между своими серверами, компьютерами и мобильными устройствами такой программой, как Resilio Sync (в девичестве BTSync). Но от Resilio пришлось отказаться, поскольку на протяжении нескольких лет разработчики так и не смогли избавиться от проблемы, связанной с зависанием приложения для Android. Ошибка была признанной, обнаруживалась у многих пользователей, но не исправлялась. Вероятно, что у Resilio просто закончились программисты для Android. Пришлось перейти на Syncthing.
Syncthing – open-source аналог Resilio, а именно децентрализованная система синхронизации файлов между устройствами. Принципы ее работы схожи с Resilio, но благодаря обширному комьюнити – система работает стабильно, мобильное приложение не останавливается, синхронизация происходит без сбоев. Как и у большинства open-source проектов, связанных с программным обеспечением, у Syncthing самую малость хромает документация. Разработчики справедливо полагают, что пользователь, решивший погрузиться в мир open-source, вполне сам способен просмотреть исходный код и найти нужный ему параметр настройки, а заодно и понять, что он означает, в каких случаях применяется, а в каких нет.
Syncthing может проводить синхронизацию между устройствами как напрямую, если оба устройства находятся в одной сети или же хотя бы одно из них имеет «белый» IP-адрес, так и через сервер посредник, расположенный где-то в глобальной сети. Поиск устройства для синхронизации осуществляется через сервер посредник обнаружения, расположенный тоже где-то в глобальной сети. Сообщество Syncthing предоставляет несколько десятков или даже сотен серверов посредников обоих типов, разбросанных по всему миру.