Shadowsocks
Shadowsocks[dead link 2022-09-23 ⓘ] is a lightweight proxy. It is based on the SOCKS5 protocol, but additionally uses encryption, which improves security and helps to bypass firewalls.
Installation
Several implementations are packaged for Arch Linux. You can install one of them:
- shadowsocks (development version: shadowsocks-gitAUR) — the initial implementation written in Python.
- shadowsocks-libev (development version: shadowsocks-libev-gitAUR) — written in C. It is now in maintenance mode (future development moved to shadowsocks-rust).
- go-shadowsocks2AUR — written in Go.
- shadowsocks-rustAUR (precompiled: shadowsocks-rust-binAUR, development version: ) — the newest and actively developed implementation written in Rust.
If you are not sure which implementation to use, try shadowsocks-libev.
Configuration
Shadowsocks configuration is done with a JSON formatted file. See Configuration via Config File and .
Usage
From the command line
The client is started with the ss-local
(shadowsocks-libev) or sslocal
(shadowsocks) command. See and .
Daemon management
The Shadowsocks client can be controlled with an instance of (shadowsocks) or (shadowsocks-libev) through systemctl. To use the configuration file , start and enable or .
You may also be interested in running an instance of or after the network is up.
GUI client
Install the shadowsocks-qt5 package. For the development version, install the package.
From the command line
The server is started with the (shadowsocks-libev) or (shadowsocks) command. See and .
Tips and tricks
Performance optimization
- Use common ports such as
443
. The Great Firewall checks relatively few commonly used ports to reduce stress. - Enable TCP Fast Open.
- Enable BBR.
- Install to increase the speed of shadowsocks.
- Optimize kernel parameters, see Optimizing Shadowsocks.
Encryption
See AEAD Ciphers[dead link 2022-09-23 ⓘ].
Installing the package will make encryption a little faster.
To use Salsa20 or ChaCha20 ciphers, install the libsodium package.
See also
- Shadowsocks Home Page[dead link 2022-09-23 ⓘ]
- GitHub project (shadowsocks)
- GitHub project (shadowsocks-libev)
- Python package
- GitHub wiki (some suggestions for optimization)