此文适用于 Windows 操作系统。Mac OS X 系统请看此文

互联网上鲜有提供长期、稳定而又免费的 HTTP 或者 SOCKS 代理,这就对我们经常访问某些需要国外代理才能访问的网站造成了诸多不便,如:TwitterFacebook

此文提供一种代理方法,使用 SSH 通道代理我们的 Web 访问,一旦找到稳定的提供 shell 访问的 Linux 或 Unix 主机,我们就可以方便的使用代理了。此外,再配以 AutoProxy,我们将可以获得更好的用户体验,只在访问需要代理的网站时通过代理访问,其它网站则直接连接。使用 SSH 通道代理的另外一个好处是通道是加密的,通讯内容无法被截取,从而可以避免关键词监测等过滤行为。

在 Windows 上实现以上功能,有两种方法,分别针对 Firefox 和其它浏览器(IE, Opera, Chrome)。

先介绍一下以上几款软件。

MyEntunnel 是一款免费软件,它以图形界面方便、简单的建立 SSH 通道。

Firefox,著名的浏览器,它拥有众多的插件,可以很方便的扩展许多实用功能。

AutoProxy 是 Firefox 的一个附加组件,使用自定义或者订阅的自动更新的代理规则来自动判断哪些网站需要使用代理访问。配合 gfwList 订阅组翻越城墙方便不少。

如果使用 IE 等其它浏览器就不能使用 AutoProxy 这个不和谐的组件了。然而幸运的是我们有 AutoProxy2PAC,这不是一款软件,而是一个在线服务。AutoProxy2PAC 将 gfwList 转换为 PAC 代理脚本,根据 gfwList 的规则在访问被墙网站是自动选择使用代理服务器。虽然缺少了方便简单的自定义能力,却也方便不少了。

除了软件之外,必不可少的一个基础条件就是提供 SSH 链接的服务器了。国外大部分 Linux 网站空间/主机都提供 Shell 权限,如 Godaddy;免费的服务器就需要大家自己去找了,可以 Google 一下「Free Shell」。这里提供两个网站:http://www.cjb.net/shell.htmlhttp://www.freessh.net/

下面来介绍如何使用这些软件进行翻墙。

首先下载 MyEntunnel,MyEntunnel 是免费软件,官网已经撞墙了,我们可以在互联网上找到 3.5.2 的汉化版下载,汉化版也更适合中文用户使用。
Skydrive 下载(7Zip 格式,362KB)
Dropbox 下载(RAR 格式,376KB)
(以上两个下载内容是一样的,只是不同的压缩格式,下载链接来自:http://www.steelsnarl.com/myentunnel-352/

下载后解压后是4个文件,运行 myentunnel.exe,出现主界面:

MyEntunnel 设置

MyEntunnel 设置

在设置选项卡中填写「SSH 服务器」的域名或者 IP 地址,「SSH 端口」一般为22,「用户名」输入帐号,「密码短语」中输入相应的密码,「端口」中填写浏览器使用的代理服务器端口(SOCKS5代理),可以选择「启动后就连接」以自动连接,选择「掉线自动重连」保持连接的持续性,选择「启用压缩」加速和节省流量。

设置完成后点击「保存」按钮以保存设置,然后点击「连接」按钮连接到 SSH 服务器。

MyEntunnel 状态

MyEntunnel 状态

在状态选项卡中看到“连接已经稳定下来了”,在任务栏的通知区域,MyEntunnel 图标也由红色变为绿色:

MyEntunnel 任务栏通知区域图标

MyEntunnel 任务栏通知区域图标

这时就可以使用了。如果选择了「启动后就连接」,下次启动时只要看图标由红色变成绿色即可,快速、简单、实用。

如果使用 Firefox 浏览器,那么安装 AutoProxy 附加组件,安装完成后添加「gfwList」规则订阅。

AutoProxy 订阅 gfwList

AutoProxy 订阅 gfwList

然后编辑代理服务器:

AutoProxy 编辑代理服务器

AutoProxy 编辑代理服务器

确保「ssh -D」的端口和 MyEntunnel 设置的一致。

AutoProxy ssh -D

AutoProxy ssh -D

这样使用 Firefox 冲浪时就可以自动用代理访问被墙站点了。如果 gfwList 还不能满足需求,可以在 AutoProxy 中添加自定义规则。

使用 IE、Opera 或者 Chrome 的话,就需要 AutoProxy2PAC 了。打开 AutoProxy2PAC 的主页,选择我们使用的代理方式「ssh -D / MyEnTunnel」,然后点击「获取 PAC 地址」取得在线的实时更新的 PAC 的链接地址,或者点击「下载 PAC 文件」取得存储到本地的 PAC 文件。

AutoProxy2PAC ssh -D

AutoProxy2PAC ssh -D

IE 和 Opera 使用 AutoProxy2PAC 的方法

IE 和 Opera 不支持直接使用 SOCKS5 代理,需要配合 Privoxy 才能使用 MyEntunnel 的 ssh -D 代理。
先下载 Privoxy,安装完成后启动,选择菜单中的「Options」→「Edit Main Configuration」编辑配置文件。找到「listen-address 127.0.0.1:8118」,可以根据需要修改,意思是 Privoxy 监听本机的 8118 端口建立一个 HTTP 代理服务器。

Privoxy 监听设置

Privoxy 监听设置

然后再新增一行「forward-socks5 / 127.0.0.1:7070 .」,端口(此文中为7070)与 MyEntunnel 设置的一致。这一行的意义是将 HTTP 代理转发到 SOCKS5 代理,实现 SOCKS5 代理转换为 HTTP 代理。如下图:

Privoxy SOCKS5 转发设置

Privoxy SOCKS5 转发设置

修改完成后保存,此时不支持 SOCKS5 的浏览器就可以使用 127.0.0.1:8118 作为 HTTP 代理了。

IE 代理设置:「Internet 选项」→「连接」选项卡→「局域网设置」→勾选「自动配置脚本」并填写获取到的 PAC「地址」→「高级」设置的「HTTP」中填写 127.0.0.1 且端口与 Privoxy 中的设置一致。如果是下载 PAC 文件的话则填写文件的保存位置,如:file://D:/autoproxy.pac。

IE Privoxy 设置

IE Privoxy 设置

Opera 的设置与 IE 类似,如下图:

Opera Privoxy 设置

Opera Privoxy 设置

Google Chrome(谷歌浏览器) 使用 AutoProxy2PAC 的方法(下图)

其实 Chrome 使用的是 IE 的代理设置,点击谷歌浏览器选项的「高级选项」中的「更改代理服务器设置」将弹出「Internet 选项」的「连接」选项卡,设置方法同 IE。

Google Chrome 代理设置

Google Chrome 代理设置

此外,Chrome 也可以使用它的 Switchy 插件实现,方法可以参考 AutoProxy 的官方文章

分享按钮