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 來自:日本日本
取消代理後:
當前 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 ,如: