Skip to content

证据与源码审查登记 ​

研究日期:2026-10-15(Asia/Shanghai)。

本文件按写作过程保留逐章查证记录。早期条目的“待核验”等措辞描述当时状态,后续对应章节记录补充实际结果;当前整体完成范围见终审记录。不得将某条局部核对解释为完整软件安全审计。

已完成的核验 ​

  1. 通过 GitHub 仓库元数据确认 Johnn-Lee/Proxy-Anatomy 为 private、默认分支 main,初始化前为空仓库。

  2. 取得 Xray-core main 的 commit:0888beb38a9ba45440557175e71ce21cf8ba3b13,commit 时间 2026-10-14T11:05:45Z。取得该 SHA 的递归文件树,核验参考资料中登记路径。未据文件名推断协议字段。

  3. 读取 RFC 20 的编码表与控制字符说明;读取 RFC 3629 和 RFC 9293 官方正文入口。进一步用于正文的具体段落在各章登记。

  4. 第 1.4 节进一步核验 RFC 3629 §3—4、§10,包括过长编码、代理码点、上限与等价字符序列。第 1.5 节读取 RFC 4648 §3—5 和 Python 内置类型官方说明。

证据标记规则 ​

  • 标准:RFC、FIPS 等规定的格式与算法;标注编号与节号。
  • 固定实现:固定 SHA 下的实际分支、函数和字节行为;记录调用链。
  • 设计目标:开发者说明;不能直接提升为已经证明的安全性质。
  • 实际观测:记录来源与观测条件;确定性构造样例不冒充生产抓包。
  • 机制分析:明确假设和推导;不能代替基准测试。
  • 未验证:关键资料尚未取得或缺乏足够证据时,不能写成结论。

高级章节的审查闸门 ​

VLESS Encryption:先读取配置解析、client/server/common/xor,再画双端状态机和记录布局;核验字符串各段、恢复期限、0rtt、重放处理与密钥更新;不能把混合交换自动等同于所有记录均有 PFS。

Vision:先核验 addons protobuf、读写包装器和 proxy.go;区分识别内层 TLS、填充命令、直接转发、实际 splice 调用条件以及外层 Encryption 的路径;对同 HTTP/HTTPS 负载作条件性数据路径比较。

REALITY:先核验包装层、依赖模块及实际认证实现,再讨论证书替代路径与未授权路径;不能声称它具有任意站点/CDN 的普适兼容性。

XHTTP:按固定源码检查模式选择、会话路径、上传队列、HTTP 版本、连接池和 XMUX;官方指南、默认值和社区调参经验分别记录。

第21—24章已经按上述要求完成相关资料与固定源码查证,并写成正文;具体路径、分支和复算范围见本文件后续对应章节记录。尚未运行的互通、平台优化和性能测试不作为已验证结论。这里保留审查要求,用于后续版本更新时重新核对。

范围更新 ​

2026-10-15 用户取消实验代码要求。当前正文只保留原理、字段、配置与通信例子;高级章节的“验证”指资料与源码查证,不能因为没有实验程序而降低结论准确性。

基础资料的适用范围 ​

Python Socket HOWTO 包含历史教学简化,例如把 HTTP 讨论成单次传输,不能据此覆盖现代 HTTP 持久连接规则;本书使用 RFC 9112 解释 HTTP 定界与连接寿命。第 3 章已读取 Linux 内核 Segmentation Offloads 文档,对主机抓包中的卸载与线上段分别说明。

本轮基础章节核验 ​

已读取 RFC 9113 §4 帧格式、RFC 8446 §5 记录与握手分片关系、RFC 1928 正文及 RFC 6709 扩展设计入口。这里只用于相应基础机制;不据此声称高级 Xray 源码已经审查。第 4.1 节嵌套布局为本书教学构造,8/5/3 字节范围已逐项计算。

第 5 章已用资料 ​

RFC 9110 §3.7 用于中间节点角色;RFC 3022 §2 用于传统 NAT/NAPT;Linux TUN/TAP 文档 Description 与 Frame format 用于接口职责;RFC 768、8085 用于数据报服务和尺寸/拥塞责任;RFC 1034 §5、9076 §5—6 用于解析角色及隐私路径。文档地址、HTTP 字节及多段连接例子均为明确标注的构造,不是生产抓包。

第 6 章已用资料 ​

