文章较长,想找这样工具的朋友,可直接查看Kder自己写的小软件PyProxySwitch

起因

如题。

经过

这个方法可以设置Chrome的代理,但是不能方便地切换代理:以如下参数启动Google chrome可以使其不使用IE的代理设置,X是我自定义的路径

"X:\Program Files\Chrome\Application\chrome.exe" --user-data-dir="X:\User Data" --proxy-server=127.0.0.1:8080

为了给我所有的网络程序找一个公用的快速切换代理的软件,我搜啊搜…… 关键词:代理级联·二次代理·二级代理·本地代理服务器调度·代理调度软件;内置服务器·代理转发·intercept Proxy……

要解决这个问题,我有几个选择:

1、搜索;2 、求助; 3、自己写【见下文:PyProxySwitch

首先是搜索,搜到了好多:

ProxySwitcherLite 不支持 Internal Proxy

Proxy Switch —— 类似 Multiproxy,自动化,不能手动切换

一键切换+本地服务器调度 ProxySwitcher正是我想要的,可惜是收费的的软件……

代理猎手 —— 切换、调度不方便……

代理超人——切换有些不便

httport

Flos HTTP Proxy

proxyExpert——切换不方便

Webscarab——不方便,不能切换

Multiproxy —— 不能手动切换

Privoxy —— 不能手动切换

jproxychain,sockschain

……FreeCap

TCP2HTTP

还有几款不错的 共享代理软件:CCproxy、 SuperProxy、 Foxy MyProxy、 Proxycap和ProxySwitch。

以上软件Kder都试用了一下,免费软件中只有代理超人比较符和需要。代理专家也可以,就是切换只支持IE。

—————————————————————————————————

选来选去,还是ProxySwitcher最好(可惜是收费的~),代理超人勉强可以,花刺代理也可以,就是没有内置服务器;

 

功能需求和架构实现

我所想的(如果我自己写的话)内置服务器调度+快速切换的工具,其实对于我来说实用性应该算最强的:

1.多应用程序支持,不仅是浏览器

2.统一接口,都设置成本机的端口,只管切换就行了

而曾考虑过的另一种方法,切换工具(ProxySwitcher、花刺等等)+ 端口转发工具(TCP2HTTP、 HTTPort等等)的组合,可分析一下,实用性不强:

1.多应用程序支持问题:如何实现?切换工具不断切换本机端口,而应用程序不能及时响应,通过pac脚本的话,有些程序又不支持

2.接口不统一:只能实现修改IE的代理配置(有些程序又不支持)或者修改一个pac文件,而不是统一的端口

要实现统一接口或者实时响应,一个可用的解决方案是:在切换软件切换代理后,以一个中间组件判断更改为哪个地址,然后将地址作为参数传递给 端口转发软件,使其本地监听端口不变,只更改向外转发的地址和端口,然后重新加载

以上这个实现似乎不难,用花刺的pac就可以,我试了,自建一个http server,将花刺 的pac设置好路径,三个浏览器就都支持了!

但统一接口实现了,快速切换又成问题了:pac定了,要快速切换就要能修改pac内容。花刺的做法是根据一个模板生成文件然后覆盖,在修改注册表里的pac位置(这个默认就是file协议,改成http后每换一次就会改回去,挺烦的),似乎很麻烦:需要http服务器+动态修改。动态修改可以调用命令模式的文本编辑器修改,或者事先写好几个pac文件,需要哪个就把那覆盖掉目标文件(这个似乎简单点),以后考虑一下。

结果

符合以上两个要求的软件我已经找到了,叫 Proxy Switch【注意不是ProxySwitcher,也不是Google、百度搜出来的ProxySwitch,是在sourceforge里的开源项目叫 ProxySwitch,下载下的文件名叫做pProxySwitch.exe,Google搜索只有一个结果】界面居然是波兰语的~ 好在有Google翻译,我把它不完全【英化】了一下,没敢汉化,怕不支持中文~ 需要的朋友可以给我留言,也可以直接点此下载http://www.ziddu.com/download/6543942/PProxySwitch.zip.html 花了两天时间,问题终于解决了,我为此险些冲动的要去自己写一个Proxy Switcher…… 好了,好好用我从sf上淘来的ps吧,抽时间研究研究他的源代码,自己做一个,呵呵~

自己动手,丰衣足食

最近Kder还真的写了个符合以上要求的软件:PyProxySwitch,一个用Python写的代理切换程序,可以为Chrome、Firefox或者其他的网络程序切换代理设置,自用感觉效果不错,目前正在完善中,详情见http://www.kder.info/pyproxyswitch

转载请注明:作者:Kder [ http://www.kder.info/]  出处:http://www.kder.info/chrome-proxy-switcher.html

更新2:2010年8月9日
更新1:2009年9月20日
初稿于2008-11-16 22:51

您也许想再看看这些:

1 回复 “Chrome代理设置真烦人,寻内置代理服务器调度+快速切换的工具”

  1. diggeak

    不错,挺详细的