Shadowsocks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等协议,对socks5协议支持不够好,所以我们为终端设置shadowsocks的思路就是将socks协议转换成http协议,然后为终端设置即可。通过polipo进行二次转发(shadowsocks使用socks5协议通信,需搭配浏览器插件使用,若想要在系统全局使用,可使用polipo进行二次转发)
环境:
Ubuntu 16.04
步骤一 Shadowsocks
1.对于Debian / Ubuntu执行下列命令:
apt-get install python-pip
pip install shadowsocks
2.配置
cd /home/
mkdir zcdocker
sudo vim shadowsocks.json
格式如下:
{
"server":"118.184.85.217",
"server_port":2333,
"local_port":1080,
"password":"doub.io",
"timeout":600,
"method":"aes-128-ctr"
}
3. 启动ss客户端:
sudo sslocal -c /home/zcdocker/shadowsocks.json start
步骤二: polipo进行二次转发
Shadowsocks默认是用Socks5协议的,对于Terminal的get,wget等走Http协议的地方是无能为力的,所以需要转换成Http代理,加强通用性,这里使用的转换方法是基于Polipo的。
- sudo apt-get install polipo
- 修改配置文件:
sudo vim /etc/polipo/config
将下面的内容整个替换到文件中并保存:
# This file only needs to list configuration variables that deviate
# from the default values. See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.
logSyslog = false
logFile = "/var/log/polipo/polipo.log"
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32
proxyAddress = "0.0.0.0"
proxyPort = 8123
- /etc/init.d/polipo restart
- 验证代理是否正常工作:
export http_proxy=”http://127.0.0.1:8123/”
curl www.google.com
polipo的默认端口号是 8123
每次使用代理前 export http_proxy=http://127.0.0.1:8123
export https_proxy=http://127.0.0.1:8123
取消代理 unset http_proxy
步骤三配置
git proxy:
git config --global http.proxy http://127.0.0.1:8123
在可以使用git clone https://github.com/tangwenixng/Spring.git
取消命令:
设置如下(可复制):
git config --global https.proxy http://127.0.0.1:8123
git config --global https.proxy https://127.0.0.1:8123
git config --global http.proxy 'socks5://127.0.0.1:8123
git config --global https.proxy 'socks5://127.0.0.1:8123
取消
git config --global --unset http.proxy
git config --global --unset https.proxy