Skip to content

代理服务器设置示例

zhuzhuor edited this page Mar 18, 2014 · 24 revisions

注意,使用或安装本程序代表您同意:本程序仅为交流学习之用,造成的任何后果与程序作者无关。

作为 Chrome 扩展的一个副产品,Unblock-Youku 的源码也可以当作一个代理服务器来运行,用来给别的浏览器和移动设备解除地域限制。

  1. 相对于 Chrome 扩展程序,这种直接设置代理服务器的模式会有安全隐患。如果代理服务器被黑,则可能造成个人隐私泄漏或财产损失。程序作者及服务器提供者对任何可能的后果概不负责。

  2. 因为技术上的原因,这种代理模式功能比较受限,实际不能解封太多的网站,例如土豆网的视频暂时就不能通过这种办法解封。需要更加全面的功能还是建议使用 Chrome 浏览器。

  3. 代理服务器资源有限,欢迎技术达人尝试运行自己的服务器。本文最后给出了简单的介绍。

未能做详细的测试,有问题可以在这里新开一个 Issue,或者查找之前的 Issue 中的解决办法(例如 Issue #55Issue #65)。

不过因为个人精力有限,只对这个代理服务器做适当的技术支持。

代理设置示例

简单的来说,只用给浏览器或者 iOS 设备设定一个代理自动配置 PAC (proxy auto-config) 文件就可以了。

注:IE 浏览器因为技术原因,不能正常地使用 PAC 文件,所以本代理模式可能不能在 IE 浏览器下正常工作。

PAC 文件的地址为

http://yo.uku.im/proxy.pac

下面是 iPad 和 Firefox 的设置截图。

iOS 的设备可以在_当前使用的WiFi的高级选项里_设置 HTTP 代理。

Firefox


检查代理设置是否成功

按照上面的步骤设置之后,可以在浏览器中打开页面 http://uku.im/check

如果页面显示的是 true,便说明代理设置已经生效,例如下图中的结果


代理服务器状态监控

提供下面的状态图便于查看代理服务器最近的运行状态,点击图片可以得到更详细的信息。


运行自己的服务器

服务器端程序是基于 Node.js 写成,并且代码已经放在了 npm 仓库里,下载和运行均很方便。

注意:这个代理服务器暂时只能运行在本地电脑,或者 Linode、AWS 等 VPS 平台上。

1. 下载安装 Node.js

Windows 和 Mac 的安装文件可以从这里下载 http://nodejs.org/download/

Linux 可以直接通过包管理系统安装,具体参考 https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

2. 命令行下载安装 ub.uku.js

Unblock-Youku 在 npm 仓库中的名字为 ub.uku.js,可以很方便地在 Mac/Linux 的 Terminal 或 Windows 的 Node.js Command Prompt 中用一条命令安装。

Linux / Mac

sudo npm install -g ub.uku.js

Windows

npm install -g ub.uku.js

3. 运行 ub.uku.js

Linux / Mac 下直接运行

ub.uku.js

Windows 下运行

ub.uku.js.cmd

另外还可以使用命令行参数

  • --ip=10.1.2.3:指定监听的本机 IP 地址,默认为 0.0.0.0,即监听本机所有的 IP 地址。

  • --port=8080: 指定监听端口,默认为 8888。

  • --local_only: 仅允许同一台电脑上的别的软件连接代理服务器,不允许网络上的别的电脑连接。

  • --ext_ip=1.2.3.4:指定外网访问用的 IP 地址,即 PAC 文件中的代理服务器的 IP 地址。方便在内网架设服务器时使用。默认会使用程序搜索到的本机的第一个 IP 地址。

  • --ext_port=1234: 指定外网访问用的端口号,即 PAC 文件中的代理服务器的端口号码。默认直接使用内网的端口号。

  • --mitm_proxy: Debug 用代理模式,可以当作普通的 HTTP 代理服务器直接使用。特定的 URL 还是会经过国内的代理服务器。

  • --nolog: 不再显示网络访问日志,只提示错误信息。

下面是实际安装和运行的截图:

Linux / Mac

Windows