Jump to content

Syncthing


TheBB

Recommended Posts

Introduction

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

Requirements

  • RAM >= 128 MB and swap

Installation

  • Install necessary packages:
opkg install syncthing
  • Start syncthing:
/opt/etc/init.d/S92syncthing start

Using Syncthing

On the first run  it may take  several minutes to generate certificates. Wait and open http://<ip address of device>:8384 and configure it.

screen_238.png

  • Thanks 2
Link to comment
Share on other sites

  • 1 year later...

Пара моментов.

1. Может быть пост по данному ПО достоин перекочевать в готовые решения? Пакет собран, работает. Почему бы и нет?

2. Месяца 2 приложение работало отлично, сейчас на 3.00 убивает роутер. То есть при старте забирает все ресурсы (CPU+RAM) и роутер перестает отвечать и по telnet и по dropbear (так же пропадает доступ по SMB). Притом если сессия по SSH уже есть в ней можно перезагрузить роутер командой reboot, просто на это может уйти минут 5. По наблюдением в top почти всегда syncthing находится на верхней строчке по CPU с загрузкой 80-90%, но пару раз наблюдал, что там был процесс ndm с загрузкой 30-40% при тех же симптомах (не отзывчивый роутер).

Хотя сейчас подумал, что недавно после неудачного обновления полностью с форматированием флешки переустановил Entware и сейчас не использую SWAP раздел, который ранее был 1Гб. Скорее всего в этом дело.

Но в целом по диагностике и трабшутингу данного ПО куда смотреть? Есть где-то подробные логи?

Link to comment
Share on other sites

В 12.04.2019 в 07:07, ankar84 сказал:

Хотя сейчас подумал, что недавно после неудачного обновления полностью с форматированием флешки переустановил Entware и сейчас не использую SWAP раздел, который ранее был 1Гб. Скорее всего в этом дело.

Вернул SWAP раздел - проблема ушла.

Link to comment
Share on other sites

23 минуты назад, ankar84 сказал:

Вернул SWAP раздел - проблема ушла. 

Пробовал два раза правда на 215 и даже тут выкладывал свои сообщения, не сказать что отлично но работал на 7621 и даже без swap раздела с подключенными винтами HDD на USB3.

Link to comment
Share on other sites

4 минуты назад, vasek00 сказал:

работал на 7621 и даже без swap раздела с подключенными винтами HDD на USB3.

Вот мне кажется, что около недели проработало без SWAP раздела. А потом просто что-то случилось и Syncthing стал капитально завешивать роутер. Пробовал удалять папку /opt/etc/syncthing/index-v0.14.0.db (в качестве меры попробовать начать с нуля, сбросить кэш), приложение начало ее формировать заново, но не смогло завершить, зависало вместе с роутером.

Помогло только возвращение SWAP раздела. Сейчас работает как нужно. Винт так же воткнут в USB3.

Link to comment
Share on other sites

Попробовал на релизе 3 по ощущениям конечно нагрузка прибавилась, но система отзывчива все равно.

1003296022_-2.jpg.5bac02ab8f63570286d601b9d60b5f10.jpg

Во второй части синхр.каталога (т.е. есть в исходнике на ПК но нет на роутере) в котором 105 файлов jpg на сумму 656МБ при потоке по сети в 35Мбит

814582443_-6.jpg.32435deb79e90387d237d4649c26b147.jpg

Памяти

1151219864_-4.jpg.8baed59215f4b65df04361a35384f223.jpg

Загрузка CPU по приложениям 4*100=400%

984114451_-3.jpg.df8d2421c97d44682254a5a63c78474e.jpg

Swap не использовал, винт HDD подключен USB3, тут как бы самому процу жутковато.

 

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
  • 7 months later...
  • 8 months later...

Обновление с работающего релиза 1.6 на релиз 1.8 и как итог новый релиз не запущен.

 

 

Каталог /opt/etc/syncthing от релиза 1.6 и делаем обновление. K92.... просто переименован из S92....

