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 就说明代理生效了。



