全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2537|回复: 14

[经验] Xray + xtls-rprx-vision + caddy 初尝试

[复制链接]
发表于 2023-2-12 21:23:07 | 显示全部楼层 |阅读模式
我选择使用 caddy 来自动续期证书, 丢掉烦人的 acme.sh

安装 Caddy

Arch Linux

  1. # xcaddy 在 aur 源
  2. yay -Sy caddy xcaddy-bin go
复制代码


其他发行版

go 安装: https://go.dev/doc/install
Caddy 安装: https://caddyserver.com/docs/install
xCaddy安装: https://github.com/caddyserver/xcaddy

编译 Caddy

Caddy 默认的 Proxy 无法对回落的流量进行 SNI 分流

  1. # caddy 编译
  2. xcaddy build --with github.com/mastercactapus/caddy2-proxyprotocol

  3. # 可以先看看运行的是哪个caddy
  4. systemctl cat caddy

  5. # 替换原版 caddy
  6. mv caddy /usr/bin/caddy

  7. # 查看是否编译成功
  8. caddy list-modules

  9. # 结尾几行
  10. .......

  11.   Standard modules: 100

  12. caddy.listeners.proxy_protocol

  13.   Non-standard modules: 1

  14.   Unknown modules: 0
复制代码


配置 Caddy

Caddyfile 一般默认路径 /etc/caddy/Caddyfile

  1. {
  2.         servers :8080 {
  3.                 listener_wrappers {
  4.                         proxy_protocol {
  5.                                 timeout 2s
  6.                                 allow 0.0.0.0/0
  7.                         }
  8.                         tls
  9.                 }
  10.                 protocols h1 h2 h2c h3
  11.         }
  12. }

  13. :80 {
  14.     redir https://{host}{url}
  15. }

  16. import /etc/caddy/conf.d/*
复制代码


在 /etc/caddy/conf.d 中任意起一个文件

  1. # vim /etc/caddy/conf.d/example.com

  2. http://example.com:8080 {
  3.     reverse_proxy https://bing.com {
  4.         header_up Host {upstream_hostport}
  5.         transport http {
  6.             tls
  7.         }
  8.     }   
  9. }

  10. example.com:8443 {
  11.     reverse_proxy https://bing.com {
  12.         header_up Host {upstream_hostport}
  13.         transport http {
  14.             tls
  15.         }
  16.     }   
  17. }
复制代码


Caddy 启动前请确认 /etc/hosts 不为空

  1. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
复制代码

  1. # 启动 Caddy
  2. systemctl start caddy
  3. # 开机启动
  4. systemctl enable caddy
复制代码


查看 /var/lib/caddy/certificates 下是否有证书, 保存你证书的完整路径

  1. # 查看路径
  2. ls /var/lib/caddy/certificates

  3. # 例子
  4. /var/lib/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com/example.com.crt
  5. /var/lib/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com/example.com.key
复制代码


配置 Xray

Archlinux

  1. # 安装 Xray
  2. pacman -Sy xray
复制代码


其他发行版: https://github.com/XTLS/Xray-install

修改 systemd 配置

  1. # 查看路径
  2. systemctl cat xray

  3. # 修改配置
  4. vim /usr/lib/systemd/system/xray.service

  5. # 修改用户组
  6. [Service]
  7. User=xray

  8. # 修改后
  9. [Service]
  10. User=caddy

  11. # 重载 systemd
  12. systemctl daemon-reload
复制代码


修改 xray 配置 /etc/xray/config.json, 脚本安装用户路径 (状态: 待补充)

  1. {
  2.   "log": {
  3.     "loglevel": "debug"
  4.   },
  5.   "routing": {
  6.     "domainStrategy": "IPIfNonMatch",
  7.     "rules": [
  8.       {
  9.         "type": "field",
  10.         "domain": [
  11.           "geosite:category-ads-all"
  12.         ],
  13.         "outboundTag": "block"
  14.       },
  15.       {
  16.         "type": "field",
  17.         "domain": [
  18.           "geosite:google"
  19.         ],
  20.         "outboundTag": "direct"
  21.       },
  22.       {
  23.         "type": "field",
  24.         "ip": [
  25.           "geoip:cn"
  26.         ],
  27.         "outboundTag": "block"
  28.       }
  29.     ]
  30.   },
  31.   "inbounds": [
  32.     {
  33.       "listen": "0.0.0.0",
  34.       "port": 443,
  35.       "protocol": "vless",
  36.       "settings": {
  37.         "clients": [
  38.           {
  39.             "id": "4ee9ae2b-fad5-4083-a036-b7e44bbc09f0",
  40.             "flow": "xtls-rprx-vision"
  41.           }
  42.         ],
  43.         "decryption": "none",
  44.         "fallbacks": [
  45.           {
  46.             "dest": "8080",
  47.             "xver": 1
  48.           }
  49.         ]
  50.       },
  51.       "streamSettings": {
  52.         "network": "tcp",
  53.         "security": "tls",
  54.         "tlsSettings": {
  55.           "rejectUnknownSni": true,
  56.           "minVersion": "1.3",
  57.           "certificates": [
  58.             {
  59.               "certificateFile": "/var/lib/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com/example.com.crt",
  60.               "keyFile": "/var/lib/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com/example.com.key"
  61.             }
  62.           ]
  63.         }
  64.       },
  65.       "sniffing": {
  66.         "enabled": true,
  67.         "destOverride": [
  68.           "http",
  69.           "tls"
  70.         ]
  71.       }
  72.     }
  73.   ],
  74.   "outbounds": [
  75.     {
  76.       "protocol": "freedom",
  77.       "tag": "direct"
  78.     },
  79.     {
  80.       "protocol": "blackhole",
  81.       "tag": "block"
  82.     }
  83.   ],
  84.   "policy": {
  85.     "levels": {
  86.       "0": {
  87.         "handshake": 2,
  88.         "connIdle": 120
  89.       }
  90.     }
  91.   }
  92. }
复制代码


启动 Xray

  1. # 启动
  2. systemctl start xray

  3. # 开启基地
  4. systemctl enable xray
复制代码


参考资料
https://xtls.github.io/document/level-1/fallbacks-with-sni.html#caddy-%E9%85%8D%E7%BD%AE

原创文章, 如需转载请注明出处
https://qiedd.com/1819.html
发表于 2023-2-12 23:40:30 | 显示全部楼层
不用caddy-l4么?
发表于 2023-2-12 21:28:51 来自手机 | 显示全部楼层
太复杂了,直接vmess+tcp,反正都一样被识别
发表于 2023-2-12 21:29:50 | 显示全部楼层
技术贴,收藏了
发表于 2023-2-12 21:37:59 | 显示全部楼层
教程很好,不过对不是计算机专业,也没有从事相关行业的人可能有点难。期待大佬写个 一键复制粘贴,然后选序号 按回车,就行的那种脚本。
发表于 2023-2-12 21:40:30 | 显示全部楼层
有没有一键脚本啊
我懒啊
发表于 2023-2-12 21:41:22 | 显示全部楼层
期待大佬写个 一键复制粘贴,然后选序号 按回车,就行的那种脚本。
发表于 2023-2-12 21:56:09 | 显示全部楼层
顶,支持百花齐放
发表于 2023-2-12 23:25:57 来自手机 | 显示全部楼层
X-UI直接用不好吗
发表于 2023-2-12 23:31:21 来自手机 | 显示全部楼层
xray+xtls-rprx-vision目前用着挺稳的,之前就简单的vmess tcp用了好多年都没事,自从流量多了就不行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-6 02:26 , Processed in 0.065680 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表