已读取 RFC 1928 §3—8 与 RFC 1929 全文。逐项核对方法选择、认证版本、三种命令、三类地址、结果码、BIND 两响应、UDP 控制关联与分片。UDP IPv6 字段图头长为 22,与 §7 末尾缓冲建议 20 不一致;仅报告原文差异,未声称勘误状态。所有例子为构造,教学密码没有实际用途。

第 7 章已用资料 ​

RFC 9112 §2—3、§6 用于HTTP/1.1文本、请求目标、Host与定界;RFC 9110 §3.7、§9.3.6、§11.7用于代理角色、CONNECT切换与认证;RFC 7617 §2—4用于Basic及保密边界。字段与状态不从旧社区例子推导,外层/网站TLS仅用端点模型解释,不提前声称密码实现已审查。

Mihomo 代理链实现基线 ​

第8.4节固定Meta提交88dcbf7f1614a67c3b36b848ee3592dfa92ada36(2026-09-30)。已读BasicOption.NewDialer、byNameProxyDialer.DialContext/ListenPacket、proxyDialer两类接口及Socks5.DialContext/StreamConnContext/ListenPacketContext,核对adapter/parser.go支持socks5名称。只验证所述调用路径,不声称全部出站组合兼容。

第9章核验范围 ​

RFC9110的资源、方法安全/幂等、内容编码、逐跳转发;RFC9112 §2—7、§9、§11的语法、八级消息长度规则、持久与歧义;RFC3986 §2—3的URI分隔。明确CL/TE冲突不能作为普通兼容路径,重复长度仅有相同合法值例外。chunked例24线上字节对应9内容字节。

第10章核验范围 ​

读取RFC6455握手、帧位、掩码、分片、控制、关闭及安全段落;RFC7692 §7—8的消息压缩、方向参数、历史接管、尾部处理和风险。标准Accept及Hello掩码向量内部复算通过,abc向量和全部头长阈值独立计算。未把WebSocket适配模型冒充Xray实测路径。

gRPC文档基线 ​

grpc/grpc提交0bce44dbb4063c31af3b159b6b2c1719ffdbf074(2026-10-15),已读doc/PROTOCOL-HTTP2.md请求、Length-Prefixed-Message、响应和Trailers范围。Protobuf字段例依据protobuf.dev官方编码指南,教学服务与模式明确虚构,未归因实际Xray。

第11章标准核验范围 ​

RFC9113前言、帧、流状态、HPACK上下文、流量控制、CONNECT、RST与GOAWAY;RFC7541整数、字面值、静态/动态表和Huffman;RFC8441 §3—5的扩展CONNECT与WebSocket。字段块16/4、HEADERS25/13、WINDOW_UPDATE13和RST_STREAM13字节已按布局核对;数据流程只在文中明确状态和条件下成立。

第12章核验范围 ​

RFC9000的流/变长/包/ACK/迁移,9001的TLS接口与A.2真实向量,9002的恢复/PTO/拥塞,9114的请求和控制流、帧,9204的QPACK引用与静态表示,9221的数据报参数、确认、流量及拥塞。Initial1200、ACK7、PATH9、STREAM7及QPACK18字节例逐项核对,性能仅为明确条件推导。

第13章核验范围 ​

读取RFC3552的通信目标、攻击者能力、中间人、认证与授权、对象及通道保护;RFC4949用于术语查阅,RFC6973用于关联和身份隐私。18字节教学请求逐字段核对,非实际代理报文。可见性与CDN解密边界按明确假设推导,不宣称通用匿名或不可识别。

第14章核验范围 ​

FIPS197-upd1的状态、分组、密钥和轮数;SP800-38D的GCTR、GHASH、J0与长度;RFC5116接口、唯一性与上下文编码;RFC8439的IETF ChaCha20、一次性Poly1305、完整AEAD与安全限制。AES历史向量来自2001版C.1,已说明其被2023版替代且算法无技术变化。内部库复算AES与RFC8439向量一致,三类改位拒绝;正文无实验程序。前缀计数、24字节记录及文件截断均为明示构造。

第15章核验范围 ​

RFC6090的点群与ECDH、RFC7748的Montgomery曲线、字节处理、ladder和6.1向量、RFC8032纯Ed25519签名/验证、RFC8446对全零结果及PFS/KCI/失陷边界的要求。内部复算X25519双公钥与双向Z一致;模17小例仅为算术构造。认证交换图明确为职责模型,未冒充TLS报文或宣称自行设计协议已获安全证明。

