亲自手搓 在你自己的VPS上尝试复现VLESS-Reality-cracker 对于Caddy提供的HTTPS服务

前言

上一篇我们已经实现了手搓复现 VLESS-Reality-cracker
那么, 按照作者的理论, 如果测试对象不是 Reality 服务端, 而是一个真实的HTTPS服务器, 探针应该显示相同的结果.
让我们试试 Caddy 提供的 HTTPS 服务

准备环境

搭一个正常工作的 Caddy 提供HTTPS服务


在Docker中部署一个Caddy, 使用和宿主机同样的Caddyfile和证书

docker run -d \
  --name caddy-test \
  --network bridge \
  -v /etc/caddy/Caddyfile:/etc/caddy/Caddyfile:ro \
  -v /var/lib/caddy/.local/share/caddy:/data/caddy:ro \
  caddy:latest

查看Docker中Caddy的IP

docker ps -q | xargs docker inspect -f '{{.Name}} -> {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

访问Docker中的Caddy的HTTPS服务

curl -L --resolve 你的域名:443:Docker中Caddy的IP  https://你的域名

curl -L --resolve drla.whatcanisay.ggff.net:443:172.17.0.3  https://drla.whatcanisay.ggff.net 


测试1

原作者的7个探针

启动POC程序

./vless-cracker-v1 \
    -i docker0 \
    -f "tcp port 443 and host 172.17.0.1 and host 172.17.0.3" \
    -P characteristic.txt \
    -l info

访问HTTPS服务

curl -L --resolve drla.whatcanisay.ggff.net:443:172.17.0.3  https://drla.whatcanisay.ggff.net

 结果


测试2

issue 29 的30个探针

1-4, 6-10

11-17, 19-20

21-29 

5

18
原始日志
[2026-05-15 20:15:16.349651] TLS ClientHello 172.17.0.1:60496 -> 172.17.0.3:443 sni=drla.whatcanisay.ggff.net alpn=h2,http/1.1 versions=0x0304,0x0303
TLS ServerHello 172.17.0.3:443 -> 172.17.0.1:60496 selected_version=0x0304 bytes=3649
TLS replay attempt=1 server=172.17.0.3:443
TLS PROBE-FIRST server=172.17.0.3:443 sending probe(6) + ClientHello(1585) = 1591 bytescombined
TLS replay attempt=1 server=172.17.0.3:443 failed=recv_failed error=Connection reset bypeer bytes=0
TLS replay attempt=1 discarded; all probes returned NONE
TLS replay B randomized ClientHello legacy_session_id len=32 before=88607a5b after=28780a91
TLS replay waiting 1s before attempt=B randomized session_id recheck
TLS replay attempt=2 server=172.17.0.3:443
TLS PROBE-FIRST server=172.17.0.3:443 sending probe(6) + ClientHello(1585) = 1591 bytescombined
TLS replay attempt=2 server=172.17.0.3:443 failed=recv_failed error=Connection reset bypeer bytes=0
TLS replay attempt=2 discarded; all probes returned NONE
TLS replay confirmation round=1 skipped; discarded round A=no_signal B=no_signal
30

总结

可以看到, 和 Reality 服务端 的测试结果对比,  
1. Caddy的HTTPS服务端的测试结果中 所有探针在两轮测试中的状态是一致的.
2. Caddy的HTTPS服务端的测试结果中 探针的状态与 Reality服务端的第1轮测试是一致的.


评论

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

Hysteria2 服务端自签证书 客户端指定证书指纹 pinSHA256 证书锁定 Certificate Pinning

极简一键脚本 搭NaiveProxy梯子 自定义端口 与Caddy V2前置的VLESS/Vmess V2Ray共存 可开CDN