Syncthing windows запуск как служба

Обновлено: 04.07.2024

Если вам необходимо облако, вы можете его арендовать, например Dropbox. Но, проще и выгодней поднять свой собственный сервер под управлением Syncthing. Из достоинств своего облака можно выделить неограниченное дисковое пространство, относительная бесплатность. Так как вам не придется каждый месяц платить за облачное хранилище, а собрать сервер можно за копейки, а то и вовсе пустить под сервер свой старый компьютер. Syncthing шифрует передаваемые данные, а это значит, что все ваши данный останутся в безопасности. Так же вы сможете подключать к серверу под управлением Syncthing устройства на Android, Windows и Linux. Что в свою очередь весьма удобно. Особенно, если вам необходимо облачное хранилище например в компании, да и в домашних условиях такая роскошь отнюдь не лишена смысла. Из достоинств Syncthing можно выделить конфиденциальность, шифрование, открытый программный код, простота. Весь процесс настройки можно осуществить при помощи веб-интерфейса.

Устанавливаем облачное хранилище Syncthing

Устанавливать мы будем на сервер под управлением Debian / Ubuntu. Но, для начала нам понадобится инструмент под названием “curl”, далее необходимо скачать и добавить в нашу систему GPG ключ, делается это командами:

Теперь подключаем репозиторий:

После чего устанавливаем Syncthing:

sudo apt-get update
sudo apt-get install syncthing

Настройка облачного хранилища Syncthing

С настройкой все достаточно просто, запускаем Syncthing, это можно сделать как из терминала, так и используя иконки запуска, которые вы найдете в установленных приложениях. Иконка Start syncthing запустит syncthing, а Syncthing Web Ui запустит браузер с нужным нам ip адресом для настройки syncthing. Что бы запустить через терминал, достаточно набрать в терминале название “syncthing”

P.S. если же вы устанавливаете syncthing на сервер без графического окружения, запустить syncthing можно выполнив команды:

sudo systemctl enable syncthing @user .service
sudo systemctl start syncthing @user .service

Где “ user ” необходимо заменить на пользователя, который у вас создан в системе, либо, создать нового пользователя, который будет запускать syncthing.

Далее идем в браузер, откуда мы и будем производить настройки syncthing. В браузере вбиваем адрес:

Это продолжение темы про Syncthing. В предыдущей статье я рассказал как установить официальные репозитарии Syncthing чтобы обновления устанавливались по мере их выхода и содержали Syncthing в актуальном состоянии. В этой статье я коротенько расскажу как сделать, чтобы Syncthing запускался автоматически. Это точно работает на Ubuntu 14.04 LTS, я проверял :)

syncthing-screenshot
О вариантах автозапуска Syncthing

Есть несколько вариантов организации автозапуска Syncthing, это запуск вместе с графической оболочкой при запуске сеанса пользователем (подходит для не обременённого пользователя), запуск как сервис системы (фактически сервер для всех) и запуск под именем одного из пользователей, например хозяина компьютера (без варианта использования для других пользователей). И ясное дело, что я использую последний вариант.

Как настроить автозапуск

Требуется создать в системном каталоге файл (/etc/init/syncthing.conf) и перезапустить всю систему.

Открыть терминал комбинацией [CTRL+ALT+T]

Для Ubuntu 16.04

замените в командах ниже username на своё имя

Для Ubuntu раннее, чем 16.04

Запустить команду редактора от имени root:

Вставить содержание файла /etc/init/syncthing.conf:

Замените %username% на требуемое (например ваше) имя пользователя.

И сохранить файл /etc/init/syncthing.conf нажав в редакторе [CTRL+O] и для выхода [CTRL+X]

Продолжение для всех

В терминале пишем для перезагрузки:

Примечание

узнать на каком порту работает Syncthing можно посмотрев в файле /home/morikoff/.config/syncthing/config.xml строку (в нашем случае это 8384):

это говорит, что веб-интерфейс администрирования сервера откликается только локально, но изменив адрес на

вы получаете доступ по сети с других айпи-адресов. Войдите в этот веб-интерфейс и установите имя и пароль админа (я думаю это полезно).

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

