Показаны сообщения с ярлыком syncthing. Показать все сообщения
Показаны сообщения с ярлыком syncthing. Показать все сообщения

вторник, 10 февраля 2026 г.

При обращении к панели управления Syncthing в Windows отображается страница с предупреждением

В Windows после установки Syncthing и обращении к странице панели управления Syncthing из меню ожидается увидеть


но отображается страница предупреждения


В Linux такая проблема отсутствует. В Windows решение заключается в импорте в браузеры необходимых сертификатов Syncthing.

Ниже приводятся примеры для браузеров Chrome и Brave. Для остальных браузеров будет что-то аналогичное. Импортируемые сертификаты расположены в скрытой папке пользователя с настройками Syncthing. Чтобы она отобразилась необходимо в настройках Проводника включить отображение скрытых элементов. Ниже пример для Windows 10:


Путь к сертификатам Syncthing:  папка профиля – AppData – Local – Syncthing
Для приводимого примера путь: C:\Users\user\AppData\Local\Syncthing

Сертификаты для импорта: cert.pem и https-cert.pem


Импорт сертификатов Syncthing для браузера Chrome
в настройках браузера
(последовательные действия):






Импорт сертификатов Syncthing для браузера Brave
в настройках браузера
(последовательные действия):

Перейти в "Безопасность" (ниже) и далее




Однако после импорта сертификатов при обращении к странице панели управления Syncthing из меню вы снова можете получить страницу предупреждения:


Для получения отображения страницы без ошибки создайте на панели закладку с адресом страницы управления  http://127.0.0.1:8384  и обращайтесь к странице панели управления Syncthing через созданную закладку.

В качестве примера:



В результате у вас должна отображаться панель управления Syncthing:



среда, 2 октября 2024 г.

Редактирование атрибутов папки Sync ПО syncthing

При первом запуске установленного ПО Syncthing автоматически создаётся папка Sync, не предоставленная в доступ другим узлам сети. Если в панели управления посмотреть данные этой папки, то видно, что её идентификатором (id) является значение default, а описанием Default Folder. Если нажать на кнопку ниже "Редактировать", то обнаружится, что описание изменить возможно, но id папки изменить нельзя (поле затенено).



Имеется два пути: 1) удалить эту папку и для нужд синхронизаций создать новую; 2) отредактировать значения, установленные системой по умолчанию. Далее рассматривается второй вариант.

Откройте папку с файлом, отвечающий за id папки:

xdg-open ~/Sync/.stfolder   Отобразится нужный файл (пример):

Откройте этот файл в текстовом редакторе и измените строку folderID: на нужное значение, например:



Сохраните изменения в файле. Теперь откройте в любом текстовом редакторе файл конфигурации Syncthing и повторите изменения для значений folder id= и label= Файлом конфигурации является config.xml Чтобы до него добраться выполните команду

xdg-open ~/.local/state/syncthing 



Сохраните внесённые изменения и закройте файл. В панели управления через выпадающее меню "Действия" (Actions) выберите "Перезапустить". Альтернативно выполнить перезапуск можно двумя командами: остановить все экземпляры Syncthing, а затем запустить Syncthing снова.

killall syncthing

/usr/bin/syncthing serve --no-browser --logfile=/tmp/syncthing.log &

В панели управления должны отобразиться новые значения:



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

🔰   Дополнение. Если необходимо перенести папку Sync в любое другое место, то остановите Syncthing, перенесите её в нужное место на диске, а в файле конфигурации укажите новое расположение, за которое отвечает параметр path= 
Внимание. Убедитесь, что в перенесённой папке в наличии папка .stfolder Если вы включали версионность файлов, то также проверьте и наличие папки .stversions

Таким же образом можно отредактировать ярлыки и id и любых других папок для их предоставления в общий доступ. Ярлыки и id уже предоставленных в общий доступ папок необходимо редактировать на всех узлах сети, использующих данные папки.

среда, 28 августа 2024 г.

Автоматизация действий с файлами при использовании Syncthing

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

