Skip to content
Go back

终端配置代理

最近用brew安装软件一直卡在Updating Homebrew...,原因众所周知,当然处理方法有很多,为了解决根本原因,决定给终端配置下代理。

首先需要明确的是,即使shadowsocks开启了全局模式,你的终端也不会自动代理到SS上!

MAC 配置

安装privoxy

brew install privoxy

打开配置文件

vim /usr/local/etc/privoxy/config

在文件最后加入以下配置项

listen-address 0.0.0.0:8118
forward-socks5 / localhost:1086 .

1086shadowsocks在mac上的默认socket5代理端口,在windows上默认是1080

启动privoxy

sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config

终端配置

bash修改.bash_profilezsh终端修改.zshrc

function stopSS(){
    unset http_proxy
    unset https_proxy
    echo -e "已关闭代理"
}

function startSS() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export http_proxy="http://127.0.0.1:8118"
    export https_proxy=$http_proxy
    echo -e "已开启代理"
}

保存后,source ~/.bash_profilesource ~/.zshrc即可。

使用

startSS 开启ss
stopSS  关闭ss

验证

ping www.google.com

此时仍然是ping不通的!!! 原因是:ping的协议不是http,也不是https,是ICMP协议。

curl -v http://www.google.com

如果能获取到内容,则表示代理成功!

Windows 配置

windows下,我使用的终端是Cmder,修改安装目录下config/user_aliase.cmd

配置两条alias即可

startSS=set http_proxy=http://127.0.0.1:1080 && set https_proxy=http://127.0.0.1:1080 && set http_proxy_user=user && set http_proxy_pass=pass && set https_proxy_user=user && set https_proxy_pass=pass && echo "start ss"

stopSS=set http_proxy= && set https_proxy= && echo "close ss"

注意

  1. 代理只在当前tab有效,如果新开了一个终端,需要重新执行命令startSS
  2. shadowsocksmac上的默认socket5代理端口是1086,在windows上默认是1080
  3. 代理成功后,ping依旧不能访问外网

参考

给 Windows 的终端配置代理 Mac 下使用终端科学上网!


Share this post on:

Previous Post
使用Web Worker优化代码
Next Post
lerna管理package