因为naiveproxy使用的是caddy的证书认证方式,如果是自定义端口,续签证书比较麻烦,直接使用cf的15年证书,认证不过。但是可以使用DNS服务商提供的插件 这里就是使用cf的dns插件模块,通过Cloudflare的 dns API申请证书。

使用xcaddy 重新编译

forwardproxy@naive 与 caddy-dns/cloudflare 模块

xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive  --with github.com/caddy-dns/cloudflare

覆盖现在caddy.

修改Caddyfile的 tls选项

image-1712243640143

使用 caddy run 检查申请证书

image-1712242022236

申请CF 的 自定义 api key。

只需要添加【zone的读】和【dns的改】两项权限即可,申请成功后,填入上面Caddyfile的 tls的选项中。

image-1712242209538

这种方式最大的好处是可以开启CDN,隐藏真实的IP, 客户端可以用 --host-resolver-rules 参数 再map真实的IP

image-1712242508974

另一种替换方案 brook

brook 不需要使用域名,不依赖caddy,服务端、客户端都是开袋即食,一条命令即可。

服务端: brook server -l :4431 -p yourpasswd
客户端 :brook client -s serverip:4431 -p yourpasswd --socks5 127.0.0.1:18988