通過 ProxyChains-NG 實現終端代理

frowhy發表於2019-06-09

對於技術人員來說,通過 shadowsocks 實現代理是一件很輕鬆的事情。但是卻不能代理終端程式,這就很難受了,這裡我們可以通過 ProxyChains-NG 來實現終端下的代理。

首先,確保你的 Mac 已經安裝了 Hombrew,如果還沒有,點選這裡:安裝 Homebrew

1. 關閉 SIP

macOS 10.11 以後由於開啟了 SIP(System Integrity Protection) 會導致命令列下 proxychains-ng 代理的模式失效,如果你要使用 proxychains-ng 這種簡單的方法,就需要先關閉 SIP

具體的關閉方法如下:

1. 重啟Mac,按住Option鍵進入啟動盤選擇模式,再按⌘ + R進入Recovery模式。
2. 選單欄 -> 實用工具(Utilities)-> 終端(Terminal)。
3. 輸入命令 `csrutil disable`。
4. 重啟進入系統後,終端裡輸入 `csrutil status`,結果中如果有 `System Integrity Protection status:disabled`. 則說明關閉成功。

2. 通過 Homebrew 安裝 ProxyChains-NG

brew install proxychains-ng
vim /usr/local/etc/proxychains.conf
# proxychains.conf
...
[ProxyList]
socks5 127.0.0.1 1080 # 你的代理地址

proxychains-ng 支援多種代理模式,預設是選擇 strict_chain

dynamic_chain     #動態模式,按照代理列表順序自動選取可用代理
strict_chain      #嚴格模式,嚴格按照代理列表順序使用代理,所有代理必須可用
round_robin_chain #輪詢模式,自動跳過不可用代理
random_chain      #隨機模式,隨機使用代理

4. 使用方法

proxychains-ng 用法非常簡單,命令格式如下:

proxychains4 [exec] [args]

5. 測試

proxychains4 curl ip.cn

6. 全域性代理

通過 proxychains-ng 直接呼叫 SHELL

proxychains4 -q /bin/bash

Stay Hungry. Stay Foolish.

相關文章