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 libopenssl
Packages are under
packages
directory of the shadowsocks-tiny source code../packages/shadowsocks-client-AA
is for Attitude Adjustment(12.09), and./packages/shadowsocks-client
is 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 topackages
directory 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-client
Then select shadowsocks-client from
make menuconfig
and 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_addr
andlocal_port
as 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.