Настройка Syncthing (с картинками!) — технические подробности 2

Написано

в

,

Правим конфиг вручную

Этот пост для людей, которые любят всё настраивать вручную. Например, для прибабахнутых компьютерных гиков или сочувствующих им. Для мимокрокодилов тоже подойдёт.

Оглавление
  1. Запуск по-быстрому
  2. Управление общими папками
  3. Специальные папки Syncthing
  4. Правим конфиг вручную (вы здесь)
  5. Прикручиваем к Syncthing телефон
  6. Неожиданный бонус от синхронизации телефона
  7. Как удалять папки

Syncthing предоставляет все инструменты управления и настройки с помощью Web-интерфейса, в который можно попасть, набрав в адресной строке браузера «127.0.0.1:8384».

А все свои настройки программа хранит в файле «config.xml», который находится по пути «ПРОФИЛЬ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Syncthing».

Представляет собой обычный XML-файл, который можно открыть любым текстовым редактором.

Нет, Word не подойдёт. А то были случаи…

А это означает что?

Правильно!

Мы можем взять этот файл и покопаться у него в кишочках напрямую!

Внимание! Перед всеми манипуляциями с файлом «config.xml» сначала скопируйте его куда-нибудь в качестве резервной копии. Если вдруг выяснится, что руки у вас всё-таки из жопы — это копия окажется весьма кстати.

А вот что внутри файла:

Как видно, ничего сложного. Если вы немного шарите в английском — то можно без труда понять, что и как, просто почитав тэги.

Например, вот секция свойств папки:

А вот секция устройства:

Для каждого устройства и/или папки создаётся свой набор параметров. Это очевидно.

Также здесь находятся и собственные настройки Syncthing. Например, вот параметры Web-интерфейса:

Данные внутри тэгов как раз таки и есть те самые параметры, часть из которых можно изменить через Web-интерфейс Syncthing.

Имена самих тэгов менять нельзя!

К чему я вообще всё это рассказываю?

А к тому, что мы можем поменять вообще любой параметр в этом файле вручную. Причём даже то, что менять с помощью Web-интерфейса нельзя. Например, ID папки или путь до неё (эти данные можно установить только однократно при добавлении новой папки — после добавления эти поля становятся недоступными для редактирования).

Ну что, поэкспериментируем?

Итак.

По умолчанию Syncthing управляется через Web-интерфейс на порту 8384.

А давайте-ка поменяем порт 8384 на, например, 12345. Не спрашивайте, почему именно 12345, я так вижу.

Открываем «config.xml» и меняем порт:

Не забываем сохранить изменения.

Теперь надо перезапустить Syncthing, иначе программа не сообразит, что порт изменился.

Вообще перезапуск рекомендую делать при любых изменениях конфигурации.

И тут всё ломается! Программа останавливается и ни на что не реагирует!

А-а-а-а, всё пропало!

Не пугайтесь, ничего страшного не произошло. Программа остановила свой Web-сервер на порту 8384 и запустила его заново, но на порту 12345. Мы же ведь этого хотели?

Если обновить страницу, то браузер так и скажет, что ничего подходящего у него на этом порту нет:

Однако если в адресной строке поменять порт на 12345, то всё чудесным образом заработает:

Ничего сложного!

Если при редактировании файла «config.xml» наворотить какой-нибудь херни, то программа просто выключится, если не сможет переварить настройки.
В этом случае вам как раз и пригодится резервная копия, если вы её заблаговременно сделали.

Ведь сделали же, да?

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

Вот пример изменения конкретно порта Web-интерфейса.
Идём в меню «Действия», там кликаем на пункте «Дополнительно»:

В следующем меню раскрываем вкладку «Интерфейс»:

И меняем адрес порта. Потом снизу нажимаем кнопку «Сохранить». Всё.

Вообще этот пост я затеял для того, чтобы показать, как всё-таки можно изменить поля, недоступные для редактирования, например, ID папки или путь к ней.

В этом легко убедится, если зайти в свойства папки:

И нажать кнопку «Редактировать». Мы увидим, что ярлык папки поддаётся изменению, а вот поля «ID папки» и «Путь к папке» недоступны и их редактировать нельзя.