В домашнем каталоге вашего пользователя как %username% появится каталог

/Sync, который предназначен для создания в нём структуры каталогов синхронизаций. Но это ещё не всё. В следующей статье я расскажу о практическом применении Syncthing.

syncthing

Намучившись с Bittorrent Sync, наконец стал виден свет в конце туннеля. Свободный Syncthing! Уже сейчас, он объективно лучше своего проприетарного аналога. Поговорим о нем.

*запись дополнена 5.10.2016

Ставим Syncthing в Ubuntu . Итак, поехали (добавляем репозиторий, импортируем ключ, устанавливаем):

Далее, будет первый запуск Syncthing. Дайте ему штатно запустится:

Найти секцию (с 127.0.0.1):

И заменить ее на (0.0.0.0):

Настроим автозапуск Syncthing и ее работу как системной службы.

=========== Ubuntu 14.04 (upstart) ===========

Создаем сам скрипт:

Содержимое скрипта (demouser заменить на своего юзверя):

Дальнейший запуск и остановку нужно теперь выполнять следующей командой (запускается как демон, в фоне):

=========== Ubuntu 16.04 (systemd) ===========

Серверный.. создаем сам скрипт:

Десктопный.. создаем сам скрипт (создайте папки эти в home):

Вот и все! Настройка автозапуска завершена.

=========== Windows (Task Manager) ===========

О нет! Неужели мы собрались использовать эту порочную ОС, погрязшую в ереси? А почему нет? Наверняка, в хозяйстве, где-нибудь такая да есть. Так почему бы не сделать из нее дополнительную ноду? Сделаем! Суть такова: скачайте с сайта и положите куда-нить Syncthing для Windows, это portable версия и ее можно сразу запускать, а после старта переходить в веб-интерфейс (все точно так же, как описано выше).

После создания, там же ее можно сразу и запустить из общего списка.

Веб-интерфейс Syncthing

Как видите, все довольно просто, наглядно и понятно. Почти все можно настроить.

Выводы

It just works! Я специально не стал перехешировать все эти 100 гиг (который уже были на моих нодах, после старого синхронизатора) и дал ему возможность проявить себя. И он справился. Никаких нареканий. Идеально!

Привет
подскажи что значит параметр Master в настройках папки?

Это значит, что эту папку можно изменить будет только на этом сервере.. остальным серверам она будет доступна только для чтения.

Кол тебе в глаза за темный фон и серый текст.
С телефона читать невозможно!

Ну можно еще примонтировать по samba-cifs, без разницы, Synthing же без разницы как будет примонтирована папка.

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

Возможности платформы Syncthing

  • Кроссплатформенность - поддерживаются почти все популярные операционные системы.
  • Мобильность - существует приложение для Android, обещается приложение для IOS.
  • Безопасность - все данные передаются в зашифрованном виде. Каждый узел идентифицируется заверенным сертификатом. Подробнее о безопасности можно прочитать здесь.
  • Управление версиями файлов - защита от случайного удаления, также поддерживается ступенчатое управление версиями.
  • Синхронизация по схеме P2P - для передачи файл разбивается на части, и если он есть на других нодах вашего кластера, то они тоже участвуют в передаче.
  • Возможность работы через NAT и фаерволы.
  • Open Source! - открытый код и стандартизированный протокол Block Exchange Protocol v1.

Основные термины в Syncthing

ID - уникальный идентификатор устройства.
Релеи - сервера, которые используются для передачи трафика между устройствами в случае невозможности установки прямого соединения.
Глобальное обнаружение - сервера, сопоставляющие ID устройств их внешним IP адресам. При отключении функции и смене внешнего IP адреса устройство будет недоступно через интернет.
Локальное обнаружение - широковещательная рассылка IPv4 и IPv6 пакетов по локальной сети, содержащих ID устройства и номер прослушиваемого порта. При отключении функции и смене IP адреса устройство будет недоступно в локальной сети.

Настройка Syncthing в Windows

Syncthing интерфейс

