很早就聽說了ShadowSocks翻牆利器,一直沒空玩。今天被“河南青年因售賣SS賬號被判三緩五 罰款10萬”刺激了,覺得應該看看到底怎麽回事,有多難。
自己家裏裝這些玩玩當然要考慮省電,而最省電的莫過於家用路由器。
家裏的路由器是Craigslist上10美刀淘來的Linksys E4200 v1, 早早的就刷了Advanced Tomato
前一陣子跟風5W大佬在上麵裝了PPTP VPN Server,回國時用得很順。今天在同一個路由器上成功設置了ShadowSocs server,回國又有新玩具了。
具體步驟我是跟著油管視頻 https://www.youtube.com/watch?v=UnTJg0d6JoQ? 慢慢做的,多年不接觸Unix/Linux,手生了,眼神也不好,犯了許多打字錯誤, 10幾分鍾的活好幾個小時才搞定。
我把過程都做成圖片,以便大家理解。
首先router要刷成DD-WRT, Tomato, OpenWRT, Asus Merlin等open source firmware,其次儲存要足夠大(究竟要多大我也不知道,反正新點的都夠大)。這些都是Embedded Linux OS。以Linksys E4200 v1 Advanced Tomato 為例:
Administration/Admin Access/Enable SSH Daemon
Enable JFFS Partition (別忘了Format, Save)
PuTTy login (Host Name (or IP address) 我就填 router IP address 192.168.1.1 Tomato router default)
PuTTy terminal commands
就下麵這麽幾條:
cd /jffs
mkdir opt
mount –o bind /jffs/opt /opt
cd /opt
entware-install.sh
opkg update
opkg install shadowsocks-libev-ss-server
cd /opt/etc
vi shadowsocks.json
【注意:如果你要copy-paste的話最好用notepad等純text editor上copy-paste,否則各種其他格式也許會跟著來】
貼圖:
【也有人說最新的Tomato by Shibby (the core of Advanced Tomato) 已經包含entware】
下麵是server configuration file, 重要一步。把多年不用的vi說明找出來...
我按油管視頻的指導把server address改成了 0.0.0.0。server_port 隨便寫一個,不被ISP擋住就行。password 自己想一個。最後 (encryption) method 我改成了 aes-256-cfb,這個是許多client side的default。記下server_port, password and (encryption) method,後麵要用到
回到路由器web interface,
Administration/Scripts:
Init:
mount -o bind /jffs/opt /opt
ss-server -c /opt/etc/shadowsocks.json
Save
Firewall:
iptables -A INPUT -p tcp -s 0/0 --dport 8388 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8388 -m state --state ESTABLISHED -j ACCEPT
上麵 8388 要改成與 shadowsocks.json 中 server_port 一樣的數值。注意有幾個參數用了兩個dash
Save
至此ShadowSocks Server就設置好了。
至於ShadowSocks client,可以到 https://shadowsocks.org/en/download/clients.html
下載你所需要的。最方便的是用手機測試 --- 用cell phone data, 不用家裏wifi, 這樣連接時肯定是從外麵連到家裏
連接ShadowSocks client 連接 server 有4個參數:
Server: 填你router wan side IP, 或者dynamic domain name
Remote port: 填shadosocs.json文件中server_port
Password: 填shadosocs.json文件中password
Encryption Method: 選shadosocs.json文件中method
填好後就可以試著連接。我用Android 手機,連接後看到sent/received 不是0 就是連上了。也可以“tap to check connection"。
ShadowSocks client feature setting 欄有個 Route 選項(不知中文版怎麽說),可以選 All 或各種bypass list或各種use only for list,比如:"Bypass Lan & mainland China", "GFW List"等。這樣在牆內可以避免不必要的翻牆(翻進翻出肯定會影響速度)。
等到了牆內再來匯報!
【隔壁數碼壇米老康有帖介紹ShadowSocks client,有個公開的ShadowSocks server,大家可以試試
http://bbs.wenxuecity.com/smsh/24264.html
】
【謝謝 gegenion 指正,改了typo
mount –o bind /jffs/opt/opt /opt
mount –o bind /jffs/opt /opt
】