Правим конфиг вручную
Этот пост для людей, которые любят всё настраивать вручную. Например, для прибабахнутых компьютерных гиков или сочувствующих им. Для мимокрокодилов тоже подойдёт.
Оглавление
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-интерфейса для этой операции вам придётся:
- Удалить папку из списка.
- Создать её заново, но уже с правильным путём.
- Предоставить доступ к этой папке нужным устройствам.
- Сходить к каждому устройству и подтвердить доступ.
- Удалить с каждого устройства уже не нужную старую папку.
То есть, количество движухи сильно больше.
По-моему, вывод очевиден — прямое редактирование файла конфигурации проще и быстрее.
Теперь расскажу, как поменять ID папки таким же способом.
Я понимаю, что эта информация, скорее всего, уже избыточна. Но я всё равно поделюсь, хотите вы этого или нет.
Замена ID папки, в целом, не шибко отличается от замены пути.
Где можно посмотреть ID папки я уже писал, поэтому заново это показывать не буду.
Ну ладно, ещё раз покажу:

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

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

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

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