This is a tiny shadowsocks client for router(OpenWrt).
Pre-compiled .ipk packages can be found in bin directory of the
shadowsocks-tiny source code. Subdirectory AA is for Attitude
Adjustment(12.09), subdirectory current is for latest OpenWrt
release(which uses procd). If you can’t find the package for your
router’s architecture, you need to compile it by yourself(and if
you successfully compiled and tested it works, please send the .ipk
to me, so I can include it here).
- Compile from SDK
There is a help page about using the SDK: http://wiki.openwrt.org/doc/howto/obtain.firmware.sdk
Shadowsocks-tiny depends on libopenssl. If libopenssl has not been installed on your router, you have to install libopenssl first. Usually you only need to run following command on your router to install libopenssl:
opkg install libopensslPackages are under
packagesdirectory of the shadowsocks-tiny source code../packages/shadowsocks-client-AAis for Attitude Adjustment(12.09), and./packages/shadowsocks-clientis for latest OpenWrt(which uses procd). Actually the only difference of these two packages is the init script. Select the right package for your SDK, and copy it topackagesdirectory of your SDK, then compile. - Compile from OpenWrt souce
You can add shadowsocks-client from packages feed:
./scripts/feeds update packages ./scripts/feeds install shadowsocks-clientThen select shadowsocks-client from
make menuconfigand compile.
Shadowsocks-client uses uci as its configuration method. You have
to edit /etc/config/sslocal to meet your needs.
Hint: server_addr and server_port is your shadowsocks server’s
listening address and port. local_addr is your router’s
address(e.g. 192.168.X.X) and local_port is the port number you
want your router to listen.
After editing /etc/config/sslocal, run /etc/init.d/sslocal
start to execute sslocal, and use logread to see if it works.
Normally it will show:
Wed Jul 16 03:17:28 2014 daemon.notice sslocal: server address: XXX.XXX.XXX.XXX:XXXXX(tcp)
Wed Jul 16 03:17:28 2014 daemon.notice sslocal: listening address: XXX.XXX.XXX.XXX:XXXXX(tcp)
If all seem okay, run /etc/init.d/sslocal enable to let
shadowsocks-client automatically starts when your router boots.
- Host setting
Set your browser or program to use socks5 proxy, and put
local_addrandlocal_portas the socks5 server’s addresss and port number.
Although shadowsocks-tiny has a server side program, it’s mainly for test purpose and doesn’t scale well. You can find other fancy server side programs of shadowsocks from https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients
Please submit your bug report to https://github.com/zhao-gang/shadowsocks-tiny/issues
MIT, see COPYING for details.