New in version 0.12.0.
Syncthing can run behind a SOCKS5 proxy. This enables use behind some corporate firewalls, tunneling via SSH, and over Tor. The Syncthing instance that is behind the proxy is limited to outbound connections - it can not listen for incoming connections via the proxy. It is however possible to receive incoming connections via Relaying.
There is no graphical configuration to enable proxy usage in Syncthing.
Instead, an environment variable
all_proxy must be set that points to the
proxy. The value of this variable is the proxy URL. For example, on a
$ export all_proxy=socks5://10.20.30.40:5060 $ syncthing [monitor] 11:25:39 INFO: Starting syncthing ... [monitor] 11:25:40 INFO: Proxy settings detected
Note that this environment variable is not named with capital letters - it
must be exactly
all_proxy. The “Proxy settings detected” log message
indicates that Syncthing is using the proxy configuration.
New in version 0.13.0.
By default, Syncthing will attempt a direct connection if a connection via the
proxy fails. This is desirable when moving frequently between a proxied and
non-proxied environment. However it may be undesirable if the intention is to
force all connections through a Tor proxy or similar. In that case, setting the
ALL_PROXY_NO_FALLBACK (with capital letters) will
prevent the fallback behavior. For example:
$ export all_proxy=socks5://10.20.30.40:5060 $ export ALL_PROXY_NO_FALLBACK=1 $ syncthing [monitor] 11:33:13 INFO: Starting syncthing ... [monitor] 11:33:13 INFO: Proxy settings detected [monitor] 11:33:13 INFO: Proxy fallback disabled
Syncthing will use the
https_proxy settings in combination with
all_proxy. Proxies specified with
http_ variants will be used behind the socks proxy.
If this is not desired, make sure to undefine the
variables for syncthing.