使用privoxy和trojan来提供https和http代理

本文适用于linux和macos,这里以macOS为例。

Trojan只能提供socks5代理,适用性是不如http和https的。可以使用privoxy这个软件,来把socks5代理转换成http和https来使用。
还有一个好处,就是可以在zsh等终端里设置代理相关参数,以随时启用。

一、安装trojan-go

1
brew install trojan-go

默认配置文件在/opt/homebrew/etc/trojan-go/config.json

若想正常运行的话,还需要geoip.datgeosite.dat这2个文件:

geoip.dat

geosite.dat

二、安装privoxy

brew install privoxy

三、修改privoxy配置文件

vi /opt/homebrew/etc/privoxy/config

1、查找listen-address,在794行,改成下面内容:

listen-address 127.0.0.1:8118

2、查找forward-socks5t,在1455行,去掉注释,改成下面的内容:

forward-socks5t / 127.0.0.1:1080 .
上面一行的意思是,把地址为127.0.0.1、端口为1080的socks5代理,转发成地址为127.0.0.1端口为8118的http/https代理。

3、启动privoxy服务

brew services start privoxy

四、设置shell代理,此处以zsh为例:

vi ~/.zshrc
添加下面内容:

1
2
3
#Proxy Setup
alias spxy='export http_proxy=http://127.0.0.1:8118;export https_proxy=http://127.0.0.1:8118;'
alias upxy='unset http_proxy https_proxy'

然后保存zsh配置:
source ~/.zshrc
当需要在终端下使用代理时,只需要使用stpxy即可启用代理,使用unstpxy取消终端下的代理。

另:如果privoxy安装在其它电脑上,把上述zsh配置里的127.0.0.1换成对应机器的IP地址即可。