更新于2018年7月20日
到目前为止,在我看来shadowsocks仍是可以用来跨越长城的工具,本文主要介绍如何在
其他应用中使用ss。

在ss-win3.x的版本之后,已经支持在局域网中共享代理。

不论是win还是linux或者是ss-osx-ng,ss提供socks5和http两种代理,端口
均为1080,我们主要就是依靠这个来实现跨越长城的。

大多数应用都会从环境变量中读取代理设置,分别为http_proxy和https_proxy,但是少数应用并不是这样
比如git,后面会说怎么配置

给docker配置代理

1
2
3
4
5
6
7
8
export SS_IP=192.168.200.98
sudo mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=$SS_IP:1080/"
EOF
systemctl daemon-reload
systemctl restart docker

查看是否生效
systemctl show --property=Environment docker

给git配置代理

编辑git的配置文件~/.gitconfig,加上以下proxy变量

1
2
3
4
[https]
proxy = http://localhost:1080
[http]
proxy = http://localhost:1080

查看是否生效

1
2
3
git config --global -l
https.proxy=http://localhost:1080
http.proxy=http://localhost:1080

go get

go get 和curl会使用环境变量的proxy相关设置,作为运行时候的代理,所有只需要配置以下变量即可

1
2
3
export SS_IP=localhost
export http_proxy=socks5://$SS_IP:1080
export https_proxy=socks5://$SSIP:1080

参考
http://droidyue.com/blog/2016/04/04/set-shadowsocks-proxy-for-terminal/