参考链接:
1、https://github.com/klzgrad/naiveproxy
2、https://github.com/bolucat/naive
1、服务端构建
#查看golang版本
go version
#如果版本太低的话,需要升级golang
apt-get remove golang
apt-get remove golang-go
apt-get autoremove
# 以go1.18.5版本为例
wget https://golang.google.cn/dl/go1.18.5.linux-amd64.tar.gz
sudo tar xfz go1.18.5.linux-amd64.tar.gz -C /usr/local
sudo vim /etc/profile
cd ~
vim .bashrc
go env -w GOPROXY="https://goproxy.cn"
安装caddy
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
# 在golang环境变量中找到GOBIN查看路径,如果为空则会安装到GOROOT或GOPATH路径下的bin目录中
# go env
# 构建
xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive
# 构建完成后同目录下 可以看到caddy可执行程序
# 编写Caddyfile
mkdir /etc/caddy
vim /etc/caddy/Caddyfile
Caddyfile文件示例
将自己的域名 邮箱 user passwd 替换上
:443, domain.com #你的域名
tls aaa@mail.com # 邮箱
route {
forward_proxy {
basic_auth user passwd
hide_ip
hide_via
probe_resistance
}
file_server {
root /var/www/html
}
}
然后测试运行下
caddy run --config /etc/caddy/Caddyfile
如果一切正常,可以将caddy改为守护进程方式
参考:https://github.com/klzgrad/naiveproxy/wiki/Run-Caddy-as-a-daemon
2、windows使用
参考:https://github.com/bolucat/naive#windows-users
3、移动端使用
可以使用 Shadowrocket
4、防坑
1、https是caddy自动申请的
2、申请证书之前要把防火墙端口打开
3、caddyfile可以设置跳转到其他网站,也可以自己部署个静态服务