Pages

Thursday, 25 February 2016

在mac系统上设置privoxy,让无线局域网中的其他机器共用mac系统上的http proxy进行翻墙

privoxy下载地址:
https://sourceforge.net/projects/ijbswa/files/Macintosh%20%28OS%20X%29/3.0.24%20%28stable%29/Privoxy%203.0.24%2064%20bit.pkg/download (for mac系统)

https://sourceforge.net/projects/ijbswa/files/Debian/ (for debian/ubuntu 桌面系统)
https://sourceforge.net/projects/ijbswa/files/Win32/  (for win32系统)

首先下载并安装privoxy。

打开Shadowsocks代理软件,按提供商要求填写好资料,测试连接成功后,Shadowsocks是一个Socks5代理程序- 127.0.0.1:1080 ,

安装完毕privoxy后,在mac的终端里运行find / -name privoxy,得到结果:
...
/usr/local/etc/privoxy
/usr/local/sbin/privoxy
/usr/local/share/doc/privoxy
...
yudeMacBook-Air:~ brite$ ln -s /usr/local/sbin/privoxy /usr/local/bin/privoxy
yudeMacBook-Air:~ brite$ privoxy --help
Privoxy version 3.0.23 (http://www.privoxy.org/)
Usage: privoxy [--config-test] [--chroot] [--help] [--no-daemon] [--pidfile pidfile] [--pre-chroot-nslookup hostname] [--user user[.group]] [--version] [configfile]
yudeMacBook-Air:~ brite$

可知privoxy的执行文件为/usr/local/sbin/privoxy,其配置文件所在目录为/usr/local/etc/privoxy/,
/usr/local/share/doc/privoxy/privoxy-index.html为privoxy的使用说明。

yudeMacBook-Air:~ brite$ cd /usr/local/etc/privoxy
yudeMacBook-Air:privoxy yuming$ ls
config match-all.action.new user.action
config.new match-all.action.old user.action.new
config.old templates user.action.old
config_with_vpn templates.old user.filter
default.action trust user.filter.new
default.filter trust.new user.filter.old
match-all.action trust.old
yudeMacBook-Air:privoxy brite$

/usr/local/etc/privoxy/config文件就是privoxy的配置文件。编辑这个配置文件:
搜索listen-address 127.0.0.1:8118 ,把它改为listen-address 0.0.0.0:8118 ,
0.0.0.0的意思就是允许局域网中的其他机器连接本台机器(这里为mac.当然也可为windows桌面系统或linux桌面系统)
然后搜索forward-socks5t / 127.0.0.1:9050 . (此行是被注释掉的),在其下面一行添加
forward-socks5 / 127.0.0.1:1080 .(不要忘了最后面的".")
这里的127.0.0.1:1080即为上面所说的本地的shadowsocks代理服务器的地址:端口号,当然其他的socks5代理程序也行,比如tor,ssh tunnel.
保存这个配置文件。然后启动privoxy:
nohup /usr/local/sbin/privoxy --no-daemon /usr/local/etc/privoxy/config > /dev/null &或者

privoxy /usr/local/etc/privoxy/config (这条命令是在后台运行的。)

在同一局域网的 其他机器上,设置HTTP代理为mac机器在无线局域网中的ip地址,比如192.168.1.101,端口为8118,访问Ip查询网站www.ip-adress.com,所显示的ip为Shadowsocks服务器的ip地址就说明设置成功。无线局域网中的每种设备的设置方法不同,(其他)电脑的设置方法是在选项-网络-局域网设置中,苹果手机:设置-wifi的最下面。安卓手机:设置-wifi-高级里。这样苹果手机/安卓就可共用mac系统上的翻墙通道进行翻墙了。

如果mac上运行的代理程序不是socks5代理程序而是vpn的情形:
首先在mac上,复制/usr/local/etc/privoxy/config为/usr/local/etc/privoxy/config_with_vpn

yudeMacBook-Air:privoxy brite$ cp /usr/local/etc/privoxy/config /usr/local/etc/privoxy/config_with_vpn
yudeMacBook-Air:privoxy brite$ nano /usr/local/etc/privoxy/config_with_vpn

/usr/local/etc/privoxy/config_with_vpn文件里的listen-address 0.0.0.0:8118改为
listen-address 0.0.0.0:8119 (因为mac机器上的8118端口已被占用,所以这里的8118需改为另一个端口,比如8119)。
forward-socks5 / 127.0.0.1:1080 .改为forward / .
意思是转发所有通信(/)到所有目标(.)  注意这个点不能少.
保存这个配置文件。然后启动privoxy:
nohup /usr/local/sbin/privoxy --no-daemon /usr/local/etc/privoxy/config_with_vpn > /dev/null &

yudeMacBook-Air:privoxy brite$ ps aux|grep privoxy
brite           3301   0.0  0.0  2460908    592   ??  S     1:21下午   0:00.23 /usr/local/sbin/privoxy --no-daemon /usr/local/etc/privoxy/config_with_vpn
_privoxy         3037   0.0  0.0  2466672   1680   ??  Ss   11:23上午   0:02.81 /usr/local/sbin/privoxy --no-daemon /usr/local/etc/privoxy/config
brite           3679   0.0  0.0  2441988    664 s000  S+    5:32下午   0:00.01 grep privoxy
yudeMacBook-Air:privoxy brite$

在同一局域网的 其他机器上,设置HTTP代理为mac机器在无线局域网中的ip地址,比如192.168.1.101,端口为8119,访问Ip查询网站www.ip-adress.com,所显示的ip为vpn服务器的ip地址就说明设置成功。无线局域网中的每种设备的设置方法不同,(其他)电脑的设置方法是在选项-网络-局域网设置中,苹果手机:设置-wifi的最下面。安卓手机:设置-wifi-高级里。这样苹果手机/安卓就可共用mac系统上的http proxy进行翻墙了。不过用作http proxy的那台机子(比如mac机器),在这台机子上,如果设置它的浏览器的http proxy为127.0.0.1:8118,然后用
它的浏览器翻墙的速度并不快,而无线局域网中的其他机器(比如iphone)共用mac系统上的http proxy进行翻墙的速度倒是挺快的。

windows桌面系统中的privoxy:
打开Privoxy(在屏幕右下角的图标),点击菜单Options的“Edit Main Configuration” (或者直接打开Privoxy的安装目录下的config.txt)进行编辑。

相关帖子:http://briteming.blogspot.com/2015/05/privoxy.html
http://briteming.blogspot.com/2012/10/privoxypolipo3proxysock5http.html