1. 程式人生 > >Linux終端掛代理方法整理

Linux終端掛代理方法整理

1. 安裝Shadowsocks

終端下安裝Shadowsocks只需要兩步:

Debian / Ubuntu:

apt-get install python-pip
pip install shadowsocks
編輯檔案vim /etc/shadowsocks.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/shadowsocks.json -d start
停止:sslocal -c /etc/shadowsocks.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檔案。

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 ,如: