用 Privoxy 将 SOCKS5 转换成 HTTP 代理

作为一个屌丝工程师,科学上网是必须的。比如在使用 Android Studio 进行开发的时候,如果不会科学上网的话,你会发现连 Android SDK 都无法正常下载!

Android Studio 本身是基于 IntelliJ IDE 的,所以它可以通过设置菜单里面的 Proxy 设置使用 SOCKS 方式代理,这样的话正常使用就没有问题,而 Android SDK 里面的 SDK Manager 只支持 HTTP Proxy,所以我们就需要使用 Privoxy 把 SOCKS 代理转成 HTTP 代理。

因为我使用的是 Mac,所以我们用 Homebrew 来安装 Privoxy

1
$ brew install privoxy

就这样一句就安装好了,如果你没有安装过 Homebrew 可以使用下面的命令来安装 Homebrew,安装过程中需要输入管理员密码。更多信息可以参考 Homebrew 的官网(http://brew.sh/):

1
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Provixy 安装完成后,编辑其配置文件 /usr/local/etc/privoxy/config

1
$ vim /usr/local/etc/privoxy/config

在文件末尾增加 SOCKS 代理的配置信息,注意不要丢失了最后的点,假设 SOCKS 服务器监听在本地的 1080 端口,其配置如下:

1
forward-socks5 / 127.0.0.1:1080 .

请根据你的实际使用情况进行修改,保存好文件后运行如下命令启动 Privoxy

1
$ privoxy /usr/local/etc/privoxy/config

Privoxy 默认的监听端口是 8118。最后,修改 SDK Manager 里面的代理设置部分,服务器地址为:127.0.0.1,端口为:8118。从此以后又可以愉快地玩耍和更新 Android SDK 啦!