https://github.com/txchen/shadowsocks-merlin-n66u
shadowsocks binaries for ASUS RT-N66U (merlin)
https://github.com/txchen/shadowsocks-merlin-n66u
Last synced: 7 months ago
JSON representation
shadowsocks binaries for ASUS RT-N66U (merlin)
- Host: GitHub
- URL: https://github.com/txchen/shadowsocks-merlin-n66u
- Owner: txchen
- Created: 2016-03-08T21:50:31.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-14T20:41:01.000Z (over 10 years ago)
- Last Synced: 2025-01-15T06:47:43.996Z (over 1 year ago)
- Size: 729 KB
- Stars: 12
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# shadowsocks binaries asus rt-n66u on merlin
Merlin has entware and it has shadowsocks avaiable as package. However, to enable entware, you must attach an usb drive to the router. I want to avoid that and use the /jffs directly, that's why I need to build the shadowsocks by myself.
The built binaries can be found in `static-bin` directory. In theory they should work on all mipsel routers.
Shadowsocks-libev version: `ce0561a9992707a8409b9ca5a03f7aa7476608a1`
## How to build static shadowsocks for rt-n66u
Firstly, download tomatoware from https://github.com/lancethepants/tomatoware. I picked `mipsel-soft-mmc.tgz`
Extract it to `/mmc`.
Add toolchain to your PATH:
```bash
$ export PATH=/mmc/bin:$PATH
```
I choose to use PolarSSL instead of openssl. Download polarssl (1.2.19), extract and then build. This will take a lot of time.
```bash
$ make
$ make install DESTDIR="/home/txchen/sscompile/install/polar-static"
```
Then build shadowsocks:
```bash
$ git clone https://github.com/shadowsocks/shadowsocks-libev.git
$ cd shadowsocks-libev
$ # change libev/ev_epoll.c, replace epoll_create1 with epoll_create
$ LIBS="-ldl" LDFLAGS="-static" ./configure \
--with-crypto-library=polarssl \
--with-polarssl=/home/txchen/sscompile/install/polar-static
$ # change src/Makefile, change LDFLAGS = -static to LDFLAGS = -all-static
$ make
```
The static binaries should then be available in `src` directory, you can use `file ss-redir` to check if it is statically linked. You can further reduce their sizes:
```bash
$ strip src/ss-*
```
Now copy them to the router and they should work.