The sower is a cross-platform intelligent transparent proxy tool. It provide both socks5 proxy and DNS-based proxy. All these kinds of proxy support intelligent router.
If you already have another proxy solution, you can use it's socks5(h) service as a parent proxy to enjoy the sower's intelligent router.
To enjoy the sower, you need to deploy sower on both server-side(sowerd) and client-side(sower).
If you wanna use sower as secondary proxy to provide intelligent router, you can skip sowerd.
At the server-side, the sowerd runs just like a web server proxy. It will occupy two ports
You can use your own certificate or the certificate automatically applied for by the sowerd from
There are two ways to run the sowerd service:
run the shell command with root permission
# sowerd -password XXX -fake_site 127.0.0.1:8080
install as a systemd service
[Unit] Description=sower server service After=network.target [Service] Type=simple ExecStart=/usr/local/bin/sowerd Environment="FAKE_SITE=127.0.0.1:8080" Environment="PASSWORD=XXX" [Install] WantedBy=multi-user.target
A config file is required in sower client side. Here is an usable example in China.
Sower will take 4 port by default with root permission. They are:
After do the next three step, you can enjoy the intelligent transparent proxy solution:
run the command line with root permission:
# sower -f sower.hcl
changing your DNS server to
setting your proxy to