美丽新世界:linux 下的惬意生活 之个人专属代理篇

2015/02/05

Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers.
---- <<Art. 19, Universal Declaration of Human Rights, 1948>>.

google 重新定义了搜索引擎,苹果重新定义了手机,天朝重新定义了局域网。为让大家保有天朝优越感,+- 屏蔽了大量“非法”网站,有境内/境外的、有纯技术的、有爱情动作的、有轮子功的,反正 +- 不喜欢的通通借由 GFW 这堵墙屏蔽掉。当然,也有主动屏蔽囧朝访问请求的,比如,sourceforge.net 非常反感囧朝的封闭,你朝子民别来我这儿。裆从小就教育我们,哪里有压迫哪里就有反抗,话说屏蔽之前,天朝的宅男还可以下载几部码片看看打发时间,嘚,看吧,让你屏蔽,没事做了,那就研究下怎样翻墙吧。

个人专属代理

前面介绍的各类代理有个通病,你需要和其他人共用,比如,goagent,你和其他人共用 GAE 提供的代理;openVPN,共用 vpngate.net 的代理;shadowsocks,共用那些免费 SS 提供商给出的代理;tor,相对好些,你可以按不同区域选择代理。总的来说,我需要只为我一个人提供代理的机制。这个需求,goagent 和 shadowsocks 都可实现,shadowsocks 对环境要求苛刻些,所以,以 goagent 为例讲解。
回忆下前面介绍 goagent 章节,goagent 分为 local/ 和 server/ 两部分,当时我们把 server/ 上传至 GAE,通过 local/ 与 server/ 数据交互让 GAE 成为代理机实现翻墙。由此可见,goagent 能翻墙成功的关键是朝内暂时还可以访问 GAE,如果那天 GFW 把访问 GAE 的网络封锁了,那 goagent 将失效。
逻辑上来说,server/ 可以上传至任何服务器,只有那台服务器未被墙且具备 server/ 运行环境,那么,在 goagent 作用下,该非 GAE 服务器也可以成为我提供的代理服务,这就是所谓的 non-GAE 模式。为此,在 GFW 这堵墙越建越高的未来,goagent 作者建议,non-GAE 模式是 goagent 的使用趋势。
首要任务,申请合适的免费空间。空间必须满足两个条件,一是提供 PHP 以支持 goagent 的 server 正常运行,一是未被 GFW 封锁以实现数据交互。推荐 http://www.ecvps.comhttp://www.hostinger.com.hk 、http://nazuka.net 、http://binhoster.comhttp://www.1freehosting.com 、http://www.dhmart.info 几个,优选 ecvps.com。ecvps.com 有如下承诺:
20GB Diskspace
Unlimited Bandwidth
Support PHP, MYSQL
Zend Optimizer
Torrents, Proxy, Adult allowed!
Kansas City Datacenter ( USA Located )
No ADS
1000Mbps Internet Connection
Directadmin ( control panel )
Instant Activation
Remove Account if no bandwidth using for 7 days
简直是霸气侧漏,不限带宽、提供 PHP 和 mysql、允许代理、绝无广告、立即激活。唯一限制是连续 7 天无流量将删帐号。无需代理直接访问 http://www.ecvps.com/freehosting/ ,点击 order now 后在 Use a subdomain from EcVps 中填写二级域名(如,yangyangwithgnu),点击 click to continue 后填写用户注册信息,点击 complete order 完成空间申请。按理说,填完申请也就应该顺利分配空间了,但 ecvps.com 为防止恶意注册启用了反欺诈检测,如果你的信息存在虚假,将会申请失败,告知如下:
MaxMind has deemed your order to be potentially high risk and therefore it has been held for manual review.
If you feel you have received this message in error, then please accept our apologies and submit a support ticket to our Customer Service Team. Thank you.
按它提示,必须发一张申诉单请后台人员人工分配空间,申请地址http://www.ecvps.com/client/submitticket.php?step=2&deptid=12 ,内容要尽量诚恳,比如,
hi admin,
I'm a student who learning webdesign, so I hope to get a free hosting, ecvps.com is so good by word of mouth. But always "MaxMind has deemed your order to be potentially high risk" there, help me, thx.
申诉单的紧急程度选高些,priority 选为 high。另外,一定要在工作时间内(周一到周五的 09:00 – 17:00)提交,否则,你的申请单将石沉大海。ecvps.com 承诺 20 分钟内邮件反馈,告知你后台管理地址为 https://server.ecvps.net:2222/ , 登录用户名和默认密码,FTP 的 hostname 为 yangyangwithgnu.ecvps.net,二级域名 http://yangyangwithgnu.ecvps.net ,如果你要绑定一级域名还会用到的 Nameserver,还有 email 的 pop3 和 smtp 信息。
接着,部署 goagent 的 server 到免费空间。下载最新版 goagent(https://github.com/goagent/goagent),在 goagent/server/php/ 下有 index.js、index.php、index.py、relay.php 等四个文件,为防止其他人盗用流量,前三个文件中均有一行设置密码的代码
$__password__ = '123456';
将其更改(如,abcdefgh)。登录后台管理地址 https://server.ecvps.net:2222/ (切勿用代理访问),点击 files 菜单可查看文件列表,在 public_html/ 下创建 goagent/ 子目录,进入该子目录后将 index.js、index.php、index.py、relay.php 四个文件上传至此。
然后,设置本地配置文件。到 goagent/local/ 将 proxy.ini 的部分默认设置如下,其他部分保持默认设置不变(英文逗号表示注释):
; 同时支持 GAE 代理
[gae]
enable = 1
appid = yangyanggnu0|yangyanggnu1 ; 替换成你的 appid

; 封堵可访问任意文件的漏洞
[pac]
enable = 0

; 同时支持 non-GAE 代理
[php]
enable = 1
password = abcdefgh ; 同 index.php 中的密码一致
fetchserver = http://yangyangwithgnu.ecvps.net/goagent/index.php ; 你 index.php 文件的路径
其中,注释已经很清晰了,唯一提醒的,这份 proxy.ini 可以同时支持 GAE 和 non-GAE 两种模式的代理。
最后,设置浏览器本地中转代理。参照“3.2.3 google 服务器代理”章节对浏览器的设置,唯一区别是,先前的 GAE 模式监听端口为 8087,这里的 non-GAE 模式监听端口为 8088,如下图所示:


(goagent 的 non-GAE 模式代理)
后续,运行 proxy.py 时,根据浏览器选择的不同代理,本地的单个 goagent 可以在 GAE 和 non-GAE 见随意切换。这样,你个人专属的代理就搭建完成了。

好了,翻墙部分就这样,说得多了些。就我而言,大部分时间只要浏览器能翻墙即可,虽然以上四种方式都可达到目的,但我优选 goagent,一是毕竟使用的是 google 的服务器,机器性能、网络带宽、在线时长都较好,二是 goagent 只影响浏览器,不会强制让我其他应用程序(如下载工具)走代理;当 goagent 被干扰(如,陆四期间)不可用时,换用 shadowsocks;需要全局代理时用 openVPN;需要指定地域的出口 IP 时用 openVPN + tor;需要个人专属的代理就用 non-GAE 模式的 goagent。

摘自:https://github.com/yangyangwithgnu/the_new_world_linux

作者:yangyangwithgnu

Related Posts