Подсчитывается количество файлов в папке источника $source (путь к папке задаётся в переменных скрипта, например, source=/home/minter/Документы/Exchange). Подсчёт производится без учёта вложенных папок папки источника, то есть из него исключаются папки .stfolder и .stversions. Также из подсчёта исключаются файлы, загрузка которых ещё не завершена и которые будут иметь расширение .tmp  Если результат подсчёта равен 0, то ничего не предпринимается. В противном случае выполняются какие-то действия.

#!/bin/bash
count=`find $source -maxdepth 1 -type f ! -name "*.tmp" | wc -l`
if [ $count -eq 0 ]; then
    :
  else
    перечисление действий или выполняемые скрипты sh
fi
exit

Например, перенести файлы jpg и mp4 в нужные папки $dest1 или $dest2. Подсчёт нужных файлов производится по их расширениям:

Для файлов jpg:

cjpg=`find $source -maxdepth 1 -name "*.jpg" | wc -l`
if [ $cjpg -eq 0 ]; then
      :
  else
      mv $source/*.jpg $dest1
fi

Для файлов mp4:

cmp4=`find $source -maxdepth 1 -name "*.mp4" | wc -l`
if [ $cmp4 -eq 0 ]; then
      :
  else
      mv $source/*.mp4 $dest2
fi 

Для переноса папок вопрос усложняется, так как необходимо учесть множество условий. Задача становится более простой, если передаваемая папка будет упакована в какой-либо архив: tar, zip. 7z  Если при подсчёте файлов будут найдены файлы с расширениями tar, zip, 7z, то будет запущена задача извлечения данных из таких архивов в папку назначения (например, $dest), а исходные файлы могут быть либо удалены начисто, либо перемещены в Корзину. Примеры ниже.

Файлы архивов tar

ctar=`find $source -name "*.tar" | wc -l`
if [ $ctar -eq 0 ]; then
    :
  else
    for package in $dest/*.tar;
    do
    tar -xf "$package" -C $dest
    done
    # указать одно из двух
    rm $source/*.tar  # удалить начисто
    gio trash $source/*.tar  # удалить в Корзину
fi

Файлы архивов tar.gz

ctargz=`find $source -name "*.tar.gz" | wc -l`
if [ $ctargz -eq 0 ]; then
    :
  else
    for package in $dest/*.tar.gz;
    do
    tar -xzf "$package" -C $dest
    done
    # указать одно из двух
    rm $source/*.tar.gz  # удалить начисто
    gio trash $source/*.tar.gz  # удалить в Корзину
fi

Файлы архивов zip

czip=`find $dest -name "*.zip" | wc -l`
if [ $czip -eq 0 ]; then
    :
  else
   for package in $dest/*.zip;
   do
   unzip -d $dest "$package"
   done
    # указать одно из двух
    rm $source/*.zip  # удалить начисто
    gio trash $source/*.zip  # удалить в Корзину
fi

Файлы архивов 7z

c7zsp=`find $source -name "*.7z" | wc -l`

if [ $c7z -eq 0 ];
  then
    :
  else
    for package in $source/*.7z;
    do
    7z x "$package" -o$dest
    done
    # указать одно из двух
    rm $source/*.7z  # удалить начисто
    gio trash $source/*.7z  # удалить в Корзину
fi

Если архивы 7z закрыты паролем, данный пароль не меняется и применяется постоянно, то команда распаковки будет иметь вид:

7z x -pпароль "$package" -o$dest

Такие архивы можно помечать дополнительной буквой, например s, добавляемой к концу имени файла. Тогда вместо *.7z нужно будет указать *s.7z

воскресенье, 1 октября 2023 г.

Исключение из синхронизации Syncthing файлов в папке. Файл stignore

При использовании в Windows стороннего ПО по назначению значков на папки всё, на первый взгляд, выглядит красиво:


Но эта "красота неописуемая" может быть моментально разрушена пользователем Syncthing, у которого используется Linux, а одна из указанных выше покрашенных папок назначена в синхронизацию через Syncthing. Дело в том, что за отрисовку таких папок отвечают файлы desktop.ini и, не обязательно, но в описываемом случае это имеет место, файлы с расширением ico. Если в Windows данные файлы являются скрытыми и по умолчанию в папке не отображаются, то в Linux они будут показаны явно. Ниже пример для папки WL-1 (см. рис. выше), которая через Syncthing синхронизируется с компьютером под управлением Linux:


Можно сколько угодно предупреждать или просить респондента не трогать файлы ini и ico, но всегда найдётся персонаж, который про это забудет и их удалит, в результате чего в Windows отображение синхронизируемой папки станет стандартным, то есть как все остальные папки.

Чтобы избежать такой ситуации в Windows создайте в синхронизируемой через Syncthing папке специального файла игнорирования .stignore (начинается с точки и расширения не имеет) и впишите в него нужные файлы. Сохраните и закройте текстовый редактор. В свойствах файлы укажите, что он скрытый. Пример ниже: 




После этого любые действия с этой папкой с использованием синхронизации её содержания через Syncthing не будут затрагивать указанные в .stignore файлы. Можно даже попросить респондента удалить файлы ini и ico – ваши файлы ini и ico эта операция не затронет. В панели управления Syncthing видно, что количество синхронизируемых объектов уменьшено шаблонами игнорирования:




В данной заметке изложен только частный случай использования возможностей синтакисиса файла .stignore  Перейдите в раздел документации (нижняя часть страницы панели управления Syncthing) и прочитайте документацию по файлу .stignore от разработчиков Syncthing.




понедельник, 24 октября 2022 г.

Syncthing как служба в Windows 7/10

Возникла необходимость иметь небольшую и самую простую виртуальную машину Windows 7, в силу чего была установлена версия "Домашняя". Однако при организации обмена файлами с данным компьютером в локальной сети появился ряд неразрешимых проблем: 

1) с установленным сервером ftp невозможно было соединиться, несмотря на внесение необходимых записей в настройки сетевого экрана Windows (и даже при его отключении);

2) общие папки доступа на основной машине Linux не отображались даже при необходимых произведенных изменениях в параметрах сетевого обнаружения и доступа.

Способ подключения папок общего доступа в Virtualbox было решено не использовать по причине необходимости обмена файлами с ещё одним компьютером домашней локальной сети.

Проблема с обменом файлами (папками) решилась установкой Syncthing.  Описанное выше работает и в Windows 10.

На сайте Syncthing для Windows рекомендована установка SyncTrazor. Но держать лишнее приложение в системной трее было воспринято как не совсем хорошая идея и было принято решение поискать возможность запуска обычного экземпляра Syncthing без графического интерфейса, тем более что всё равно управление Syncthing производится через браузер.

Скачайте syncthing необходимой разрядности (32 или 64).

Для установки Syncthing как системной службы используйте ПО nssm нужной разрядности (скачать архив). Дальнейшие действия производились в соответствии с найденными рекомендациями.

Поскольку создание отдельных папок для nssm и syncthing показалось мне "расточительством", то оба этих файла были помещены в одну и ту же папка apps.



Далее открывается командная строка, запущенна от имени администратора и выполняются следующие команды:

c:\apps\nssm.exe install Syncthing c:\apps\syncthing.exe

c:\apps\nssm.exe set Syncthing AppDirectory c:\apps

c:\apps\nssm.exe set Syncthing start SERVICE_DELAYED_AUTO_START

В некоторых версиях Windows это может не получиться. Касается ситуации автоматического перехода командной строки в папку system32. В таком случае следует ввести команду перехода в папку c:\apps ( cd c:\apps ) и далее выполнить команды:

 nssm.exe install Syncthing c:\apps\syncthing.exe

nssm.exe set Syncthing AppDirectory c:\apps

nssm.exe set Syncthing start SERVICE_DELAYED_AUTO_START

Поясняющий рисунок ниже:



В результате в системе будет создана служба Syncthing, выполняемая при старте системы с некоторой задержкой (отложенный запуск).



Syncthing должен запускаться от имени пользователя системы. Поэтому изменяю параметры запуска службы с системной учётной записи на учётную запись пользователя.



Если имя учётной записи пользователя системы "забыто", то его можно найти, найти на кнопку "Обзор..." справа (рис. выше).



Нажать на кнопку "Дополнительно" и убедиться в том, что в верхней строке среди объектов поиска присутствует "Пользователи". После чего снова нажать на кнопку "Поиск".




Перезагрузить Windows и проверить доступ к панели управления Syncthing, указав в адресной строке браузера  http://127.0.0.1:8384  Результатом должно быть отображение панели управления Syncthing.

четверг, 14 октября 2021 г.

Syncthing – синхронизация файлов и папок между устройствами в ЛВС и через Интернет


Как пишет Википедия, Syncthing – приложение, позволяющее синхронизировать файлы между несколькими устройствами. Присутствует поддержка сохранения последовательных версий файла по нескольким алгоритмам, включая пользовательский, что позволяет использовать Syncthing также для целей резервного копирования, хотя это и не рекомендуется.

Толчком для создания приложения сослужил инструмент синхронизации BitTorrent Sync. Разработчик изначально планировал раскрыть исходный код программы под свободной лицензией, но впоследствии код открыт не был. Для open source сообщества это послужило мотивацией к написанию открытой альтернативы – Syncthing под лицензией MIT.

Первая попытка использования данного инструмента была мной предпринята в 2020 году, однако тот "штурм" у меня не увенчался успехом. И только через год хватило терпения и усидчивости разобраться с настройкой и использованием данного программного продукта.

Так как настройка с первого раза может показаться немного запутанной, то в данной публикации предпринята попытка пошагового объяснения процесса настройки синхронизаций. Если изображение слишком маленькое, то щёлкните по нему для его увеличения. Весь "разбор полётов" разбит на условные блоки информации:

– установка Syncthing;
– имя устройства;
– другие (удалённые) устройства;
– назначение папок для синхронизации;
– перенос папки Default Folder;
– syncthing на Windows;
– предоставление новой папки в доступ другому устройству;
– наблюдение (мониторинг) за процессами синхронизаций;
– автостарт и ручной запуск;
– проверка синхронизации через Интернет;
– некоторые заключительные замечания;
– безопасность.

Установка Syncthing

Установку Syncthing можно осуществить на на компьютеры (ноутбуки), так и на мобильные устройства. Скачивание ПО производится с официального сайта. Поскольку Syncthing у меня используется на компьютерах под управлением Linux Mint, то установка была осуществлена посредством последовательного выполнения трёх терминальных команд:

sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

sudo apt updtae && sudo apt install -y syncthing

После установки в разделе "Интернет" главного меню появилось два пункта: Start Syncthing и Syncthing Web GUI, первый из которых производит собственно запуск программы, а второй является панелью управления и настроек Syncthing через браузер. 

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

/usr/bin/syncthing serve --no-browser --logfile=default

Примечание. logfile можно указать свой, например при запуске через sh

$log=/home/minter/Reports/$(date '+%d').syncthing.txt
/usr/bin/syncthing serve --no-browser --logfile=$log

В приводимом примере лог-файл в течение месяца каждый день будет новым.

Имя устройства

В правом столбце панели управления отображены сведения о Вашем устройстве. По умолчанию имя устройства совпадает с именем компьютера:


Если оно не устраивает, то его можно изменить, обратившись к меню "Действия – Настройки" в правом верхнем углу


Также обратите внимание на секцию "Подключения", в которой можно задать ограничения входящей и исходящей скоростей, а также снять галочки в неиспользуемых возможностях. По умолчанию всё включено, а скорость не ограничена: 


✔  Если поинтересоваться ссылкой "Помощь" в строке "Адрес протокола синхронизации", то можно узнать, что используется порт 2200. 

Если пойти далее и в меню "Действия" нажать на "Дополнительно" и перейти в "Настройки", то можно узнать, что для анонсов используется порт 21027. Однако Вы сами увидите грозное предупреждение красным цветом, что неправильные настройки могут привести к неработоспособности Вашего Syncthing. В этом случае может помочь сброс конфигурации, которая записана в файл config.xml, расположенный в скрытом каталоге ~/.config/syncthing


Другие (удалённые) устройства

Так как планируется осуществлять синхронизацию между компьютерами, то рекомендуется узнать свой ID, чтобы затем передать его другому устройству (Показать ID):


Если компьютеры расположены в пределах адресного пространства локальной сети, то ID другого компьютера может быть предложено автоматически в процессе сетевого обнаружения:

Нажмите на кнопку "Добавить удалённое устройство" и кликните по ID того устройства, которое будет Вам показано или какое Вы выберите:



Как только ID выбранного устройства будет автоматически внесено в строку ID устройства, нажмите кнопку "Сохранить" (синего цвета).

Пример с несколькими устройствами в локальной сети:


В процессе добавления устройства можно изменить параметры "Предоставление доступа"



и ограничения скоростей для добавляемого узла в секции "Дополнительно" (справа).

Чтобы после добавления устройства оно не высвечивалось в виде первых символов ID назначьте при добавлении ему имя


и после его добавления оно будет отображаться с указанным именем:


Устройство просто добавлено, но в процессе синхронизаций не используется.

Назначение папок для синхронизации

По умолчанию на компьютере создаётся папка Sync, которая в панели управления отображается как Default Folder:


Попробуем её использовать для синхронизации между компьютерами H-4 и H-8.

В панели управления компьютером H-4 нажимаем по удалённому устройству H-8 и получаем подробную информацию (начальные символы реального ID затёрты): 


Нажимаем кнопку "Редактировать", находим в секции "Предоставление доступа" Default Folder и ставим в поле галочку:


Видим, что:


В свою очередь, в панели управления компьютером H-8 видим запрос, который необходимо утвердить, игнорировать или отклонить. Выбираем "Предоставить доступ":



После чего помещаем в папку Sync какой-либо маленький файл для проверки. Должно получиться:



Теперь на каком-либо из компьютеров удалите файл, помещённый в папку Sync для проверки. На втором компьютере он также должен исчезнуть.

Теперь узлы H-4 и H-8 используют свои папки Sync (Default Folder) для взаимной синхронизации.

В папках синхронизации автоматически создаются папки .stfolder, в составе которой будет расположен файл вида syncthing-folder-...txt, в котором содержится информация о значении Folder ID и времени создания. Например, файл syncthing-folder-ba9385.txt имеет содержание:

# This directory is a Syncthing folder marker.
# Do not delete.

folderID: q2ehx-jyra2
created: 2024-06-14T13:50:33+03:00 

Значение folderID можно увидеть через панель управления, вызвав на интересующей папке "Редактировать":



Если необходимо в течение нескольких дней сохранять файлы, удалённые другим устройством, то в настройках папки в разделе "Управление версиями" указать "Использовать версионность файлов в Корзине" и нужное число дней: 


Удалённые объекты будут располагаться в папке .stversions  Содержание этой папка пересматривается каждый час, а сама процедура называется "Интервал очистки". 

По умолчанию, синхронизация объектов производится в случайном порядке. Если его необходимо изменить, то сделать это можно в разделе "Дополнительно":


Перенос папки Default Folder

А что делать, если возникла необходимость перенести используемую для синхронизации папку Sync, прописанную в приложении как Default Folder, в другое место?

Щелкните в панели управления по Default Folder и нажмите на кнопку "Редактировать".


Удалите существующую папку кнопкой "Удалить", а затем создайте папку, ярлык для которой будет Default Folder, ID папки – default, а местоположение укажите то, которое нужно (при этом папка Sync в указываемом месте должна присутствовать), например /home/minter/Data/Sync


Проверьте сохранилось ли совместное использование и осуществляется ли синхронизация:


Syncthing на Windows

Тестирование syncthing на Windows осуществлялось на установленной на виртуальной машине ОС Windows 7. Для Windows достаточно скачать и установить программу SyncTrayzor

✔  Перед установкой мне потребовалось скачать и установить Microsft.NET 4.62 Про конкретную версию NET не скажу, так как на виртуальной Windows у меня была установлена только версия 3.5 Если необходима будет конкретная версия NET, отсутствующая в системе, то установщик об этом уведомит.

После установки в главном меню будут записи:


По нажатию SyncTrazor будет запущен браузер с интерфейсом управления и мониторинга программой. При этом сама программа прописывает себя в автозагрузку (через реестр) с командой запуска "C:\Program Files\SyncTrazor\SyncTrazor.exe" -minimized 

Индикация работы программы отображается значком в системном лотке (трее).

В диспетчере задач работа syncthing отображается как


что аналогично имеющимcя процессам в Linux за исключением программы-значка


Папкой по умолчанию, автоматически создаваемой при установке SyncTrazor, является папка Sync, расположенная в папке профиля пользователя системы:

На Windows можно организовать запуск Syncthing как службы от имени пользователя. При этом  ПО SyncTrayzor не используется. Для подробностей перейдите по ссылке.

Предоставление новой папки в доступ другому устройству

В описываемом примере компьютер с ОС Linux предоставляет папку для синхронизации с Windows. Нажмите кнопку "+ Добавить папку". По умолчанию при создании новой папки syncthing генерирует её случайное наименование (две группы по 5 символов, разделённые через дефис) без указания ярлыка.


Чтобы избежать своего рода путаницы, мной было указано "вменяемое" имя папки, а также указан для неё ярлык, который совпадал с именем новой папки.


Среди устройств, которым она будет доступна, было указано устройство на Windows, которому было задано имя H-5.


На Windows точно также необходимо было добавить устройство Linux и принять приглашение для папки. Обратите внимание, что по умолчанию путь к папке был указан точно такой же как и для системы Linux, то есть "папка профиля пользователя – папка для syncthing":


В синхронизируемых папках как на Linux, так и на Windows, автоматически была создана скрытая папка .stfolder 



ID папки можно не изменять, а изменить только Ярлык папки. ID папки является одним и тем же для всех узлов Syncthing, использующих данную папку. В панели управления Syncthing папки всегда будут отображаться по имени ярлыка. Пример:

 




Наблюдение (мониторинг) за процессами синхронизаций

Процесс синхронизации показан в представленной ниже серии снимков экрана одного из узлов при синхронизации порции данных объёмом в 22 ГБ. Наблюдение осуществлялось как на синхронизируемой папке (Default Folder), так и на самом устройстве. При этом наблюдаемое устройство H-3 является получателем, а устройство H-4 источником.

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













Автостарт и ручной запуск

После установки в Linux автостарт Syncthing не назначается. В Windows при использовании SyncTrayzor автостарт Syncthing назначается. По умолчанию запуск Syncthing в Linux производится через кнопку "Start Syncthing" меню "Интернет". Если необходим запуск Syncthing при старте системы, то в параметрах системы (Автозагрузка) создайте соответствующую запись. В строке "Команда" введите 

/usr/bin/syncthing serve --no-browser --logfile=default

Если необходимо задержать автостарт Syncthing, то либо в настройке Cinnamon укажите задержку в секундах, например


либо в xfce перейдите в папку вашего профиля ~/.config/autostart и добавьте в файл .desktop автостарта Syncthing запись X-GNOME-Autostart-Delay=5 
Число секунд назначайте на своё усмотрение.

В сети можно найти инструкцию как сделать автозапуск Syncthing в качестве службы (демона). Но на мой взгляд, для обычного пользователя это будет являться более сложным мероприятием, чем простое добавление записи в автозагрузку, поэтому здесь не рассматривается. 

🔰  Примечание 1. Обратите внимание, что параметром --logfile= можно задавать расположение файла протокола syncthing.log на жёстком диске. Для владельцев SSD с целью снижения числа записей на диск можно использовать --logfile=/tmp/syncthing.log, если /tmp смонтирована как tmpfs или использовать  --logfile=/run/user/1000/syncthing.log в случае, если вы являетесь единственным пользователем системы. Если пользователей несколько, то указывается ID конкретного пользователя, например /run/user/1001/syncthing.log, /run/user/1002/syncthing.log и т.д.

🔰  Примечание 2. По умолчанию, кнопки запуска и управления Syncthing расположены в меню "Интернет". Но если в вашем меню "Интернет" слишком много записей, то их можно переместить в меню "Прочие" (Cinnamon) или "Прочее" (xfce). Перейдите в /usr/share и через правое контекстное меню файлового менеджера откройте папку applications как root. Отредактируйте в текстовом редакторе два файла (рисунки для Cinnamon и xfce):



Приведите строку Categories к виду Categories=FileTransfer;P2P  В этом случае кнопки управления Syncthing будут отображаться в меню "Прочие" (Cinnamon) или "Прочее" (xfce).

Если желаете чтобы эти кнопки отображались в меню "Офис", то приведите строку Categories к виду  Categories=Office;FileTransfer;P2P

Обратите внимание, что в кнопке запуска Syncthing присутствует команда запуска приложения с указанием --logfie=default  Эту запись можно изменить, см. Примечание 1 выше.
   

Проверка синхронизаций через Интернет

Для осуществления данной операции через два маршрутизатора было создано два канала соединения с провайдером под различными учётными записями соединения с Интернет. При этом подключения различались по тарифным планам: 100/50 и 10/5 (Мегабит в секунду).

Взаимодействующие через Интернет узлы понимают друг друга через их ID. Чтобы узнать ID своего устройства зайдите в панель управления http://127.0.0.1:8384 и вызовите в меню "Действия – Показать ID". ID вашего устройства будет отображено :


Записи о взаимодействующих устройствах должны присутствовать в каждом из устройств. Если данное устройство отсутствует, то при приглашении в папку другого устройства Syncthing выдаст запросы на добавление устройства и добавление папки данного устройства. 



Обратите внимание на то, что на верхнем рисунке указано "на 5.9.16.38:22067". Другое устройство хочет подключиться по порту 22067 с адреса 5.9.16.38  Указанный IP соответствует хосту g3la.de, а диапазон IP 5.9.16.32 – 5.9.16.63  принадлежит сети немецкого провайдера. У вас IP будет, скорее всего, другой. Данные IP являются адресами общедоступных серверов глобального обнаружения Syncthing, через которые определяются маршруты от одного узла Syncthing к другому.

В процессе наблюдения за синхронизацией тестового файла размером в 2,5 ГБ скорость передачи данных на передающем компьютере (H-4) и скорость приёма данных на принимающем компьютере (H-2), другими  словами скорость синхронизации – соответствовала тарифному плану второго подключения к Интернет (10/5). 



При включении отображения скрытых элементов общей папки (HEDY) синхронизируемый файл был отображён файлом с расширением tmp:


Некоторые заключительные замечания

При необходимости постоянного обмена синхронизируемыми данными Syncthing показал себя очень хорошо, при том что максимум зафиксированного расхода оперативной памяти у него составил порядка 80 МБ, а в режиме ожидания может не превысить 34 МБ. 


И если ранее для передачи больших порций данных в ЛВС мной использовались FTP, SFTP (ssh) или Warpinator, то в настоящий момент имеется мнение, что данную задачу следует возложить на Syncthing, а использовавшиеся ранее способы оставить для случаев, когда передача или получение данных через Syncthing затруднено по причине недостаточного свободного дискового пространства на каком-либо из узлов сети.

Все настройки, производимые через браузер, записываются в файл config.xml, расположенный в скрытом каталоге ~/.config/syncthing  Если в результате произведённых действий изменений получилось вообще неизвестно что (запутался, затупил и т.д. и т.п.), то, теоретически, можно остановить syncthing, удалить файл конфигурации и запустить syncthing снова. В Linux остановить syncthing можно командой

    killall -TERM syncthing   

Кардинальным решением вопроса, который применялся мной на этапе набития шишек, является полное удаление каталога настроек syncthing командой

   rm -fR ~/.config/syncthing  (rm -fR ~/.local/state/syncthing см. "Примечания" ниже)

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


В Linux Mint 21.3 расположение конфигурационного файла config.xml поменялось с ~/.config/syncthing на ~/.local/state/syncthing 

Если в процессе редактирования файла config.xml расположение какой-либо папки было изменено и сама папка перемещена на новое место, то синхронизация может быть остановлена, а в браузере можно увидеть предупреждение (пример):

2024-01-19 22:28:48: Error on folder "Books-00" (resru-hjgnk): folder marker missing (this indicates potential data loss, search docs/forum to get information about how to proceed)

Это происходит по причине отсутствия в перемещённой папке скрытого каталога .stfolder  Создайте его вручную и перезапустите Syncthing.

Иногда необходимо исключить из синхронизации каких-либо файлов (или папок). Читайте пример здесь.


Безопасность

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

Весь трафик между устройствами защищен протоколом TLS. Чтобы предотвратить присоединение к кластеру незваных устройств, при установлении соединения отпечаток сертификата каждого устройства сравнивается с предварительно установленным списком допустимых устройств. Отпечаток вычисляется как хэш SHA256 сертификата и отображается в удобной для пользователя кодировке, называемой идентификатором устройства (Device ID).

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