TLS现行规范版本补充 ​

2026-10-15核对RFC Editor确认RFC9846(2026-07)替代RFC8446,协议版本仍1.3。第16章保留8446/8448复现基线,并补充9846的key-share不复用、用量MUST更新或关闭、KeyUpdate发送次数上限和变量改名;派生标签不改。RFC9963仅为特定客户端CertificateVerify分配legacy编码,服务器RSA仍需PSS。后续高级源码以实际引用及实现为准,不假定它已实现新规范所有要求。

第16章核验范围 ​

RFC8446/8448为历史结构与计算向量基线,现行RFC9846和9963差异已标明。核对Hello逐字段、HRR摘要替代、HMAC/HKDF编码与密钥树、5280/9525证书路径和名称、CV与Finished、记录、票据binder、0RTT重放。内部复算8448的交换/派生/CV/Finished,打开679/58握手记录及227票据、72应用、24关闭记录,方向序号与类型一致;还重新形成RFC9001 A.2完整1200字节Initial逐字节相同。未运行生产部署或把测试证书作为现行可信证书。

第17章核验范围 ​

FIPS203(2024-08-13)ML-KEM结构、参数、编码、内部转换和输入检查;NIST 2026 FAQ种子格式;RFC9954框架及RFC10024(2026-08)正式混合组、顺序、长度与生命周期。固定NIST ACVP-Server提交975de31eb83d87039ec88934fdc47d8c312b892d,keyGen tg2/tc26种子重建公钥一致,encapDecap tg2/tc26解封装和G-derived K一致,tg5十例解封装一致且tc88拒绝J核对;用Node24.19/OpenSSL3.5.7,不宣称认证或全部路径证明。Xray已实际克隆并检出0888beb38a9ba45440557175e71ce21cf8ba3b13,现代机制仍需逐路径审查。

第18章核验范围 ​

Xray0888beb的VLESS入站/出站Process、编码器与addons、MemoryValidator/ProcessUUID、UUID短串映射、请求命令、地址解析、Mux分发、路由VlessRoute条件、配置构建和出站安全验证。核实UUID索引6/7认证映射忽略但原值进入路由;26/34/38基本TCP头与2字节空响应;普通双向流的缓冲和安全边界。VMess比较限已读现代AEAD请求/AuthID路径,完整机制留27章。REALITY/Encryption/Vision/XHTTP内部仍逐章待查,不由本章职责图声称已完成。

第19章核验范围 ​

继续使用Xray0888beb;逐读encoding.go、addons.go/proto、common/protocol/address.go与headers/payload、buf.Size及入站首读/回退/响应缓冲、出站UDP改Mux/XUDP和并发复制。核对Vision的16字节Flow、18字节Protobuf和命令偏移36;独立构造39字节请求,头34、正文5,复算UDP43和TLS记录61。明确特定UDP writer的8190上限不等于线上uint16容量;未运行Xray部署或分片测试。Protobuf编码规则复核官方指南,19.9畸形与改长度例为语法推导,不是假造生产观测。高级机制内部依然逐章待查。

第20章核验范围 ​

Xray0888beb的配置传输别名、TCP拨号/监听、WebSocket连接/拨号/监听、gRPC schema与Hunk/MultiHunk/自定义服务和通道缓存;XHTTP Dial、OpenStream/PostPacket、hub交付、splitConn与uploadQueue排序。XHTTP这里只验证层次与模式概览,完整字段、XMUX生命周期和auto细节留24章。Nginx官方WebSocket与proxy_buffering用于中间节点机制。39字节封装为61/67/77/70的明确条件计数;冷启动2.5r/3.5r为依赖推导。没有声称实测吞吐、任意CDN兼容或所有半关闭组合已验证;Mermaid待终审渲染。

第21章核验范围 ​