Приложение Syncthing не требует установки, просто распаковываем и запускаем syncthing.exe. Все ссылки для загрузки Syncthing можно посмотреть на странице программы. Само приложение консольное, графический интерфейс сделан в виде web-станицы и доступен по адресу 127.0.0.1:8384.


Чтобы добавить устройство, необходимо знать его ID. Также на добавляемом устройстве необходимо подтвердить это действие. Нажимаем «Add Remote Device» и вписываем идентификатор и название устройства. Можно указать, какими папки с ним можно поделиться.



Затем подтверждаем запрос на удаленном устройстве


Запуск с параметрами

Если планируется часто использовать программу, то имеет смысл настроить автозапуск. Можно настроить запуск в планировщике Windows. При этом, если Вы хотите запускать приложение без входа пользователя (актуально для серверов), то необходимо задать пароль для графического интерфейса и выполнять от имени непривилегированного пользователя. Это требуется для безопасности!
Можно добавить аргументы к запуску: -no-console -no-browser , что означает «не запускать консоль, не открывать в браузере».


Управление версиями файлов

Чтобы защитить свои файлы от случайного удаления, включаем функцию управления версиями файлов. Для этого на нужной папке кликаем кнопку «Изменить» и задаем подходящий вариант управления версиями.


Запуск собственного relay сервера

Как уже было сказано выше, при отсутствии прямого соединения между устройствами, оно устанавливается через relay сервер. В принципе, ничего страшного в этом нет, единственная получаемая этими серверами информация - это IP адреса клиентов и их ID, весь передаваемый трафик проходит в зашифрованном виде. Другой вопрос, что этих серверов не так уж много. И поскольку это некоммерческий проект, то скорость передачи данных никто гарантировать не может. Но ничто не мешает Вам развернуть собственный relay сервер.

Syncthing relay сервер

Скачиваем и распаковываем архив с сервером, который представляет собой консольное приложение. При первом запуске в папке с программой генерируются сертификат и секретный ключ RSA. Расположение ключа и сертификата можно изменить командой -keys, например, -keys="C:\Keys" . По умолчанию сервер запускается как общедоступный. Чтобы запускать его как приватный, необходимо использовать команду -pools="" .


relay сервер - запуск с параметрами

Для запуска релей сервера с параметрами удобно будет создать ярлык.



Команда -listen=":22069" задает прослушиваемый порт, по умолчанию используется TCP 22067. Ниже приведу список команд, с описанием на английском:

Usage of relaysrv:
-debug
Enable debug output
-ext-address string
An optional address to advertising as being available on.
Allows listening on an unprivileged port with port forwarding from e.g.
443, and be connected to on port 443.
-global-rate int
Global rate limit, in bytes/s
-keys string
Directory where cert.pem and key.pem is stored (default ".")
-listen string
Protocol listen address (default ":22067")
-message-timeout duration
Maximum amount of time we wait for relevant messages to arrive (default 1m0s)
-network-timeout duration
Timeout for network operations between the client and the relay.
If no data is received between the client and the relay in this
period of time, the connection is terminated. Furthermore, if no
data is sent between either clients being relayed within this
period of time, the session is also terminated. (default 2m0s)
-per-session-rate int
Per session rate limit, in bytes/s
-ping-interval duration
How often pings are sent (default 1m0s)
-pools string
Comma separated list of relay pool addresses to join (default "https:// relays.syncthing.net/endpoint")
-provided-by string
An optional description about who provides the relay
-status-srv string
Listen address for status service (blank to disable) (default ":22070")

Адрес relay сервера

После того, как определились с нужными командами, необходимо открыть порт для нашего relay сервера. Как открыть порт на роутере, можно прочитать в статье.
Теперь можно указывать в устройствах в качестве релея свой собственный сервер. Пишется он в следующем формате: relay://192.168.10.2:22069. Здесь можно указывать как внешний IP адрес, так и домен.
UPD: Теперь релеи необходимо указывать в поле "Адрес протокола синхронизации".


Настройки Syncthing в Android приложении аналогичны настройкам в Windows. Там их также можно производить через Web интерфейс.

Читайте также: