在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.logsupervisorctl 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的IP192.168.1.168,端口18118。打开谷歌,开了!
总结
果机流量路线:
果机 HTTP 代理 -> privoxy -> sslocal -> ssserver -> service
其中,走到 privoxy 时,privoxy 会根据 gfw.action 自动过滤,在其中的转发,不在其中的我看是没有转发的,直接放行了,因为打开微信网页什么的速度很快,比打开谷歌快多了。。。
我只求能收个 Gmail 邮件,更详细的就不研究了。总的来说,这个方法仅适合在自己的 WiFi 下使用,且需要局域网内有服务器一直运行,并不适合出门在外时通过移动流量翻墙,使用 Android 手机更方便。