如何给前端工具设置代理

在天朝,当一个开发者非常苦逼,因为说到开源,就是相互交流,而有堵墙总是在阻断这个交流的过程,不断想要把我们困在笼子里。比如你查个技术文章,这时候“CONNECTION RESET”了,装个 npm 包,一直打转,死活装不上,这时候程序员的内心都是抓狂的。因此科学上网是大家必须掌握的技能,这篇文章不是探讨这个,假设你已经有了梯子,现在介绍下各个工具比如 Sublime Text、npm 等如何设置代理。

ss

假设本地开启的 http 代理为 http://127.0.0.1:1080。(Shadowsocks 默认就是这个地址)。ss 是一个很棒的工具,虽然作者被喝茶现在不维护了,但仍然可以由别人进行下去,在此向 clowwindy 的付出表示敬意。如果用的是 Mac 版 ShadowsocksX,默认只开启了一个 SOCKS5 代理,没有 http 代理,可以利用 polipo 来转换成 http 代理,简单介绍一下方法:

先安装 Homebrew,然后执行下面命令安装 polipo:

brew install polipo

然后,修改 /usr/local/opt/polipo/homebrew.mxcl.polipo.plist 文件,找到 <string>/usr/local/opt/polipo/bin/polipo</string> 这句,在下面添加一行:

<string>socksParentProxy=localhost:1080</string>

其实是把 http 流量导到 localhost:1080 的 SOCKS 代理上。第三步,设置开机启动:

ln -sfv /usr/local/opt/polipo/*.plist ~/Library/LaunchAgents

设置完成后,还需要手动启动一下 polipo:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.polipo.plist

这时就 OK 了,polipo 生成的 http 代理,默认地址为 localhost:8123。如果想要暂时终止 polipo,可以执行:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.polipo.plist

Sublime Text

这里其实是给 Package Control 设置代理,方法:

打开“Preferences -> Package Settings -> Package Control”-> Settings – User,写入下面键值:

{
  "http_proxy": "127.0.0.1:1080"
}

npm

npm 其实有两个办法,一是用 cnpm,这是淘宝提供的一个 npm 镜像,好像是每 15 分钟跟 npm 同步一次。安装好了以后,你需要用 cnpm 命令来代替 npm 命令使用。安装方法(先装好 npm):

npm install -g cnpm --registry=https://registry.npm.taobao.org

用了这个就不用担心很慢的问题了。

第二个办法是给 npm 设置代理,运行以下命令行:

npm config set proxy http://127.0.0.1:1080 --global
npm config set https-proxy http://127.0.0.1:1080 --global

注意 --global 标志,表示配置被写入系统配置文件。Windows 下位于 C:\Users\用户名\AppData\Roaming\npm\etc\npmrc,Mac 下位于 ~/.npmrc)

Atom

C:\Users\用户名\.atom 下建立 .apmrc 文件(Mac 对应 ~/.atom/.apmrc),写入:

proxy = http://127.0.0.1:1080
https-proxy = http://127.0.0.1:1080

当然也可以用类似上面的 npm 命令,只要把 npm 换成 apm 就行了。

阅读全文 »

flight