一、原因
在使用 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