操作系统:Debian 11.1
本文方案为x-ui + caddy + BBR(caddy与BBR为可选项)
caddy的作用在于自动签发与续签SSL证书
BBR的作用在于TCP加速(自Linux kernel 4.9开始,BBR就成为了Linux kernel 的一部分,故开启BBR需要Linux kernel 版本>=4.9)
本文使用kernel自带的BBR
开启BBR
检查系统kernel版本
uname -r
编辑/etc/sysctl.conf
vim /etc/sysctl.conf
# 在末尾添加以下两行
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
保存sysctl.conf
sysctl -p
验证BBR是否开启
sysctl net.ipv4.tcp_congestion_control
# 或
lsmod | grep bbr
安装x-ui
使用官方脚本安装x-ui,安装完成后会自动配置x-ui后台进程并启动(手动安装方式见x-ui)
安装过程中会要求设置面板账号和端口,按提示走即可
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
查看x-ui是否安装并启动成功
systemctl status x-ui
未启动则手动启动
systemctl restart x-ui
安装caddy
建议安装前先执行 apt update
以下命令有可能过时,请自行前往官网查看最新安装命令
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
配置域名反代
vim /etc/caddy/Caddyfile
# 注释掉80端口的配置,添加以下内容
cross.ainoe.one
encode gzip
reverse_proxy 127.0.0.1:54321 # 指向x-ui端口(指向哪里无所谓,主要是为了生成证书)
重启caddy
systemctl restart caddy
配置x-ui线路
查找caddy自动签发的证书
# 查找公钥文件
find / -type f -name "cross.ainoe.one.crt"
# 输出
/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cross.ainoe.one/cross.ainoe.one.crt
# 查找私钥文件
find / -type f -name "cross.ainoe.one.key"
# 输出
/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cross.ainoe.one/cross.ainoe.one.key
添加线路
使用安装时设置的账号登录x-ui面板,进入入站列表页面添加线路
传输协议选ws;
添加请求头Host = cross.ainoe.one;
开启tls,填入域名、公钥与私钥文件地址;
按需设置其余项目
配置示例
放开防火墙
添加防火墙规则,放开线路端口
验证线路是否可用
打开二维码,使用客户端扫描或复制配置到客户端,测试线路是否连接成功
Tips
使用one_click_script脚本可以安装BBR PLUS等工具
Reference
x-ui - Github
caddy install on Debian
one_click_script - Github