/opt/etc/syncthing # ls -l
-rw-r--r--    1 root     root           619 Apr 18  2019 cert.pem
-rw-r--r--    1 root     root          4426 Apr 18  2019 config.xml
-rw-r--r--    1 root     root            33 Apr 18  2019 csrftokens.txt
-rw-r--r--    1 root     root           607 Apr 18  2019 https-cert.pem
-rw-r--r--    1 root     root           288 Apr 18  2019 https-key.pem
drwxr-xr-x    2 root     root          1024 Sep 16 11:12 index-v0.14.0.db
-rw-r--r--    1 root     root           288 Apr 18  2019 key.pem
/opt/etc/syncthing # 
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              done. 
/opt/etc/init.d # ps
  PID USER       VSZ STAT COMMAND
    1 root      1056 S    init
    2 root         0 SW   [kthreadd]
    4 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [ksoftirqd/0]
    ...
 3049 root      667m S    syncthing
 3059 root      667m S    syncthing
 ...
/opt/etc/init.d # syncthing -version
syncthing v1.6.0-rc.5 "Fermium Flea" (go1.14.3 linux-mipsle) ryzhovau@builder 2020-06-17 17:16:23 UTC

                                       
/opt/etc/init.d # opkg upgrade
...
Upgrading syncthing on root from 1.6.0-rc.5-1 to 1.8.0-1...
Downloading http://bin.entware.net/mipselsf-k3.4/syncthing_1.8.0-1_mipsel-3.4.ipk
...
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              failed. 
/opt/etc/init.d #                                                        

Удаление syncthing и его каталога /opt/etc/syncthing, а потом чистая установка

/opt/etc/init.d # ./S92syncthing start
 Starting syncthing...              done. 
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
sed: /opt/etc/syncthing/config.xml: No such file or directory
/opt/etc/init.d #

При закидывание сохраненного ранее конфа в каталог и запуска

/opt/etc/init.d # syncthing
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
/opt/etc/init.d # 

Для создания коф файла

S92syncthing start

...

. /opt/etc/init.d/rc.func

if [ ! -d /opt/etc/syncthing ]; then
   syncthing -generate="/opt/etc/syncthing"
   sed -i 's|127.0.0.1:8384|0.0.0.0:8384|' /opt/etc/syncthing/config.xml
elif [[ -f /opt/etc/syncthing/config.xml ]]; then
   sed -i 's|127.0.0.1:8384|0.0.0.0:8384|' /opt/etc/syncthing/config.xml
fi

Если же в ручную

/opt/etc/init.d # syncthing -generate="/opt/etc/syncthing"
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
/opt/etc/init.d # 

 

Сам конфиг если смотреть после обновления вырос по строкам если брать основную часть

Скрытый текст

1.6

...
    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>Giga</user>
        <password>$2a$10...........lW</password>
        <apikey>h95H.............25tq</apikey>
        <theme>default</theme>
    </gui>
    <ldap></ldap>
    <options>

    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
        <maxSendKbps>0</maxSendKbps>
        <maxRecvKbps>0</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>true</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>-1</urAccepted>
        <urSeen>3</urSeen>
        <urUniqueID></urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">10</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <defaultFolderPath>~</defaultFolderPath>
        <setLowPriority>true</setLowPriority>
        <maxConcurrentScans>0</maxConcurrentScans>
    </options>


1.8

    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>Giga</user>
        <password>$2a$10$........LlW</password>
        <apikey>h95H...........w25tq</apikey>
        <theme>default</theme>
    </gui>
    <ldap></ldap>
    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
        <maxSendKbps>0</maxSendKbps>
        <maxRecvKbps>0</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>true</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>3</urAccepted>
        <urSeen>3</urSeen>
        <urUniqueID>eEcссссM</urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">10</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <defaultFolderPath>~</defaultFolderPath>
        <setLowPriority>true</setLowPriority>
        <maxFolderConcurrency>0</maxFolderConcurrency>
        <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
        <crashReportingEnabled>false</crashReportingEnabled>
        <stunKeepaliveStartS>180</stunKeepaliveStartS>
        <stunKeepaliveMinS>20</stunKeepaliveMinS>
        <stunServer>default</stunServer>
        <databaseTuning>auto</databaseTuning>
        <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
    </options>

 

 

  • Upvote 1
Link to comment
Share on other sites

Откат на 1.6 проблем не создал, все запускается

/opt/etc/init.d # ./S92syncthing start
 Starting syncthing...              done. 
11:47:12 INFO: Device ID: VZDSZ.....P3FG7AB
11:47:12 INFO: Default folder created and/or linked to new config
/opt/etc/init.d # syncthing -version
syncthing v1.6.0-rc.5 "Fermium Flea" (go1.14.3 linux-mipsle) ryzhovau@builder 2020-06-17 17:16:23 UTC
/opt/etc/init.d # 

