在iOS上使用shadowsocks代理
我以前写过一篇 梯子制作教程,当时没有搞定 iOS
的代理,直接走的 openwrt
路由器代理,现在极路由坏了换了个 Tenda
路由器没这功能了,好久都没在果机上收过 Gmail
邮件了,开网页又嫌麻烦,每次查看邮箱都几十封在那躺着。。。
今天再试一下,我 Windows PC
上有 shadowsocks
客户端在运行,IP 192.168.1.90
,开放局域网连接端口 8080
,在苹果的 设置
-无线局域网
-WiFi名
上点感叹号,配置 HTTP
代理为手动,服务器、端口分别填写 192.168.1.90
、8080
,然后正准备打开浏览器上 google.com
测试呢,呼啦啦几十封 Gmail
未读邮件过来了。。。
证明手动 HTTP
代理,让流量走 PC
是可行的。但也不能24小时开着电脑啊,刚好有台 Ubuntu 16.04.6 Server
一直在运行,搞起来。
一、安装 shadowsocks
-
安装
pip install shadowsocks
-
配置
写
sslocal
的配置文件:/etc/sslocal.json
{ "server":"your-ssserver-ip", "server_port":your-ssserver-port, "password":"your-sserver-password", "method":"aes-256-cfb", "timeout":300, "local_address":"0.0.0.0", "local_port":10443 }
是的,前提是你得有自己的
your-ssserver
。。。不提。关键是设置
local_address
和local_port
,相当于Windows PC
上shadowsocks
客户端的允许来自局域网的连接
选项。 -
开机启动 optional
写
supervisor
脚本/etc/supervisor/conf.d/sslocal.conf
[program:sslocal] process_name=%(program_name)s command=sslocal -c /etc/sslocal.json start autostart=true autorestart=true user=root redirect_stderr=true stdout_logfile=/home/jack/sslocal.log
supervisorctl update
使之生效。 -
失败
果机尝试
HTTP
代理,手动、自动都不行,查了一下,shadowsocks
提供的是SOCKS5
代理,果机要求的是HTTP
代理,不通是正常滴。再次搜索,发现可以用privoxy
将SOCKS5
代理转换为HTTP
代理。
二、安装 privoxy
-
安装
apt install privoxy
-
配置
vi
/etc/privoxy/config
文件,善用?keyword
进行搜索。。。找到
listen-address
修改为listen-address 0.0.0.0:18118
。找到
actionsfile
,追加一行actionsfile gfw.action
,等下创建gfw.action
。 -
生成
gfw.action
先安装
gfwlist2privoxy
,它可以用来将gfwlist
文件转换为privoxy
的action
文件格式。pip install gfwlist2privoxy wget https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt gfwlist2privoxy -i gfwlist.txt -f gfw.action -p 127.0.0.1:10443 -t socks5 systemctl restart privoxy.service
-
测试
果机设置
HTTP
手动代理,IP
为Ubuntu
的IP
192.168.1.168
,端口18118
。打开谷歌,开了!
总结
果机流量路线:
果机 HTTP
代理 -> privoxy
-> sslocal
-> ssserver
-> service
其中,走到 privoxy
时,privoxy
会根据 gfw.action
自动过滤,在其中的转发,不在其中的我看是没有转发的,直接放行了,因为打开微信网页什么的速度很快,比打开谷歌快多了。。。
我只求能收个 Gmail
邮件,更详细的就不研究了。总的来说,这个方法仅适合在自己的 WiFi
下使用,且需要局域网内有服务器一直运行,并不适合出门在外时通过移动流量翻墙,使用 Android
手机更方便。