正确的科学上网姿势

  • 2017年01月04日
  • 4评
  • 583次阅读

前言

之前一直用那个Sha#dow#socks(以下简称SS),虽然SS一直更新,稳定,但长时间使用你会发现很多缺点:

所有这些问题,归根结底,在于 SS 使用的是黑名单 PAC。

黑名单和白名单

所谓黑名单,是指将“需要科学上网”的网址(域名)都记录在一个文件里,这个文件就是一份黑名单。科学上网软件通过判断将要访问的网址是否在黑名单里。该网站在黑名单里的话,就通过科学上网来访问该网址;不在的话,就不通过科学上网,直接连接。而白名单则相反。

可见,黑名单模式最大的弊端在于:要一直维护这份黑名单,否则哪天某个网站被墙了,而黑名单没有及时更新,就无法访问该网站了。

MEOW 的杀手锏

除了 SS,还有一个名为 COW 的项目也是大名鼎鼎,为什么也不用 COW 呢?其实 MEOW 是 COW 的一个 Fork 分支,它在 COW 的基础上,提供了智能分流的功能。 所谓智能分流,就是 MEOW 会自动判断哪些网址是中国大陆的网址,哪些是国外网址。对于大陆的网址,将会直接连接,不通过 MEOW 和 SS 服务;对于国外网址,通过 MEOW 和 SS 服务。

所以,MEOW 最大的好处是能节省科学上网服务的流量的同时,为访问国外网站“加速”。 个人认为,能通过判断 IP 地址所在地来决定是否使用智能分流,才是一个科学上网软件优秀与否的评判标准。MEOW 做到了,并为我节省了很多宝贵时间。

科普:为何智能分流能加速访问国外网站?

首先,为了能实现科学上网,科学上网服务的服务器都部署在中国大陆以外的各个地区(除非你是出国党想要翻回中国大陆,下文会提及),有香港、日本、新加坡、美国等……这些服务器扮演的角色是:我们的电子设备与目标网站的中间者。

MEOW 配合 SS 服务的使用方法

GitHub 的项目地址:https://github.com/renzhn/MEOW

各大系统平台下载地址:https://github.com/renzhn/MEOW/tree/gh-pages/dist/

下面以Windows平台为准:

打开下载好的压缩包,可以看到包含这么几个文件:

放在 reject.txt 里的网站都是无法访问的。如果平时需要使用友盟(umeng.com)的服务,请务必把 reject.txt 里的 umeng.com 和 umeng.co 删掉,保存,重新载入 MEOW。

设置

  1. 删掉 rc.txt 文件;
  2. rc-full.txt 文件重命名为 rc.txt(也就是说,这里使用带有详细使用说明的 rc-full.txt 文件的内容作为 MEOW 的配置);
  3. 用记事本或代码编辑器打开 rc.txt 文件。将下图中这几行的井号(#)去掉,使其生效:
    1. listen = http://0.0.0.0:4411 意思是在本局域网内(同一个路由器或 WiFi 所在的网络)提供一个端口号为 4411 的 HTTP 代理;
    2. judgeByIP = true 就是通过 IP 地址判断是否直连,这个配置开启了智能分流功能;
    3. loadBalance = latency 是用于配合下面的 SS 科学上网服务的。latency 意为优先选择连接延迟最低的 SS 二级代理。
  4. 然后在指定二级代理下面的 proxy 设置:proxy = ss://加密方式:登录密码@节点服务器地址:服务器端口号
  5. 双击运行 MEOW.exe。这时任务栏就会出现 MEOW 的图标。右键单击图标,选择“设置 IE 代理” - “ http://127.0.0.1:4411/pac ”。

只要 MEOW 配置文件中的代理服务器数量大于 1,上面设置的 loadBalance = latency这句配置就会起作用。此时 MEOW 会隔一段时间检查一下配置文件中所有服务器的连接情况,自动选择延时最短的服务器进行连接

macOS 和 Linux 用户

下载

macOS 和 Linux 系统,请使用 Terminal 终端工具或 Bash 命令行工具。在用户主目录下,执行下面命令:curl -L git.io/meowproxy | bash macOS 用户请使用系统自带的搜索功能,输入“Terminal”即可找到 Terminal 终端工具,输入上面的命令后,按回车,即可执行该命令。 可以输入 cd ~,回车,回到用户主目录。 下载 MEOW 期间,会问是否要将 MEOW 添加到开机自启动,输入 Y(是),回车。 设置

完成后,MEOW 可执行文件就会在用户主目录下,同时还有一个 .meow 隐藏文件夹,里面的文件与 Windows 版的一一对应:

由于 .meow 文件夹是隐藏的,只有在 Terminal 或者 Bash 命令行工具下通过 ls 命令才能看到。编辑 rc 配置文件可以这样:vi ~/.meow/rc 编辑 rc 配置文件,按字母 i 进入 vi 编辑器的编辑模式。配置语句参考 Windows 版配置文件。编辑完成后,按:wq保存退出。

  1. 编辑完配置文件后,执行命令 ./MEOW & 在后台静默启动 MEOW;
  2. 此时进入 macOS 的“网络偏好设置”,点右下角的“高级...”,在弹出的页面中选中“代理”标签页,勾选“自动代理配置”;
  3. 右边 “URL” 中填写 http://0.0.0.0:4411/pac
  4. 此时可以打开谷歌首页 http://www.google.com,测试是否能访问成功;

命令行代理配置及开发环境配置

命令行代理配置

在命令行提示符或者终端中也能科学上网如下设置:

开发环境配置

MEOW 启动之后,就在本局域网的 4411 端口上开启了一个 HTTP 代理。所有支持 HTTP 代理的开发软件都可以配置 IP 地址 0.0.0.0 和端口 4411 使用 HTTP 代理,从而使用 MEOW 的智能分流功能加速下载。

这两种设置方法相当于为命令行交互界面(CLI)下的所有命令都设置了代理。以后运行命令前,必须保证 MEOW 代理正常运行,需要网络支持的命令才能正常执行。

正如不翻阅英文开发文档一样,不用科学上网的开发者月薪永远不超过 10K :)

0

4条回应:“正确的科学上网姿势”

  1. Clice说道:

    写这种东西真的好吗...

  2. oopp说道:

    SS好用,小巧强大,要是添加了多个节点还可以自动选最快最稳线路。说不好用是没给浏览器上插件填加规则,况且PAC也可以自己根据需要改。

  3. BanYuner说道:

    已经使用上了 这个是一个不错的东西啊

  4. WeiCN说道:

    怎么说还都是回到了黑白名单识别.
    在路由上部署ipset来处理常见被墙网站列表,访问到被墙网站再添加到ipset走SS,其余直连.
    另外开一个HTTP的代理,如果访问到不在ipset列表的被墙网站,自己在浏览器切换.
    目前我用的这样的模式,之前用的chinadns模式也还不错

发表评论

电子邮件地址不会被公开。 必填项已用*标注