/opt/etc/syncthing # ls -l
-rw-r--r--    1 root     root           615 Sep 16 11:47 cert.pem
-rw-------    1 root     root          4858 Sep 16 11:47 config.xml
-rw-r--r--    1 root     root           607 Sep 16 11:47 https-cert.pem
-rw-------    1 root     root           288 Sep 16 11:47 https-key.pem
drwxr-xr-x    2 root     root          1024 Sep 16 11:48 index-v0.14.0.db
-rw-------    1 root     root           288 Sep 16 11:47 key.pem
/opt/etc/syncthing # 

 

Link to comment
Share on other sites

  • 11 months later...
On 5/26/2019 at 6:05 AM, mr.smart said:

Syncthing should not run as a privileged or system user. Please consider using a normal user account.

Как такое решать?

Кто-нибудь смог решить?

Link to comment
Share on other sites

Сегодня 17.08.2021 года

Скрытый текст
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              done. 
/opt/etc/init.d # ps
  PID USER       VSZ STAT COMMAND
    1 root      1100 S    init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [kworker/0:0]
...
1767 root         0 SW   [kworker/u8:0]
 1781 root      666m S    syncthing
 1791 root      667m R    syncthing
 1807 root      3880 R    ps
/opt/etc/init.d # 



или 

/opt/etc/init.d # opkg remove syncthing
/opt/etc/init.d # opkg install syncthing
Installing syncthing (1.18.0-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/syncthing_1.18.0-1_mipsel-3.4.ipk
Configuring syncthing.
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              done. 
/opt/etc/init.d # 

 

v1.18.0, Linux (32-bit MIPS (LE)) все ОК запустилось без приколов, выход в WEB и настройки https://х.х.х.х.:ПОРТ (по умолчанию 8384)

Link to comment
Share on other sites

KN2710 - 37B1 syncthing все ОК

Скрытый текст
Mem: 348040K used, 153148K free, 456K shrd, 2568K buff, 63120K cached
CPU:  0.9% usr  1.0% sys  0.1% nic 97.6% idle  0.0% io  0.1% irq  0.2% sirq
Load average: 1.14 1.73 2.01 2/530 8776
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
...
1254  1245 root     SN    842m171.8   0  0.1 syncthing
1108     1 root     S     721m147.0   0  0.0 AdGuardHome -w /opt/home/AdGuardHome -l /opt/tmp/AdGuardHome.log --pidfile /opt/var/run/adguardhome.pid --no-ch
1245     1 root     S     705m143.9   1  0.0 syncthing
...

 

 

Без имени-2.jpg

Link to comment
Share on other sites

Подскажите, как настроить папку backup-а, что бы туда сохранялось, а оттуда не удалялось, при синхронизации?

Например, хочу собирать на HDD у роутера фотки со смарта, и на смарте очищать их после синхронизации на HDD. Что бы все копилось на HDD.

Или только средствами syncthing не получится и нужно после синхронизации куда-то эти фотки еще складировать?

Что-то пытался настроить Тип папки - не получается, или не принимает новые фотки совсем или удаляет их на HDD при удалении со смарта.

Link to comment
Share on other sites

  • 4 weeks later...
В 25.08.2021 в 10:28, ury сказал:

Класс! Работает! То, что нужно. Спасибо

Мне та же система нужна. Но я не понял где установить ignoreDelete. Подскажите плиз!

А также есть непонимание, что и как прописать.

Есть диск подключенный к роутеру. Разбит на два логических. Один ntfs. что б можно было снимать и подключать к различным устройствам. второй логик Ext4 с Entware и с syncthing. как прописать синхронизируемую папку на этот первый логический?

Link to comment
Share on other sites

Разобрался - теперь фалы настройки синхронизации лежат в /opt/etc/syncthing

Но вот как подмонтировать диск с ntfs к диску с системой, что б писалось на раздел с ntfs так и не разобрался :( Если кто понимает - прошу помочь.

Link to comment
Share on other sites

11 час назад, Alex Lu сказал:

Разобрался - теперь фалы настройки синхронизации лежат в /opt/etc/syncthing

Но вот как подмонтировать диск с ntfs к диску с системой, что б писалось на раздел с ntfs так и не разобрался :( Если кто понимает - прошу помочь.

Скрытый текст

1042856129_-2.thumb.jpg.e8f4df03607be068921049ed2cec12b1.jpg

 

Link to comment
Share on other sites

  • 8 months later...
10 минут назад, Doverenny0 сказал:

Не загружается скришот

В виду наличия всего 5МБ для размещения файлов то приходиться удалять старые для того чтоб разместить новые.

Link to comment
Share on other sites

20 hours ago, vasek00 said:

В виду наличия всего 5МБ для размещения файлов то приходиться удалять старые для того чтоб разместить новые.

Понял. А не подскажете: как вы обновляли Syncthing? Выше пишут про репозиторий, но у меня в Entware только версия 1.19.1.

Пробовал обновлять через opkg update / opkg upgrade, но никаких обнов нет. 

Столкнулся с известной проблемой синхронизации case-sensitive системами с case-insensitive, которую в 1.9.0 решили. 

Edit: 

Извиняюсь, продолбился в глаза: очевидно версия 1.19 новее 1.9 🥲 Тем не менее, проблема синхронизации case-sensitive и case-insensitive систем остаётся, по крайней мере у меня. 

Пытаюсь синхронизировать папку на Windows 10, роутере Keenetic Giga KN-1010 (папка в разделе ntfs), и на андроиде. Ради эксперимента попробовал сделать следующие шаги:

1) в программе Obsidian на Android создал файл Kal-me.md

2) затем переименовал на Kal-mE.md

3) синхронизировал на всех устройствах через Syncthing

