Shadowsocks Repo: https://github.com/shadowsocks/shadowsocks-rust
Setup rust first: Debian 初始化 Rust 环境
Install🔗
rustup default nightly
cargo install shadowsocks-rust
Configure🔗
mkdir ss
Server config sample:
{
"servers": [
{
"address": "::",
"port": 9982,
"method": "chacha20-ietf-poly1305",
"password": "strong-password",
"mode": "tcp_and_udp",
"fast_open": false,
"timeout": 7200
}
]
}
Add as a system service🔗
sudo vim /etc/systemd/system/ss.service
Note: Change
username
to your own username
[Unit]
Description=ssserver service
After=network.target
[Service]
ExecStart=/home/username/.cargo/bin/ssserver -c /home/username/ss/config.json
ExecStop=/usr/bin/killall ssserver
Restart=on-failure
StandardOutput=syslog # Output to syslog
StandardError=syslog # Output to syslog
SyslogIdentifier=ss
User=username
Group=admin
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now ss
Run🔗
Status🔗
sudo systemctl status ss
Stop🔗
sudo systemctl stop ss
Update🔗
cargo install shadowsocks-rust
Multiple Ports🔗
Also see here
sudo iptables -t nat -A PREROUTING -p tcp --dport 12000:12010 -j REDIRECT --to-port 9982
sudo iptables -t nat -A PREROUTING -p udp --dport 12000:12010 -j REDIRECT --to-port 9982
Show if success:🔗
sudo iptables -t nat -L PREROUTING -nv --line-number
Delete the rule:🔗
sudo iptables -t nat -D PREROUTING <number>