caddy自行编译, 同时打包 naive 和 trojan 插件共存, 同时可以作为V2ray/Xray的前置web服务器
搭建 Go 环境
参考Go官方安装说明 https://go.dev/doc/install
wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin
检查环境是否搭好了
go version
应该输出 go 的版本
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
编译 caddy 带上插件 naive 和 trojan
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive --with github.com/imgk/caddy-trojan
使用
配置Caddyfile
{
order forward_proxy before file_server
order trojan before file_server
servers :443 {
listener_wrappers {
trojan
}
}
trojan {
caddy
no_proxy
users e16d9cb045d7 #trojan密码
}
}
:443, npp.tzzhu.gq:443 {
tls e16d9cb045d7@gmail.com
forward_proxy {
basic_auth e16d9cb045d7 e16d9cb045d7 #naieveproxy密码
hide_ip
hide_via
probe_resistance
}
file_server {
root /var/www/html
}
}
trj.tzzhu.gq:443 {
tls e16d9cb045d7@gmail.com
trojan {
connect_method
websocket
}
file_server {
root /var/www/html
}
}
ray.tzzhu.gq
{
tls e16d9cb045d7@gmail.com
encode gzip
handle_path /06863aab8b84 { #节点路径
reverse_proxy localhost:40947 #*Ray监听的内部端口
}
handle {
reverse_proxy https://crazypeace.eu.org {
trusted_proxies 0.0.0.0/0
header_up Host {upstream_hostport}
}
}
}测试方法
在自己的VPS上运行NaiveProxy客户端 对接自己的服务端 排错 Troubleshoot
在自己的VPS上运行Trojan-go客户端 对接自己的服务端 排错 Troubleshoot
在自己的VPS上运行V2Ray客户端 对接自己的服务端 排错 Troubleshoot
参考
Go 官方安装过程
https://go.dev/doc/install
NaïveProxy 官方编译流程
https://github.com/klzgrad/naiveproxy
xcaddy使用说明
https://caddyserver.com/docs/build#xcaddy
naive编译参数
https://github.com/klzgrad/naiveproxy#server-setup
caddy-trojan编译参数
https://github.com/imgk/caddy-trojan#build-with-xcaddy
======
后记
单Trojan的Caddyfile
{
order trojan before file_server
servers :443 {
listener_wrappers {
trojan
}
}
trojan {
caddy
no_proxy
users e16d9cb045d7 #trojan密码
}
}
trj.tzzhu.gq:443 {
tls e16d9cb045d7@gmail.com
trojan {
connect_method
websocket
}
file_server {
root /var/www/html
}
}单Naive的Caddyfile
{
order forward_proxy before file_server
}
:443, npp.tzzhu.gq:443 {
tls e16d9cb045d7@gmail.com
forward_proxy {
basic_auth e16d9cb045d7 e16d9cb045d7 #naiveproxy密码
hide_ip
hide_via
probe_resistance
}
file_server {
root /var/www/html
}
}单*Ray的Caddyfile
ray.tzzhu.gq
{
tls e16d9cb045d7@gmail.com
encode gzip
handle_path /06863aab8b84 { #节点路径
reverse_proxy localhost:40947 #*Ray监听的内部端口
}
handle {
reverse_proxy https://crazypeace.eu.org {
trusted_proxies 0.0.0.0/0
header_up Host {upstream_hostport}
}
}
}
最新版的 caddy 用到最新版的 go
回复删除现在是 go1.21.6.linux-amd64.tar.gz 了
go1.23.4.linux-amd64.tar.gz
删除