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>