Skip to content
A simple Shadowsocks transparent proxy setup script.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE update README Aug 19, 2019
archwrt-ss.conf add tls:// & tls:// Aug 19, 2019
archwrt-ss.service fix archwrt-ss.service Apr 12, 2019 remove debug output Aug 19, 2019

A simple Shadowsocks transparent proxy setup script.

Main features

  • GFWList Mode supported
  • Chnroute (Bypass Mainland IP) Mode supported
  • Customized Blacklist/Whitelist supported
  • Game Mode (udp redirection on both OUTPUT chains and PREROUTING chains ) supported


  • shadowsocks-libev
  • simple-obfs (optional)
  • shadowsocks-v2ray-plugin (optional)
  • dnsmasq
  • ipset
  • iptables
  • bind-tools
  • AdguardTeam/dnsproxy (optional) - PKGBUILD


$ --help
  Contibuted by monlor & edward-p
Usage: {Command} {Option} {Config File}
  start | stop | restart | status | config | update
  gfwlist | bypass | gamemode | global
Config File:
  Specify which config.json to use. by default the script will use the last one used.
Example: start bypass          Start with bypass mode restart gfwlist       Restart with gfwlist mode restart bypass sfo2   Retart with bypass mode using /opt/archwrt-ss/sfo2.json restart sfo2          Retart using /opt/archwrt-ss/sfo2.json start                 Start with default mode [current:gfwlist] config                Generate a config.json to /opt/archwrt-ss/config.json config nyc1           Generate a config.json to /opt/archwrt-ss/nyc1.json update                Update rules


Install on AUR (Archlinux only)

yay -S

Install manually

$ git clone
$ cd
$ sudo install -Dm755 /usr/bin/
$ sudo install -Dm644 archwrt-ss.conf /opt/archwrt-ss/archwrt-ss.conf
$ sudo install -Dm644 archwrt-ss.service /usr/lib/systemd/system/archwrt-ss.service
$ sudo systemctl daemon-reload


Before using systemctl start archwrt-ss.service, you need a valid config.json for shadowsocks, the following command will start a wizzard for that.

$ sudo config

When it is done, your config.json will be located at /opt/archwrt-ss/config.json.

It is recommend to check if there's any error in your config.json by running:

$ ss-redir -c /opt/archwrt-ss/config.json

Not yet, you may want to have a look on /opt/archwrt-ss/archwrt-ss.conf. Change some configs if you like.

Now you can start by

$ sudo systemctl start archwrt-ss.service

For auto start

systemctl enable archwrt-ss.service

Customized Blacklist/Whitelist

  • blacklist: by default, located at /opt/archwrt-ss/blacklist.txt
  • whitelist: by default, located at /opt/archwrt-ss/whitelist.txt

comment with # is supported

IP/NET/Domains suported, one line each, for example:

# This is a comment #ip #net #domain
You can’t perform that action at this time.