2011年6月9日星期四

[GFW BLOG(功夫网与翻墙)] Opera 自动代理解决方案和代理菜单

转自:http://igfw.tk/archives/3265

前几天把浏览器升级了,嘛,总要与时俱进。
Opera
10.70 build 9053 是我去年用得最久的版本,一直以来也挺满意。

本来打算在 Barracuda 出来前用一小段时间 11 的,但要更新的时候刚好 11.10 就出来了,于是就跳了。。。

以前发过的 Opera 代理菜单和按钮,很多人反映部分命令在 11 下失效了。
趁此机会更新下,并综合了来自其他高手的改进。

本文只是给出方案和配置,不提供任何相关工具和网址。

Opera 代理解决方案介绍

这次改得比较多,我就罗嗦点。再整个介绍一次主要代理方案。

效果预览

先放一张预览和示意图:

Opera 自动代理和代理菜单

需求分析

有三种模式:

  1. 禁用代理,Direct mode,也就是直连。
  2. 自动代理,Auto  proxy mode 用的 PAC,只对符合名单内的规则使用代理。
  3. 全局代理,Global  proxy mode,网络请求都通过代理访问。这个状态又有多种 IP 和端口等。

注:这里的全局不是系统全局,而是整个浏览器程序,如此称呼是为了方便表达。

一般情况下,我们的需求是:

  1. 平时用自动代理,遇到列表之外的网站,根据是否会再次访问选择加入代理列表 or 临时使用全局代理。
  2. 在全局代理的时候可以方便的切换端口,并且对一些常去的国内站点进行忽略。
  3. 当我们完全不需要代理或者进行一些测试排查的时候。

代理方案组成

这套代理方案包含以下部分:

  • 代理按钮:能显示三种不同的模式和10种常见代理端口。点击在“禁用代理 / 启用上一次使用的代理方式”之间进行一键切换。
  • 代理切换菜单:这个菜单会方便你在三种状态和多个代理端口之间进行快速切换,还有允许代理工具、添加 PAC 规则、例外列表,以及二级菜单中的其他功能。
  • 图标包:对应的菜单条目和代理状态、端口一目了然。
  • Pac 文件:用 PAC 来实现各种浏览器通用的自动代理,比起 override.ini 的方法强太多了。

Opera 代理菜单和按钮的改进

事实上我本来打算修复 11 以上版本无法使用的问题后,只是加上自己这段时间的做出的小调整。
但发现悲伤的采购做出了几个重量级的改进,相当让人佩服。详情见:另一个代理菜单和按钮
于是就把那些也综合进来了,那么现在这个比起以前的菜单和按钮主要改进有:

  • 在命令之间添加了延迟,现在能在 Opera 11 以上版本正常工作。
  • 不常用的代理端口切换放在了二级菜单下,添加了一些代理设置的二级菜单。
  • 现在的方案中只需要一个 PAC 文件即可,便于维护。并能自动修正 PAC 路径。
  • 重新做了一套代理图标,提取自 Opera 11 的皮肤包和各种相关工具,大小统一为 22×22。
  • 新增“添加站点到自动代理规则”(在 PAC 中快速添加规则)和“添加站点到例外列表”这两个强大的命令。
  • 精简部分代码,简化菜单条目。提供多种执行方式可供选择。

其中,“在“禁用代理 / 启用上一次使用的代理方式”之间进行一键切换”、“修复 PAC 文件路径”和后面那个“添加站点到例外列表”命令来自采儿。
感谢采儿~,我们就不用多说什么了。

“添加站点到 PAC”,方法来自:在PAC中快捷添加当前网站的规则
不过和原文提供的代码有不同之处:

  1. 生成规则和加入规则合并为一个命令,因为现在只需要一个 pac 文件嘛。
  2. 不需要在弹出窗口中修改规则(不直观),跳过了手动全选和复制的操作。
  3. 加入规则并应用更改后源代码页不自动关闭,新增规则位于 pac 顶部,方便确认和修改。
  4. 无需修改 operaprefs.ini 文件(用了取巧的方法 XD)。

配置 Opera 自动代理切换方案

添加代理按钮

在同样的思路下,有四种不同的实现方式。请根据你的情况和需求选择其一。

  1. Quick Proxy 弹出新标签的方式,这是我们常见的方式,比起传统的对话框命令体验要好些。
    建议勾选“在当前标签页旁打开新标签”,这样执行完命令就不会转到其他标签去了。
  2. Quick Proxy 隐身标签方式,比起前面一种的优势在于:执行完命令之后不会在“已关闭的标签”中留下记录。但仅适用于 Opera 10.50 以上版本。
  3. Quick Proxy 后台窗口方式,通过新窗口并最小化执行的方式,来自采儿的主意,体验挺好。
    就是按太快的话比起前两种更加杯具- -,关闭窗口比起关闭标签来得麻烦嘛。
  4. Quick Proxy 隐身窗口方式,就是方式3的无痕版,但似乎反应有点慢。同样仅适用于 Opera 10.50 以上版本。

