>> Home / Dev / Tools

Shadowsocks Rust Setup for Debian

Published: , Updated: , Reading Time: 2 min

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>

Other Resources🔗


📝 Edit this page🔗

Response🔗

Have you written a response to this? Let me know the URL, Or, you can send your response via mail owen@owenyoung.com