4) Obsidian на андроид ругался ошибкой и не давал переименовать файл

Если на Винде переименовывал файл, он удалялся на всех устройствах - распространенная проблема старых версий Syncthing, судя по темам на форумах. 

Edited by Doverenny0
Не увидел цифру в версии Syncthing, i.e. продолбился в глаза
Link to comment
Share on other sites

6 часов назад, Doverenny0 сказал:

Понял. А не подскажете: как вы обновляли Syncthing? Выше пишут про репозиторий, но у меня в Entware только версия 1.19.1.

Так и есть

~ # opkg list | grep syncthing
syncthing - 1.19.1-1 - Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some  third party and how it's transmitted over the Internet.
~ # 

На клиенте использовал SyncTrayzor там же есть и для


Linux
    64-bit (x86-64) ⋅ 32-bit (x86-32) ⋅ ARM ⋅ ARM64 ⋅ MIPS ⋅ MIPS64 ⋅ MIPS-LE ⋅ MIPS64-LE ⋅ PPC64 ⋅ PPC64-LE ⋅ RISC-V ⋅ S/390x 

https://syncthing.net/downloads/

Скачиваете для MIPS-LE там вам из архива нужен только один файл и это "syncthing", переписываете его на /opt/bin/syncthing и конечно же "chmod 755 syncthing" в итоге получаете версию v1.20.2

Link to comment
Share on other sites

3 hours ago, vasek00 said:

Так и есть

~ # opkg list | grep syncthing
syncthing - 1.19.1-1 - Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some  third party and how it's transmitted over the Internet.
~ # 

На клиенте использовал SyncTrayzor там же есть и для


Linux
    64-bit (x86-64) ⋅ 32-bit (x86-32) ⋅ ARM ⋅ ARM64 ⋅ MIPS ⋅ MIPS64 ⋅ MIPS-LE ⋅ MIPS64-LE ⋅ PPC64 ⋅ PPC64-LE ⋅ RISC-V ⋅ S/390x 

https://syncthing.net/downloads/

Скачиваете для MIPS-LE там вам из архива нужен только один файл и это "syncthing", переписываете его на /opt/bin/syncthing и конечно же "chmod 755 syncthing" в итоге получаете версию v1.20.2

Большое спасибо! Успешно обновился. 

А вы не сталкивались с подобной проблемой синхронизации на разных устройствах? А именно: при переименовывании в имени файла с больших букв на маленькие и обратно, удаляются файлы.
Как описал в примере:
1) Файл Kal-me.md переименовал в Kal-mE;
2) затем, переименовал обратно в Kal-me.md - файл удалился на всех устройствах.

Link to comment
Share on other sites

20 минут назад, Doverenny0 сказал:

Большое спасибо! Успешно обновился. 

А вы не сталкивались с подобной проблемой синхронизации на разных устройствах? А именно: при переименовывании в имени файла с больших букв на маленькие и обратно, удаляются файлы.
Как описал в примере:
1) Файл Kal-me.md переименовал в Kal-mE;
2) затем, переименовал обратно в Kal-me.md - файл удалился на всех устройствах.

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...