一、原因
在使用 sublime 3.2.1 的時候,安裝插件時出錯
因為被牆的原因,所以要設置代理
設置路徑:
首選項 -> Package -> Settings -> Package Control -> Settings User
在打開的文件中修改
{
"bootstrapped": true,
// 加入下面兩個代理配置,json 不允許注釋,這里做說明,實際使用時要去掉
"http_proxy": "http://127.0.0.1:8118",
"https_proxy": "http://127.0.0.1:8118"
}
代理配置使用的是 http 協議
ss 默認使用 socks5
那么如何支持 http ?
# 二、使用 Privoxy 配置
1、先確保有 socks5 代理環境,比如啟動了 ss 客戶端,並且可以正常使用
1.1、執行命令查看 ss 的端口是否存在
lsof -iTCP -sTCP:LISTEN -n -P
若啟動了 ss 客戶端會看到 ss 的本地監聽端口,這邊是 1080 ,新版的應該是 1086
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 423 zego 7u IPv4 0x5e0fa98053390b3b 0t0 TCP 127.0.0.1:27017 (LISTEN)
Adobe\x20 534 zego 11u IPv4 0x5e0fa9805956f85b 0t0 TCP 127.0.0.1:15292 (LISTEN)
�\x81� 588 zego 161u IPv4 0x5e0fa9805c32285b 0t0 TCP 192.168.2.151:5786 (LISTEN)
QQ 2929 zego 37u IPv4 0x5e0fa9805c0e172b 0t0 TCP 127.0.0.1:4300 (LISTEN)
QQ 2929 zego 39u IPv4 0x5e0fa9806829107b 0t0 TCP 127.0.0.1:4301 (LISTEN)
QQ 2934 zego 37u IPv4 0x5e0fa9805c0e61ab 0t0 TCP 127.0.0.1:4302 (LISTEN)
QQ 2934 zego 38u IPv4 0x5e0fa9805ef16ddb 0t0 TCP 127.0.0.1:4303 (LISTEN)
Code\x20H 18045 zego 38u IPv4 0x5e0fa98087dd507b 0t0 TCP 127.0.0.1:58980 (LISTEN)
Shadowsoc 21043 zego 5u IPv4 0x5e0fa98085569f0b 0t0 TCP 127.0.0.1:1080 (LISTEN)
Shadowsoc 21043 zego 8u IPv4 0x5e0fa98087dd75bb 0t0 TCP *:8090 (LISTEN)
node 41121 zego 22u IPv4 0x5e0fa9805956a48b 0t0 TCP *:4444 (LISTEN)
node 97337 zego 27u IPv4 0x5e0fa9806828931b 0t0 TCP 127.0.0.1:8000 (LISTEN)
1.2、可以通過下面命令測試你的 ss 代理是否可用
1.2.1、使用代理訪問
curl --socks5 127.0.0.1:1080 http://cip.cc
# 輸出
IP : xx.xx.xx.xx
地址 : 美國 美國
數據二 : 美國 | 得克薩斯州
數據三 : 美國德克薩斯休斯頓
URL : http://www.cip.cc/xx.xx.xx.xx
1.2.2、不使用代理訪問
curl http://cip.cc
# 輸出
IP : xx.xx.xx.xx
地址 : 中國 廣東 深圳
運營商 : 電信
數據二 : 廣東省深圳市寶安區 | 電信
數據三 : 中國廣東省深圳市 | 電信
URL : http://www.cip.cc/xx.xx.xx.xx
2、下載安裝 Privoxy
2.1、下載地址
http://www.privoxy.org/sf-download-mirror/
選擇自己的平台,我這里選擇了 Privoxy 3.0.19.pkg 文件
點擊直接安裝, Mac 下默認安裝路徑是 /Applications/Privoxy
2.2、修改配置文件
vim /usr/local/etc/privoxy/config
2.2.1、找到下面位置,將 forward-socks5 / 127.0.0.1:1080 .之前的#去掉,解開注釋
127.0.0.1:1080 代表 ss 的代理地址, 1080 是 ss 的監聽端口
# To chain Privoxy and Tor, both running on the same system,
# you would use something like:
#
forward-socks5 / 127.0.0.1:1080 .
2.2.2、找到下面位置,將 listen-address 127.0.0.1:8118 中的 127.0.0.1 改為 0.0.0.0
# Suppose you are running Privoxy on an IPv6-capable machine and
# you want it to listen on the IPv6 address of the loopback device:
#
# listen-address [::1]:8118
#
listen-address 0.0.0.0:8118
如果是只給本機使用,用 127.0.0.1即可
如果想要局域網的其他機器也可以使用,必須使用本機局域網的 IP 或者 0.0.0.0 替換
這樣不單單本地可以使用 Privoxy 代理, 外部也可以使用該代理
3、使用
3.1 開啟代理服務
cd /Applications/Privoxy
sudo ./startPrivoxy.sh // 如果該命令打開失敗,可以使用下面的命令執行
或者
sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
或
sudo /usr/local/Cellar/privoxy/3.0.19/sbin/privoxy /usr/local/etc/privoxy/config
或
sudo /Applications/Privoxy/startPrivoxy.sh
3.2 查看是否啟動成功
ps aux | grep privoxy
返回如下則啟動成功
root 4055 0.0 0.0 4296212 1368 ?? Ss 12:53PM 0:00.03 /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
3.3 查看上面 listen-address 的端口是否監聽成功
netstat -an | grep 8118
返回如下則端口監聽成功
tcp4 0 0 *.8118 *.* LISTEN
3.4 停止代理服務
sudo ./stopPrivoxy.sh
三、測試
1、開啟代理服務
cd /Applications/Privoxy
sudo ./startPrivoxy.sh
或者
sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
或
sudo /usr/local/Cellar/privoxy/3.0.19/sbin/privoxy /usr/local/etc/privoxy/config
或
sudo /Applications/Privoxy/startPrivoxy.sh
2、設置代理
export all_proxy='http://127.0.0.1:8118'
echo $all_proxy
# 輸出
http://127.0.0.1:8118
請求
curl www.google.com
socks5 轉 http 代理參考地址:終端中使用SS代理——通過Privoxy實現socks5轉http代理
Mac上配置Privoxy