实际克隆并检出Xray go.mod指定REALITY83f621788ca88b83179810b12baa7ae518aacb83。逐读Server/MirrorConn、handshake_server_tls13自定义路径、conn长度适配、record_detect,以及Xray UClient/VerifyPeerCertificate、配置材料解码、TLS验证与传输限制。版本特殊要求ClientHello先有正确MLKEM混合份额;AuthKey静态ECDH与应用临时TLS秘密分离;专用证书HMAC与可选MLDSA、真实证书Verified失败、fallback转发分别说明。21.8构造1399字节Hello,以公开RFC7748与NIST keyGen材料,内部Python双向ECDH/手工HKDF/GCM和Node OpenSSL交叉核对,三类改位拒绝;它不是官方向量、浏览器指纹或完整互通测试。未执行生产部署、吞吐测量或形式化不可区分证明。第22章Encryption内部仍待独立审查。

第22章核验范围 ​

Xray0888beb的Encryption client/server/common/xor四文件全路径及infra/conf/vless.go、调用端、RandBetween,另读所依赖BLAKE3 v1.4.1 DeriveKey。核对静态链绑定、完整临时混合交换、96字节UnitedKey与双方向原始上下文、记录21字节开销、Nonce先增与Max回复、极限回绕记录后派生、三外观、Padding阈值与区间、恢复票据和原子nfsKey去重、分钟清理及秘密存留。公开构造记录用临时Python BLAKE3 1.0.8及密码库复算两AEAD分支和改位拒绝,脚本与依赖未提交教材。明确完整客户端第一回复Open返回值未直接检查,后续票据检查另述;未由此冒称完成漏洞验证。没有完整Xray互通、吞吐测量、形式安全或秘密擦除证明。Vision内部仍待第23章逐路径审查。

第23章核验范围 ​

逐读Xray0888beb proxy.go全部Vision状态、读写、TLS过滤、整批记录检查、Padding/Unpadding、Reshape、Unwrap及复制路径,连同VLESS入站/出站、freedom候选和使用开关、buf.Extend/ReadVReader。记录初始标记需当前Buffer21字节、TLS搜索的分片限制、unsafe内部字段依赖、02块旧Writer与下一次切换、缓冲排空、禁止与就绪状态、上行部分赋值仍注释。核对CommonConn Direct后保留Xor/HTTP/额外TLS而非双穿透,不能自动继承已绕过PQ层的应用保密保证。读Linux内核splice资料和Go1.27.0 net入口;internal/poll用2026-10-15公开源码说明,未声称写作环境实际编译或运行Linux splice。33字节Padding例、1192首批字节为明确构造。无吞吐结果、所有组合互通或形式证明。XHTTP完整模式与XMUX待24章。

第24章核验范围 ​

固定Xray0888beb的splithttp hub、config/proto、dialer、client、browser_client、upload_queue、mux、xpadding及infra/conf/transport_method.go。核对三模式与会话表、元数据、排序和有限批次、stream-up响应填充、stream-one双向要求、auto确定性选择及Extra覆盖、XMUX计数/预算/退役、H1上传池和H2/H3对象差异、h2c监听、Padding生成及非认证边界。在线复核Nginx缓冲和RFC9111;Go1.27.0 ResponseController用于H1双向边界。39字节按20+19拆分与100字节Padding为明确构造;成本比例/BDP为假设算术。未执行所有模式互通、任意CDN兼容、吞吐测试或Linux splice;Mermaid待最终专用渲染。第25章配置组合将独立核对,不由本章声明已完成。

第25章核验范围 ​

固定Xray0888beb,静态交叉核对简化VLESS出站、入站decryption、RAW none与公共出站安全检查、CommonConn/Vision组合,以及SOCKS protocol/server应答先于DispatchLink的时序。新增逐读freedom默认私有目标final阻止、域名系统解析预检、拨号后地址检查与黑洞/复制。两份完整JSON语法通过;公开RFC7748 Bob测试密钥转换32字节Base64URL;独立核算SOCKS18、Vision VLESS52、1021块和1094/1115记录构造。首次完整握手1298+Pc/1168+Ps及3r+2s+d是明确条件下推导。无编译、浏览器生产抓包、两端互通或性能测量;公开测试私钥非实际凭据且无部署秘密性。章节25.1—25.11正文完成,图待终审渲染。

第26章核验范围 ​

