Syncthing — кроссплатформенное приложение клиента/сервера для синхронизации файлов напрямую между клиентами, написанное на Go. Похожий на BitTorrent Sync, этот инструмент может использоваться для синхронизации файлов между компьютерами, но, в отличие от BitTorrent Sync, код Syncthing полностью открыт. Как утверждают разработчики, «Syncthing заменяет Dropbox и BitTorrent Sync на что-то открытое, надежное и децентрализованное. Ваши данные — это ваши данные, и вы решаете, где они должны храниться, будут ли они доступны кому-то ещё и как они передаются по Интернету. При использовании syncthing, контроль возвращается вам”.
Веб-интерфейс Syncthing
Открытым является код не только Syncthing. P2P-протокол, который использует Syncthing, названный «Block Exchange Protocol», также открыт.
В отличие от облачных инструментов синхронизации на Dropbox, Syncthing передает файлы напрямую между другими компьютерами, на которые вы установили Syncthing, и это дает нам следующие преимущества: ваши файлы не хранятся на каких-либо облачных серверах, скорость передачи не зависит от сторонних серверов, а также отсутствуют ограничения по свободному пространству (конечно, очевидно, единственным ограничением является свободное место на жестких дисках компьютеров).
Главные возможности Syncthing:
- вы можете синхронизировать так много папок, как вам нужно, с различными людьми
- отзывчивый веб-интерфейс
- кроссплатформенность: Syncthing работает на Linux, Mac OS X, Windows, FreeBSD и Solaris. Также доступен неофициальный порт на Android
- Syncthing не требует каких-либо глубоких настроек и должен работать изначально, и через локальную сеть, и через Интернет
- безопасность и приватность: данные хранятся только на ваших компьютерах без использования центрального сервера, вся связь защищена с помощью TLS, каждый компьютер идентифицируется сильным криптографическим сертификатом, и только отмеченные вами компьютеры могут подключаться к вашему кластеру
- открытое приложение и протокол, на котором оно работает
Важно также заметить, что при использовании Syncthing, вы можете выбрать, с какими компьютерами делиться каждым репозиторием. То есть, например, вы можете создать несколько репозиториев и включить/выключить обмен файлами с некоторыми существующими компьютерами “на лету”:
Также в Syncthing присутствует опция под названием “мастер-репозиторий”, которая, если она включена, защищает файлы от изменений, сделанных на других компьютерах, но изменения, сделанные на текущем компьютере, будут по-прежнему отправляться всем остальным.
Учтите, что Syncthing находится в состоянии постоянной разработки, и часто добавляются новые/улучшенные возможности. Например, текущий релиз включает простую систему версий файлов, но в будущем будет добавлена более продвинутая система работы с различными редакциями файлов.
Вот ещё несколько скриншотов Syncthing (веб-интерфейс):
Загрузить Syncthing
Загрузить Syncthing:
- Загрузить Syncthing — бинарные файлы доступны для Linux (32bit, 64bit, ARMv5, ARMv6 — поэтому утилита работает и на Raspberry Pi, ARMv7), Mac и Windows, а также доступны исходные коды приложения
- Syncthing также доступен для Android в виде неофициального порта
- Arch Linux: вы можете установить Syncthing через AUR: последний релиз | git: https://aur.archlinux.org/packages/syncthing-git/
Чтобы запустить Syncthing на Linux-машине, просто загрузите архив, распакуйте его и дважды кликните на исполняемом файле «syncthing» в распакованной папке (или выполните его с помощью команды «./syncthing», находясь в распакованной папке). После запуска в вашем стандартном веб-браузере должна открыться новая вкладка с веб-интерфейсом Syncthing.
Вы захотите добавить несколько компьютеров — чтобы сделать это, вы можете прочитать руководство о начале работы с Syncthing здесь. Вы можете также изучить документацию проекта: http://discourse.syncthing.net/t/getting-started/46.
Сообщить об ошибках вы можете на странице проекта в GitHub.