为linux终端设置Shadowsocks代理
1、安装shadowsocks
sudo apt-get install python-pip
sudo pip install shadowsocks
安装好后,终端输入 sslocal --help
可以查看帮助
2、创建配置文件 shadowsocks.json
,其中服务器地址、端口号、密码为为购买或免费使用或自己搭建的服务器
{
"server": "xxxx.com",
"server_port": 52239,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "passowrd",
"timeout": 600,
"method": "aes-256-cfb",
"fast_open": false
}
3、启动shadowsocks
sslocal -c shadowsocks.json
守护进程模式启动
sslocal -c shadowsocks.json -d start
4、通过curl访问 验收下sock5代理是否已经生效
#不使用代理
curl ip.gs
#使用代理
curl --socks5 127.0.0.1:1080 ip.gs
使用polipo将socks协议转换为http协议,完成终端全局http/https代理
Shadowsocks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等协议,对socks5协议支持不够好,所以 我们为终端设置shadowsocks的思路就是将socks协议转换成http协议,然后为终端设置即可。
安装polipo,进行二次转发(shadowsocks使用socks5协议通信,需搭配浏览器插件使用,若想要在系统全局使用,可使用polipo进行二次转发)
sudo apt-get install polipo
编辑配置文件,保存到/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 = true
logFile = /var/log/polipo/polipo.log
proxyAddress = "0.0.0.0"
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
proxyPort = 8123
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32
重启polipo服务
/etc/init.d/polipo restart
通过curl验收代理http是否成功
#不使用代理
curl ip.gs
#使用代理
http_proxy=http://127.0.0.1:8123 curl ip.gs
当前会话全局设置
如果嫌每次为每一个命令设置代理比较麻烦,可以为当前会话设置全局的代理。即使用 export http_proxy=http://127.0.0.1:8123
即可。 如果想撤销当前会话的http_proxy代理,使用 unset http_proxy
即可。 示例效果如下
root@ubuntu:~# curl ip.gs
当前 IP:183.3.144.146 来自:中国广东广州 电信
root@ubuntu:~#
root@ubuntu:~# export http_proxy=http://127.0.0.1:8123
root@ubuntu:~#
root@ubuntu:~# curl ip.gs
当前 IP:203.75.21.27 来自:中国台湾 hinet.net
root@ubuntu:~#
root@ubuntu:~# unset http_proxy
root@ubuntu:~#
root@ubuntu:~# curl ip.gs
当前 IP:183.3.144.146 来自:中国广东广州 电信
root@ubuntu:~#
如果想要更长久的设置代理,可以将 export http_proxy=http://127.0.0.1:8123 加入 .bashrc
或者 .bash_profile
文件,然后Linux用户
执行 source ~/.bashrc
更新当前bash配置
参考
http://droidyue.com/blog/2016/04/04/set-shadowsocks-proxy-for-terminal/index.html http://blog.csdn.net/liuqinglong_along/article/details/52463200