Syncthing 代理配置
2023-03-19 · 648 chars · 4 min read
Syncthing 是个非常好用的免费同步 & 备份工具,之前在我的常用工具里简单介绍过了。使用方法非常简单,网上有大把大把的教程,按着教程自己动手玩一玩,很快就能掌握了。
今天主要讲一下怎么给 Syncthing 配置代理,通过代理服务器完成同步。这里以 macOS 为例,其他系统也是类似的思路。
Note
额外说明两点:
- 配置代理是不影响通过「局域网 TCP」等方式连接的
- 它主要影响的是广域网,比如通过「中继服务器」。所以相关的 Syncthing 客户端,请确保 Relays Enabled 是 true
调整安装方式#
macOS 上最常用的应该就是 syncthing-macos 了,但是,目前 GUI 工具都是没办法设置代理的,所以我们第一步要做的就是「调整安装方式」。
有两种选择:
- 使用 homebrew
- 直接在 github 下载
直接下载其实稍微麻烦一些,在 mac 上比较方便的还是实用 homebrew
brew install syncthing
这样就算安装好了,直接执行 syncthing
就可以启动了。
配置开机启动和代理#
接来下配置开机启动,虽然 homebrew 可以轻松做到开机启动,但是,Syncthing 必须在启动时,通过环境变量开启代理。所以,我们要自定义开机启动命令。
进入 /Users/<User Name>/Library/LaunchAgents
目录,新建文件 syncthing.plist
,内容如下:
这里我的用户名是 keenwon,你记得替换为你自己的
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.syncthing.syncthing</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/syncthing</string> </array> <key>EnvironmentVariables</key> <dict> <key>HOME</key> <string>/Users/keenwon</string> <key>STNORESTART</key> <string>1</string> <key>all_proxy</key> <string>socks5://127.0.0.1:1234</string> </dict> <key>KeepAlive</key> <true/> <key>LowPriorityIO</key> <true/> <key>ProcessType</key> <string>Background</string> <key>StandardOutPath</key> <string>/Users/keenwon/Library/Logs/Syncthing.log</string> <key>StandardErrorPath</key> <string>/Users/keenwon/Library/Logs/Syncthing-Errors.log</string> </dict> </plist>
格式就是这么个格式。里面的 Syncthing 路径,Syncthing.log
等都是可以改的。代理通过环境变量 EnvironmentVariables - all_proxy
配置,我这里写的是 socks5://127.0.0.1:1234
,同理,改为你的代理地址。
plist 文件的语法,可以看看这篇文章
保存之后,就添加好开机启动项了:
重启,确保 syncthing 可以正常启动,然后打开日志文件,文件位置在上面的 xml 配置里:
2023/03/10 22:56:11 INFO: Proxy settings detected 2 [start] 2023/03/10 22:56:17 INFO: syncthing v1.23.2 "Fermium Flea" (go1.20.2 darwin-amd64) brew@Ventura 2023-02-27 03:45:16 UTC [noupgrade] 3 [RFVYT] 2023/03/10 22:56:17 INFO: My ID: xxxxxxxx 4 [RFVYT] 2023/03/10 22:56:17 INFO: Proxy settings detected 5 [RFVYT] 2023/03/10 22:56:18 INFO: Single thread SHA256 performance is 81 MB/s using minio/sha256-simd (80 MB/s using crypto/sha256). 6 [RFVYT] 2023/03/10 22:56:19 INFO: Hashing performance is 79.12 MB/s
看到 Proxy settings detected
就说明代理生效了。