Debian 11搭建naiveproxy服务器

naiveproxy 是基于caddy使用go语言开发的一个转发服务器。作者的github地址 https://github.com/klzgrad/naiveproxy

搭建任务步骤
首先安装go语言
编译带转发的caddy
编辑caddy配置文件
启用服务

1.安装最新版本的go语言,下载链接需要查看链接 https://go.dev/doc/install

wget https://go.dev/dl/go1.19.4.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

2.新建一个caddy配置文件(系统不含这个路径,需要新建目录)。
文件名: /etc/caddy/Caddyfile 
文件内容:

{
order forward_proxy before file_server
}
:443, xxx.f3ck.cn {
tls suhaha1024@gmail.com
forward_proxy {
basic_auth username password
hide_ip
hide_via
probe_resistance
}
file_server {
root /var/www/html
}
}

3.编译带naiveproxy的caddy。也可以新建一个update.sh ,方便以后升级用。
文件内容:

export PATH=$PATH:/usr/local/go/bin

go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

systemctl stop caddy.service 
cp caddy /usr/bin/caddy 
systemctl start caddy.service 
systemctl status caddy.service

4.最后新建Debian的系统服务,完成自动开机启动。

文件名称: /etc/systemd/system/caddy.service
文件内容:

[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.targetnetwork-online.target
Requires=network-online.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
PrivateTmp=true
ProtectSystem=full

[Install]
WantedBy=multi-user.target

5.此处记得启用服务

systemctl enable caddy.service

以上完成后对应的客户端配置信息:

naiveproxy连接方式 http2或者quic 服务器地址 xxx.f3ck.cn 端口号 443 用户名 username 密码 password