Linux终端挂代理方法整理

[原文地址]http://www.jianshu.com/p/8e7d7f57bf59

1. 安装Shadowsocks

终端下安装Shadowsocks只需要两步:

Debian / Ubuntu:

apt-get install python-pip
pip install s
编辑文件vim /etc/s.json,填写代理信息:

{
“server”:”my_server_ip”,
“server_port”:8388,
“local_address”: “127.0.0.1”,
“local_port”:1080,
“password”:”mypassword”,
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”: false
}
1.1 后台运行Shadowsocks

启动:sslocal -c /etc/s.json -d start
停止:sslocal -c /etc/s.json -d stop

2. socks5转http

Shadowsocks使用socks5协议,而终端很多工具目前只支持http和https等协议,所以我们为终端设置Shadowsocks的思路就是将socks5协议转换成http协议,然后为终端设置即可。
安装Polipo(Debian / Ubuntu):

sudo apt-get install polipo
如下打开配置文件:

sudo vim /etc/polipo/config
设置ParentProxy为Shadowsocks,通常情况下本机Shadowsocks的地址如下:

# Uncomment this if you want to use a parent SOCKS

proxy:socksParentProxy = “localhost:1080”
socksProxyType = socks5
设置日志输出文件:

logFile=/var/log/polipologLevel=4
现在,你可以在某个命令前面加上http_proxy=http://localhost:8123设置代理。

注:8123是Polipo的默认端口,如有需要,可以修改成其他有效端口。

2.1 当前会话设置全局代理

临时使用代理输入export http_proxy=http://localhost:8123回车即可。
如果想撤销当前会话的http_proxy代理,使用unset http_proxy即可。

设置更长久的代理可以把下面这句加到~/.bashrc文件。

export http_proxy=http://localhost:8123

2.2 验证代理是否成功

没有挂代理的时候:

$ curl ip.gs
当前 IP:125.39.112.14 来自:中国天津天津 联通
挂代理后:

$ export http_proxy=http://localhost:8123
$ curl ip.gs
当前 IP:210.140.193.128 来自:日本日本
取消代理后:

unsethttpproxy curl ip.gs
当前 IP:125.39.112.14 来自:中国天津天津 联通

2.3 设置Git代理

git clone https://repo/path/ –config http.proxy=localhost:8123
或者使用socks5:

git config –global http.proxy ‘socks5://127.0.0.1:1080’
git config –global https.proxy ‘socks5://127.0.0.1:1080’
或者使用Polipo:

git config –global http.proxy ‘http://127.0.0.1:8123’
git config –global https.proxy ‘https://127.0.0.1:8123’
3. Proxychains

有了Polipo,为什么还要Proxychains呢?因为有时候全局代理反而会带来一些麻烦,使用Proxychains可以根据情况选择是否挂代理。

3.1 安装Proxychains

git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure
make && make install
cp ./src/proxychains.conf /etc/proxychains.conf
cd .. && rm -rf proxychains-ng

3.2 编辑proxychains配置

vim /etc/proxychains.conf
将socks4 127.0.0.1 9095改为

socks5 127.0.0.1 1080

3.3 使用方法

在需要代理的命令前加上 proxychains4 ,如:

proxychains4 wget http://xxx.com/xxx.zip

你可能感兴趣的:(linux)