2014年2月12日星期三

用Mac为PS3 配置一个本地的http 代理服务器

在英亚订购的PS3 终于收到了,作为PS3新手,注册好PSN,发现可以安装YouTube等一些视频应用,试着装了些,结果发现访问速度超慢,被墙的服务基本就不能正常使用,这可不行,老子买来就是要享受的,怎能放弃这些服务!PS3互联网设置里支持http 代理服务器设置,遂决定用这个解决方案。

 服务端准备

 我是用家里的Mac做代理服务器,在Mac上安装Privoxy,官网上有Mac对应的安装文件下载。安装好后,它会自动启动服务,我们需要做的是修改Privoxy的配置文件,让Mac乖乖做好代理服务的工作。

 Mac下 Privoxy的配置文件路径为 /usr/local/etc/privoxy/config ,需要用管理员权限修改文件。用终端命令行修改比较省事。 打开终端App ,输入: sudo vim /usr/local/etc/privoxy/config (这条命令的意思是:用管理员的权限,使用vim编辑器,打开配置文件config) 接着终端会让你输入管理员密码,输入后就能编辑配置文件了。

 你需要在配置文件中修改两样东西。第一个是 listen-address (监听地址),默认值是:
listen-address 127.0.0.1:8118 (意思为监听机器本地的8118端口)。
作为服务器,我们要把它修改一下,你首先要知道你的Mac在局域网中的IP地址,比如192.168.1.5之类的,我们要让Privoxy监听这一个地址。具体修改如下:
由于使用的是vim编辑器,在终端里输入 /listen-address (意思是查找listen-address) vim会开始查找配置文件中包含 listen-address的字符,按n键是切换到下一个,直到你找到 listen-address 前面不加#号注释的那一行,开始修改。用方向键调整终端上光标的位置,移到127.0.0.1中你想删除的字符上,按下delete 即可删掉。 删掉127.0.0.1后,需要插入新的地址(Mac的局域网IP地址),按下i键,即可插入字符,输入192.168.1.5之类的IP地址即可。最后按Esc键退出插入模式。

 第二步是添加转发规则(forward),还是在vim编辑里,输入/forward 查找配置文件中的相关字符, 其实可以直接在配置文件中另起一行添加,但为了相对应,还是添加到相关注释说明的地方比较好。 多按几下n键,找到相关说明的地方,按下i键插入,把光标移动到#号上按回车另起一个空行输入:
 forward / 127.0.0.1:12440 (这里的是 / 表示所有的url请求, 127.0.0.1:12440 表示机器本地的12440端口,这个端口号可以随意设置,这条命令的作用在于把监听端口的所有url请求,转发到本地的某一端口上,这就实现了Mac 变http 代理的服务。)
 修改好后保存退出vim,在终端输入:wq 即可。 Privoxy 在服务端的配置即完成了。转发到的12440端口,必须配套完成翻墙设置,现在电脑上流行的翻墙方式,都有对应的本地端口,这个端口即为Privoxy 转发url请求的端口。我Mac上的翻墙服务,设置的本地端口即为12440,所有上面以此为例。

最后一步,在Mac上重启Privoxy服务。你可以在应用目录下发现已安装好的Privoxy文件夹,里面有两个脚本文件 startPrivoxy.sh 和 stopPrivoxy.sh ,在终端使用这两个脚本手动开关Privoxy服务。具体的做法是,把脚本文件托到终端上会显示它的路径,把光标移动到文件路径前,输入sudo 来执行。 重启Privoxy之后,在开启Mac上的翻墙服务,这样Mac就可以充当局域网内的http代理服务器了。 

PS3 上的设置,在互联网设置里,使用代理服务,地址填写你Mac在局域网中的IP地址,如上面的192.168.1.5 端口填写为8118。 这样就全部设置完成了。



 具体的原理说一下,PS3在设置完成后,所有的url请求都经过 192.168.1.5:8118端口,Mac端监听此端口,并把请求都转发到Mac的翻墙服务设置好的端口上,这样就实现了PS3翻墙。

 对网络连接的知识不大熟悉,如有错误,欢迎指正。

 参考: http://www.privoxy.org/user-manual/config.html



update:
使用了一天后,发现这种代理方式有几个缺点,暂时没有找出解决办法。
1. 使用http代理之后,PS3的浏览器就用不了,错误码好像是DNS出错,很奇怪。但是应用内自带的浏览器却能使用。怀疑自带的浏览器不走http代理服务,没仔细研究下去。
 2.不能正常使用SSL通讯,可能是转发规则没有设置。
3.有些应用依然无法正常使用,比如Amazon的视频应用。 

优点也有几个:
1.可以看IP限定地区的视频应用了!
 2.应用的响应速度变快了,网络对战速度没测试过,这个以后待验证。 

总结:
目前这个方案不大完美,临时解决翻墙的需要可以,无缝代理有点差。加上PS3来回切换网络设置比较蛋疼。推荐给特需要翻墙看Youtube 和音乐视频的用户使用。 唉,太折腾,还不如安心打游戏。翻墙不会用电脑啊!!