ShadowsocksR-libev for OpenWrt
===
---
[shadowsocksr-libev][1] OpenWrt
IPKreleases
---
[shadowsocksr-libev][1] ,luci
SSR
SOCK5UDP
IPGFWGFWList
[KcpTun][4]
SSSSRSSoriginplain
---
IP
- IPIP
- IP
SSR
BTIPSSRSSR
GFW
- GFW
-
SSR
GFW100%
SSR for OpenWRT3G/4GIPOpenWRTgoogleDNSIPIPGFWGFW
IPGFWDNSUDPdns
---
- OpenWrt [SDK][S] Ubuntu 64OpenWrt
```bash
sudo apt-get install gawk libncurses5-dev libz-dev zlib1g-dev git ccache
```
- SDK
```bash
# ar71xx
tar xjf OpenWrt-SDK-15.05-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
cd OpenWrt-SDK-*
# feeds
./scripts/feeds update packages
./scripts/feeds install libpcre
# Makefile
git clone https://github.com/ywb94/openwrt-ssr.git package/openwrt-ssr
#
#luci ->3. Applications-> luci-app-shadowsocksR
#luci ->3. Applications-> luci-app-shadowsocksR-GFW GFWList
#V1.1.6makefileV1.1.5
make menuconfig
#po2lmo
pushd package/openwrt-ssr/tools/po2lmo
make && sudo make install
popd
#
po2lmo ./package/openwrt-ssr/files/luci/i18n/shadowsocksr.zh-cn.po ./package/openwrt-ssr/files/luci/i18n/shadowsocksr.zh-cn.lmo
#
make package/openwrt-ssr/compile V=99
```
- LEDE
LEDEOpenWRTLEDESDKxzxz -dSDK
LEDESDKzlibopenssl
```bash
./scripts/feeds update
#baseSDKfeeds.conf.defaultsource.git;HEADsource.git
./scripts/feeds install zlib
./scripts/feeds install libopenssl
```
- Pandorabox()
Openwrt16.10SDKfeedlibpcrezliblibopensslmakefileSDKpackagemake menuconfig
makefile[][8]
---
libopenssllibpthreadipsetipiptables-mod-tproxylibpcreGFWdnsmasq-fullcoreutils-base64opkg
luci-app-shadowsocksRluci-app-shadowsocksR-GFWGFW
IPOpenWRTdnsSSRDNSDNS
GFWIPGFWdnsmasqOpenWRTSSRUDP
GFWUDP 5353
luci-app-shadowsocksR*_all.ipkwinscp/tmp
```bash
#opkg
opkg update
#dnsmasqGFWdnsmasq
opkg remove dnsmasq
#
opkg install /tmp/luci-app-shadowsocksR*_all.ipk
```
KcpTunreleases[1][4][2][7]ssr-kcptun/usr/bin
luciIPKGFWdnsmasq-full
---
luci :
| |
---------------|------------|-----------------------------------------------
auth_enable | | [0. 1.],
switch_enable | |
server | | , IP IP
server_port | | , 65535
local_port | | , 65535
timeout | | , 60
password | |
encrypt_method | | , [][2]
protocol | | "origin"[][3]
obfs | | "plain" [][3]
obfs_param | | [][3]
fast_open | | TCP [][3]
kcp_enable | | KcpTun
kcp_port | | KcpTun, 65535
kcp_password | | KcpTun"it's a secrect"
kcp_param | | KcpTun[][4]
|
----------------------------|-----------------------------------------------------------
| SSR TCP
UDP | SSR UDP
|
|
| 10600
| 3
DNS | UDPPdnsdTCPGFWpdnsd
DNS | DNS
DNS | DNSGFW5353
DNS | DNSgoogledns
SOCKS5- | SOCKSSSR
SOCKS5- | SOCKSSSR
-IP | IPIP
-IP | IPIP
-IP | IP
| BT
| IPIP
| IP
| |
---------------|------------|-----------------------------------------------
enable | |
server | | IP, 0.0.0.0
server_port | | , 65535
timeout | | , 60
password | |
encrypt_method | | , [][2]
protocol | | "origin"[][3]
obfs | | "plain" [][3]
obfs_param | | [][3]
fast_open | | TCP [][3]
openwrtkcptun--nocomp
kcptunkcptun"--nocomp --log /var/log/kcptun.log"
IP/etc/china_ssr.txt,IP
GFW/etc/dnsmasq.ssr/gfw_list.conf
GFW/etc/dnsmasq.ssrmyrules.confgoogle.com.hk
```
server=/.google.com.hk/127.0.0.1#5353
ipset=/.google.com.hk/gfwlist
```
/etc/init.d/dnsmasq restartdnsmasq
GFW/etc/dnsmasq.ssr/ad.confIP127.0.0.1easylistchina+easylistdnsmasq
OpenWRT
GFWDNSUDPSS/SSRUDPUDPUDPPdnsdTCPDNSpdnsdDNSpdnsdpdnsdTCPDNSDNSTCP
pdnsd14.07ar71xx
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages/pdnsd_1.2.9a-par-a8e46ccba7b0fa2230d6c42ab6dcd92926f6c21d_ar71xx.ipk
opensslipkcamelliaidealibopensslopenssl
---
Issues
---



[1]: https://github.com/breakwa11/shadowsocks-libev
[2]: https://github.com/shadowsocks/luci-app-shadowsocks/wiki/Encrypt-method
[3]: https://github.com/breakwa11/shadowsocks-rss/wiki/config.json
[4]: https://github.com/xtaci/kcptun
[5]: https://github.com/shadowsocks/openwrt-shadowsocks
[6]: https://github.com/shadowsocks/luci-app-shadowsocks
[7]: https://github.com/bettermanbao/openwrt-kcptun/releases
[8]: http://iytc.net/tools/pand.rar
[S]: https://wiki.openwrt.org/doc/howto/obtain.firmware.sdk