Shadowsocks Switch simplifies enabling and disabling Shadowsocks.
This applet acts as a wrapper around ss-local
utility and therefore requires
shadowsocks-libev
to be present. Run apt-get install shadowsocks-libev
to install
it before using this applet.
Shadowsocks is a secure proxy that is made to bypass internet censorship, so the use case is a lot like we use VPN nowadays. While other VPN protocols have Network Manager plugins that add convenient GUI to quickly enable/disable the VPN connection, Shadowsocks doesn't have one.
I'm using Shadowsocks myself, so I wanted a simple and convenient UI to quickly enable/disable the Shadowsocks connection.
Upon installation this applet adds an icon with a pop-up toggle in the system tray.
When you switch the proxy on, the applet does the following.
- Reads and saves your current system proxy settings (proxy mode, SOCKS5 host and port).
- Runs
ss-local -c <config>
in background (<config>
defaults to/etc/shadowsocks-libev/config.json
). - Sets your system proxy mode to
Manual
, SOCKS5 host tolocalhost
and SOCKS5 port to thelocal_port
value from<config>
.
When you are done using Shadowsocks, you switch it off and the applet restores your previous system proxy settings and stops the proxy.
The applet uses a Shadowsocks configuration file to discover the local proxy port. The
default path to the configuration file is /etc/shadowsocks-libev/config.json
, but
you can point the applet to any other configuration file via applet settings (click on
the cog icon in the Applets window).
Shadowsocks tray icon is based on Papirus Icon Theme.