Открываем файл «config.xml».

Напоминаю, что он находится по пути «ПРОФИЛЬ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Syncthing»

Ищем нужную нам папку. Если папок вы наплодили уже много — рекомендую вести поиск по ID нужной папки — это строка цифр и букв уникальна и принадлежит только одной папке, так что не ошибётесь.

Итак, всё найдено. Меняем путь папки на новый («C:\Test» на «C:\Test2»):

Обратите внимание, что ниже редактируемой строки видно ID (длинная строка буквоцифр). Это устройства, к которым привязана эта папка.

Это просто к сведению.

Перезапускаем Syncthing. Думаю, уже можно обойтись без скриншотов этой операции.

Готово. Теперь папка будет по новому пути. Никаких действий больше не нужно.

Такой способ замены пути идеален в случае, если папки уже настроены и привязаны к другим устройствам, так как при использовании Web-интерфейса для этой операции вам придётся:

  1. Удалить папку из списка.
  2. Создать её заново, но уже с правильным путём.
  3. Предоставить доступ к этой папке нужным устройствам.
  4. Сходить к каждому устройству и подтвердить доступ.
  5. Удалить с каждого устройства уже не нужную старую папку.

То есть, количество движухи сильно больше.

По-моему, вывод очевиден — прямое редактирование файла конфигурации проще и быстрее.

Теперь расскажу, как поменять ID папки таким же способом.

Я понимаю, что эта информация, скорее всего, уже избыточна. Но я всё равно поделюсь, хотите вы этого или нет.

Замена ID папки, в целом, не шибко отличается от замены пути.

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

Ну ладно, ещё раз покажу:

Открываем файл «config.xml», ищём нужный ID и меняем его:

Сохраняем файл, перезапускаем Syncthing.

И вот тут начинается целый каскад приключений.

Второй компьютер (который «Server») обнаруживает, что у компа «Main» (это где мы сейчас), исчезла общая папка. Ну правильно, мы же поменяли идентификатор папки. И «Server» заботливо предлагает принять у него эту папку, так как «Main» уже вписан в доступ к этой папке:

В свою очередь компьютер «Main» обнаруживает, что у компа «Server» нет папки с таким ID (потому что идентификатор теперь другой), но в доступе к папке он присутствует. Поэтому «Main» тоже отправляет запрос второму компьютеру:

Мы можем на каждом устройстве согласиться с добавлением.

Но у такого решения есть некоторые минусы:

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

Поэтому лучше исправить ID папки таким же образом, как и на «Main». То есть, найти файл «config.xml» по пути «ПРОФИЛЬ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Syncthing» и исправить идентификатор прямо в нём.

После чего, естественно, перезапустить Syncthing.

Конец

Оглавление
  1. Запуск по-быстрому
  2. Управление общими папками
  3. Специальные папки Syncthing
  4. Правим конфиг вручную (вы здесь)
  5. Прикручиваем к Syncthing телефон
  6. Неожиданный бонус от синхронизации телефона
  7. Как удалять папки
1
0

Комментарии

2 ответа для «Настройка Syncthing (с картинками!) — технические подробности 2»

  1. Аватар пользователя deexy
    deexy

    Все, что ты делаешь, правда круто. Очень приятно забежать на сайт и почитать всякого, особенно, что это сделано моим отцом. Продолжай!

    1. Аватар пользователя papa

      Спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

:mini-acute: 
:mini-bad: 
:mini-biggrin: 
:mini-blush: 
:mini-boredom: 
:mini-bye: 
:mini-clapping: 
:mini-cray2: 
:mini-crazy: 
:mini-dance: 
:mini-dash: 
:mini-diablo: 
:mini-dirol: 
:mini-fool2: 
:mini-good: 
:mini-greeting: 
:mini-happy: 
:mini-laugh2: 
:mini-lol: 
:mini-mocking: 
:mini-nea: 
:mini-new-russian: 
:mini-ok: 
:mini-pardon: 
:mini-rofl: 
:mini-sad: 
:mini-secret: 
:mini-shok: 
:mini-smile: 
:mini-sorry: 
:mini-stop: 
:mini-unknown: 
:mini-yahoo: 
:mini-yes: