如何从命令行配置 Syncthing 以与具有特定 ID 的另一台计算机共享文件夹?

如何从命令行配置 Syncthing 以与具有特定 ID 的另一台计算机共享文件夹?

如何从命令行配置 Syncthing 以与具有特定 ID 的另一台计算机共享文件夹?

你好,

经过深入研究,我发现在 Linux 上从命令行使用 Syncthing 似乎是可行的,但需要编辑配置文件或使用 REST API。

如何配置 Syncthing 以与具有特定 ID 的另一台计算机共享服务器计算机上的特定文件夹?

维萨

平台:Linux

限制:寻找不使用 GUI 的可编写脚本的解决方案

答案1

我认为使用以下命令您应该能够为此编写一个脚本。

我们有一台本地机器和一台服务器。我假设您有服务器的 ssh 访问权限。

使用以下方式获取您的 ID 和服务器的 ID:

syncthing cli show system | jq .myID

在服务器上

syncthing cli config devices add --device-id $LocalID

在本地机器上

syncthing cli config devices add --device-id $ServerID

获取文件夹 ID

syncthing cli config folders list

检查它是否是预期路径(例如在循环中)

syncthing cli config folders $folderID dump-json | jq .path

或者转储整个配置(syncthing cli config dump-json)并从那里选择文件夹

syncthing cli config dump-json | jq '.folders[] | select(.path == "/home/you/your/path") | .id'

现在与服务器共享此文件夹

syncthing cli config folders $folderID devices add --device-id $ServerID

剩下的唯一一件事就是,您必须接受服务器上的共享文件夹。(因为我还没有找到正确的命令。也许你会?)

答案2

我找到了解决您问题的方法。我在此要点中记录了如何解决此问题:https://gist.github.com/Jonny-exe/9bad76c3adc6e916434005755ea70389

如果你不想阅读整个内容,以下是主要命令:

syncthing cli config devices add --device-id $DEVICE_ID_B

syncthing cli config folders $FOLDER_ID devices add --device-id $DEVICE_ID_B

syncthing cli config devices $DEVICE_ID_A auto-accept-folders set true

这些命令的解释如下

答案3

抱歉,我也找不到这个问题的答案。我能做的最好的就是打开 SSH 隧道,这样我就可以从本地计算机临时访问服务器的 Web GUI:

ssh -L 8080:localhost:8384 your.host.name

然后您可以从 http://localhost:8080 访问远程 Web GUI

相关内容