简介
Privoxy是一个可以将socks5道理转成http代理的东西,弥补很多三方软件无法直接走socks5流量的缺点。之前Mac上Privoxy一直都工作的好好的,但是后来不能用了,本文介绍Mac上(High Sierra版本)Privoxy启动不了的问题。
解决方法
出现问题后,试了很多种方法,包括卸载重装等,一直都无效,Privoxy根本起不起来。最后迷瞪过来,是因为我把Mac升级到了High Sierra但是Xcode还停留在老版本的原因。所以各位如果你升级了Mac大版本一定要记得升级XCode。下面介绍用Brew安装Privoxy的方法,所有操作都是升级XCode后进行的。
Brew安装Privoxy
输入命令:brew install privoxy就ok了。之后修改配置文件/usr/local/etc/privoxy/config,搜索socks5找到下面这一句:
1 | #forward-socks5t / 127.0.0.1:9050 . |
其中9050是Tor浏览器提供的本地socks5端口,这句不用管,直接在下面加一句:
1 | forward-socks5 / 127.0.0.1:1080 . |
这里1080是本地socks5的端口,记住最后面有一个点号不能少.
另外还能看到默认的一句:
1 | listen-address 127.0.0.1:8118 |
这表示privoxy只兼听本机的8118端口,如果你希望其他局域网内都可以用这个代理可以修改为:
1 | listen-address 0.0.0.0:8118 |
开机自启
之前从来没有设置过开机自启,都是需要用到时才用脚本去启动,现在来看太麻烦了。完全可以让他开机启动,用到时去接到8118端口就可以了。
用brew安装完毕后,会看到下面一段话:
1 | ==> Installing privoxy |
如果想设置开机启动的话,只需要:sudo brew services start privoxy就ok了。如果单次启动的话用/usr/local/sbin/privoxy /usr/local/etc/privoxy/config。
备注:这个启动方式和用Privxoy原始安装方式还是有区别的。
验证是否启动
方式一
经过上述操作打开shadowsocks和privoxy后,就需要验证socks5代理转http是否成功。首先看privoxy是否启动起来了,输入ps -ef|grep privoxy可以看到:
1 | 501 400 1 0 4:58下午 ?? 0:00.18 /usr/local/Cellar/privoxy/3.0.26/sbin/privoxy --no-daemon /usr/local/etc/privoxy/config |
可以看到已经启动成功了。
方式二
输入netstat -an | grep 8118可以看到:
1 | tcp4 0 0 127.0.0.1.8118 *.* LISTEN |
也能证明已经ok了。
方式三
最根本的方法莫过于通过8118端口访问google了:
1 | wget -e http_proxy=127.0.0.1:8118 www.google.com |
用wget和curl都是ok的。
终端也能用代理
在~/.zshrc里加上两句:
1 | export http_proxy='http://127.0.0.1:8118' |
通过echo $http_proxy要确保其生效,此时在console里wget Google的话就不需要指定代理也能出去了。