添加代理菜单

编辑operaconfig菜单配置文件,在最后添加以下代码。

主菜单,点击展开
你需要修改两处外部代理工具的路径(蓝色标注),非必需,只是影响到运行代理工具。绝对路径和相对路径均可,A.shun 这里用的是相对路径。
还有一处 PAC 文件路径(红色),这是为了速度,而且添加和编辑规则才会用到,所以就直接用绝对路径。

二级菜单 1:更多设置
需要修改一处 PAC 文件路径(红色标注),影响“手动编辑 PAC”功能。

二级菜单 2:更多端口

菜单和按钮命令都是一样的,有4种不同的执行方式。
这里限于篇幅问题,给出的代码是通用性最强的第一种方式。(不折腾的话直接跳到下一段)
你可以把代码中的:Open url in new page批量替换为下面的:(分别对应三种方式)
New private page & Go to page
New browser window & Minimize window & Go to pageNew private browser window & Minimize window & Go to page

配置 PAC 文件

PAC 文件是个好东西,你可以在网上下载到,但这里还是建议你自己维护一个。

加上常去的几个站点即可,简单快速。而且 PAC 是各种浏览器通用的,全部浏览器指向同一个 PAC,这点很方便。
当然,网上的 list 对不喜欢折腾的人真的很方便,但由于 Opera 10.50+ 某个长期未修复的 bug,啊咧。。。

好吧,这里给出一种感觉不错的 PAC 写法。
(要使用菜单中的“添加到自动代理规则”必须配合 pac 的内容进行修改,用我这种语法的话就不用改了。)
如何修改就看里面的注释吧。

点此获取 PAC 文件写法
OK,把上面代码复制出来,保存为 pac.txt (嗯,没有看错,后缀不一定要用 pac,用 txt 是为了方便编辑。)
放到 profile\tools\ 文件夹下,没有则新建一个。

当然,这种写法还是需要自己做确认,可以适当添加点和斜杠进行优化。其他 PAC 写法自己去网上搜索吧。

注意:主菜单绿色标注的 Next line & Next line & Next line 表示在 pac 文件的第三行中粘贴新规则,根据 PAC 文件的不同做适当修改。

给 Opera 代理按钮和菜单添加图标

先下载这个图标包(17.2kb,内有17枚)。 Google code | OC 附件
把解压后的 proxy 文件夹放到你operaconfig当前使用的皮肤里面。
并编辑皮肤包中的 skin.ini,在 [Image] 段的后面添加以下代码。

点此获取代理图标的代码
当然,如果你经常换皮肤,那么建议你修改 opera/skin 里的 standard_skin.zip。

注意事项

  1. 修改菜单时,要注意保存为 UTF-8 无 BOM 格式,否则会乱码。
  2. 在保存  skin 之前,要先关闭 Opera。
  3. 如果部分命令无法正常工作,请尝试加大延迟,修改 Delay, 后面的数字。
  4. 如果启动代理工具时提示“此扩展名未注册应用程序”,那么请检查外部程序路径。

累,贴代码和按钮真是体力活 – -
我已经尽可能详细的说明了,但是要完全不动手,类似 autoproxy 和 Proxy Switchy 之类一键安装的扩展,那目前没有。

更新:
2011.02.24 夜,初稿
2011.02.25 上午,移除菜单中一个不必要的条目,文章细微调整

容我再罗嗦几句,按钮和菜单是比较直观和便于分享的形式,但不仅限于此,你完全可以把每个动作改用快捷键或手势来执行,这也是 Opera的魅力。(当然,按钮才能显示这些状态)
还有,最近把 Gravatar 头像也换成和 Twitter (@ashunyi)上一样了,欢迎围观。
用头像缓存的同学帮我更新一下吧
,普遍表示不想换- -,好吧,我可能会改评论邮箱,以前就保持原样吧。

» 转载请以超链接形式注明来源:A.shun Blog » 《Opera 自动代理解决方案和代理菜单》
» 本文链接地址:http://www.a-shun.com/archives/21451.html


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

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。




--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 6/09/2011 09:12:00 PM

--
1、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、发一封标题为GFW的邮件到fanqiang70ma@gmail.com,就可获取翻墙利器赛风新地址。附《数字时代》赠阅版。3、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。
停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com

没有评论:

发表评论