Mac下的科学上网

相信每个程序猿都和 GWF 有过一段小故事。上大学的时候,想要翻墙大都是用 GoAgent 和 Chrome 的代理扩展,免费的 GoAgent 盛行一时。最近几乎看不到它的身影了,现在是 Shadowsocks 的天下了。本文记录了自己在 Mac 下的一些翻墙技巧,部分对其他系统也使用,希望大家都可以变得身手矫捷。

本文假设你已经有了一个外网的 vpn 账号,否则下面的都是扯犊子。获取 vpn 账号的方式有很多,购买账号,自己在外网搭建服务器,使用公司的账号等等。

代理工具

大多数的童鞋可能都用的 Shadowsocks 的 GUI 客户端,方便快捷,开启全局代理其他应用也可以很容易翻墙,没毛病。今天,我要给大家介绍的是命令行的翻墙工具,Mac 下安装、配置、启动都很简单,让你忘记翻墙的过程。

1
2
3
4
brew install shadowsocks-libev # 安装
vi /usr/local/etc/shadowsocks-libev.json # 编辑配置文件
brew services enable shadowsocks-libev # 开机启动
brew services start shadowsocks-libev # 启动

编辑配置文件填入服务器 ip,密码,加密方式,本地地址,本地端口。本地端口可以设置1080, 本地地址不设置默认 127.0.0.1。

1
2
3
4
5
6
7
8
{
"server":"your.vpn.server",
"server_port":"your.vpn.server.port",
"local_port":1080,
"password":"your.vpn.server.password",
"timeout":600,
"method":"your.vpn.server.method"
}

编辑完成后可以直接启动,然后继续下面的步骤。

浏览器测试

由于 Chrome 的代理扩展也需要翻墙才能下载,所以我们先可以用 Firefox 直接设置 Socks5 代理。打开首选项>网络代理>设置> 然后选择 Socks 主机,ip 填入127.0.0.1,端口填入 1080。最后点击确定。然后访问 www.google.com 如果访问不成功,检查配置哪里有问题。

其他软件翻墙

除了通过Mac 的网络设置,在网卡上设置全局代理之外。有一款软件可以提供应用级别的代理设置,叫做 MacProxy,需要翻墙下载。可惜的是这是一款付费的软件,不过我很辛苦地找到了一个破解的虚拟机。下载地址 密码:smz2,注意仅供学习交流。设置界面如图所示:
blog_macproxy

举个例子,想让 twitter翻墙,就只需要添加一条规则,让他走我们设置好的代理。也可以 host的规则,例如设置 safari 访问 *.google.com 的时候走代理。看,是不是很方便!

控制台翻墙

想在命令行翻墙下载东西怎么办?我推荐通过 proxychains,Mac 下安装。

1
2
brew install proxychains4 # 安装
vi /usr/local/etc/proxychains.json # 在配置文件最后添加 socks5 127.0.0.1 1080 即可

然后在要执行的操作前,加 proxychains4 比如说下载 google 主页,git克隆一个国内比较慢的项目。

1
2
proxychains4 wget www.google.com
proxychains4 git clone https://github.com/xxx/xxx

虚拟机(linux控制台)翻墙

  • 其实虚拟机翻墙很容易。首先搞清楚用虚拟机和宿主机之间用的什么网络模式,一般桥接和共享物理网络比较多,NAT暂时没有试过。
  • 通过虚拟机的网络设置或者 ifconfig 查看宿主机和虚拟机相通的宿主 ip 是什么,比如 宿主机有一个网卡的 ip是 10.111.20.12,虚拟机的 ip 是 10.111.20.13。
  • 同样在虚拟机上安装 proxychains,如果虚拟机是 ubuntu 的话,直接使用 sudo apt-get install proxychains 就可以。打开配置文件在最后添加 socks5 10.111.20.12 1080
  • 最后最重要的一步,修改宿主机上的 shadowsocks-libev的配置文件,设置 local_address的 ip 为 0.0.0.0,然后重启 shadowsocks-libev。其实就是接收本机上任意网卡上的数据。
显示 Gitment 评论