Mac 使用Privoxy + SS 设置代理
关键诩:
.zshrc
.bash_profile
privoxy
ss<shadowsocks 客户端>
1, 简单代理办法:
编辑 .zshrc 文件:
vim ~/.zshrc
插入:
alias proxy='export proxy_profile="socks5://127.0.0.1:1080" ; export all_proxy=$proxy_profile; echo "proxy has be set to: $proxy_profile" ; curl cip.cc' alias unproxy='unset all_proxy ; echo "proxy has be clear" ; curl cip.cc'
应用:
source ~/.zshrc && proxy
# 清除proxy
unproxy
2, 多个终端对代理生效。简单代理的不足是,当使用其他终端打开时,代理将会失效。
- 设置SOCKS5 默认端口1080 设置代理。
- 使用Privoxy 把SOCKS 转换为HTTP 代理默认端口 8118。
- 编辑 .bash_profile插入代码。
- 安装 Privoxy 配置 vim /usr/local/etc/privoxy/config .
- 检测代理是否成功。
编辑 .bash_profile插入代码。
vim ~/.bash_profile #插入 export all_proxy="socks5://127.0.0.1:1080"; export http_proxy="http://127.0.0.1:8118"; export https_proxy="http://127.0.0.1:8118";
安装 Privoxy 配置 vim /usr/local/etc/privoxy/config .
安装 privoxy, mac 使用: brew install privoxy
vim /usr/local/etc/privoxy/config #插入 #xu S listen-address 127.0.0.1:8118 forward-socks5 / 127.0.0.1:1080 . #xu E #执行 /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
检测代理是否成功:
ps aux|grep privoxy && lsof -i:8118
curl cip.cc
FAQ:
1,为什么无法 ping google.com 成功?
ICMP工作在OSI模型的Layer3(网络层),SOCKS工作在Layer5(会话层),httping工作在Layer7(应用层),因此
ping
消息不能通过SOCKS,但httping
消息可以。例如,我在VPS中设置了shadowsocks(SOCKS5代理)服务器,使用我的macbook pro作为客户端使用127.0.0.1:1080,我想检查google的网络是否良好。
httping -x 127.0.0.1:1080 -g http://www.google.com -5
--