实际克隆官方shadowsocks-org并固定34598d65054dad975d330ff9d7317b0d41cf1efd(2026-07-12),阅读stream、aead、SIP022含全部图字段和SIP023。Xray0888beb旧包protocol/config/validator,2022 kdf/cipher/stream关键写读、packet加解密与字段、replay滑窗和antireplay.MapFilter;记录规范与实现局部审查的区别。核对2017地址、双AEAD/块、小端Nonce、HKDF/MD5链和UDP;2022双头/响应关联、65535、UDP AES分离头/ChaCha差异、时间/窗口和EIH。临时Python独立复算2017与2022 AES256起始86/97字节,HKDF手工/库一致、双块解密和4次Tag改位拒绝;明确旧时间、公开材料和Xray默认Padding/分块不同。没有生产互通、并发重放全面证明、全软件合规测试或不可区分/性能实验;脚本未提交。26.1—26.8正文完成。

第27章核验范围 ​

固定Xray0888beb common/protocol ID与选项,infra/conf/vmess,VMess account/validator/aead四文件、encoding客户端/服务端/auth、outbound、common/crypto auth/chunk及SessionHistory。核对现代请求16/18/8/N+16,专用嵌套HMAC非HKDF、AuthID时间/CRC、指令57+P、响应派生、Body长度/SHAKE/Padding与Nonce。明确uint16生成器回绕、EOF先于空块正文验证、实验认证长度及SessionHistory早于全指令检查等实际边界,未冒称攻击复现或全面安全证明。内部Python构造CRC/FNV/AES/SHAKE/GCM,Node独立核对五KDF和两头密文;115+40=155、3处Tag改位拒绝。公开旧时间样例非现行有效请求,无Xray编译互通、吞吐测试或并发/集群完整证明。官方历史文档仅用于弃用背景;实际支持按固定路径。27.1—27.8正文完成。

第28章核验范围 ​

实际克隆trojan-gfw/trojan并固定3e7bb9aecdc694f9bcae8d646fae395f773d60f8(2020-11-08),读官方protocol、trojanrequest/udppacket、clientsession/serversession关键分支及service TLS验证。Xray0888beb trojan config/protocol/client/server/validator及公共出站检查。核对56 ASCII摘要、CRLF/地址/命令、76/68/80头、UDP24与8192实现上限、静态凭据等价能力和TLS后回退;注明Xray读取不比较部分CRLF/非03局部TCP及首读58策略,未将宽松解析当标准。Python复算SHA224 abc和完整81字节,TLS103/125及UDP100均为条件计数;无实际TLS密文、两端互通、CDN或不可识别性试验。28.1—28.8正文完成,Mermaid待终审渲染。

第29章核验范围 ​

实际克隆Hysteria ca8fbd874fd6ca82413948de6dc5924405e103e1(2026-10-04)和TUIC规范8e118f242f24a17a9f487dc344cc50d7e63e557e(2025-03-13)。读Hysteria core/go.mod、http/proxy/padding、client/server认证/流接管/响应、udp/frag、Brutal/utils及Salamander。完整读TUIC SPEC v05;另核对既有Mihomo88dcbf7的TUIC v5 protocol/client/server/packet/frag实际字段、None无端口、Exporter UUID原始字节、并行认证与单向流。复查RFC9846本地7.5正常Exporter,不冒称早期Exporter。核算Hysteria TCP19/默认P64时84、UDP29,TUIC认证50/Connect17/Packet30/分片41/关闭4/心跳2;Brutal公式与窗口例均条件算术。注明Hysteria单包重组、缓冲丢弃、Hook先成功等局部边界。未运行生产互通、迁移、不可区分或吞吐测试,也未把TUIC协议仓库说成官方实现。29.1—29.9正文完成。

第30章核验范围 ​

按前29章已固定机制交叉比较头/记录成本、RTT、CPU/拷贝/内存、复用故障、排队、CDN/多跳信任及DNS。补读RFC8899、DoH8484/DoT7858、Linux分段卸载/splice、tcpdump上游手册、Wireshark重组/TLS/校验、curl时间、ss手册、strace项目说明与ESnet iperf3。1460/1440/1472/1452、1.22GiB、队列0.8秒等均为明示条件算术,无基准测试或实验任务。工具介绍只解释证据,不提供运行命令或脚本。三个综合案例由既有机制推导,无虚构部署。30.1—30.12正文完成;全书统一参考资料、术语、导航和最终编辑验收尚在进行。30张Mermaid已用CLI12.0.0与本机Chrome实际渲染通过,缩略图人工检查完成,验收细节待终审登记。

从字节与状态机出发,理解每一层的职责。