Skip to content

阅读指南

简介

本文说明整个文档集的组织结构和推荐阅读顺序,帮助不同背景的读者快速定位所需内容。

本文回答

  • 文档集由哪些部分组成
  • 不同角色的读者应该按什么顺序阅读
  • 哪些内容可以暂时跳过

本文在项目中的位置

本文是整个文档集的导航层,应在阅读任何具体文档之前先浏览。

适合读者

所有读者。

前置知识

无。

文章理解难度

入门。


文档集总体结构

project-x/
├── index.md                          # Project X 文档集入口
├── reading-guide.md                  # 本文:阅读指南
├── getting-started.md                # 快速上手:编译、运行、基本配置
├── architecture.md                   # 架构概览:整体设计、核心数据流

├── background/                       # 背景知识层(外部知识)
│   ├── cryptography-primer.md        # 密码学基础
│   ├── tls-deep-dive.md              # TLS 1.3 协议深入
│   ├── gfw-censorship.md             # GFW 主动探测及封锁机制
│   ├── deep-packet-inspection.md     # 深度包检测(DPI)机制
│   ├── geedge-tsg.md                 # Geedge Networks TSG 网关
│   ├── mitm-attacks.md               # 常见中间人攻击方案
│   ├── tls-fingerprinting.md         # TLS 指纹(JA3/JA4)机制
│   ├── ech.md                        # Encrypted Client Hello
│   ├── quic.md                       # QUIC 协议
│   ├── tls-in-tls.md                 # TLS-in-TLS 检测与规避
│   └── proxy-protocols.md            # 代理和 VPN 协议概述

├── protocols/                        # 核心协议层(项目协议分析)
│   ├── reality.md                    # REALITY 协议完整分析
│   ├── vless.md                      # VLESS 协议
│   ├── vless-encryption.md           # VLESS 后量子加密层
│   ├── vmess.md                      # VMess 协议
│   ├── trojan.md                     # Trojan 协议
│   ├── shadowsocks.md                # Shadowsocks 协议
│   └── xtls.md                       # XTLS 流控机制

├── mechanisms/                       # 领域机制层(跨模块机制)
│   └── finalmask.md                  # 数据包伪装系统

├── source/                           # 源码分析层
│   ├── 00-reading-map.md             # 源码导读入口 + 项目覆盖清单
│   ├── 08-reality-client.md          # REALITY 客户端源码走读
│   └── 09-reality-server.md          # REALITY 服务端源码走读

└── reference/                        # 参考层
    └── config.md                     # 配置参考

按角色推荐阅读顺序

新手用户(想了解项目但暂时不深入源码)

  1. index.md — 了解项目是什么
  2. background/gfw-censorship.md — 理解反审查的背景
  3. background/deep-packet-inspection.md — 理解 DPI 如何工作
  4. getting-started.md — 编译和运行
  5. architecture.md — 理解整体架构
  6. protocols/reality.md — 理解核心伪装机制
  7. reference/config.md — 配置参考

开发者(准备修改源码或贡献代码)

  1. 完成"新手用户"的全部阅读
  2. source/00-reading-map.md — 源码覆盖清单和阅读入口
  3. source/00-reading-map.md — 理解启动流程
  4. source/00-reading-map.md — 理解功能注册机制
  5. 根据需要深入具体模块的源码分析文档

运维人员(部署和维护代理服务)

  1. index.md — 了解项目
  2. getting-started.md — 编译和基本配置
  3. reference/config.md — 完整配置参考
  4. 部署指南(待编写)
  5. 常见问题排查(待编写)
  6. 安全实践(待编写)

安全研究人员(研究反审查技术)

  1. background/gfw-censorship.md — 全部背景知识文档
  2. protocols/reality.md — 全部协议分析文档
  3. 全部机制分析文档(待编写)
  4. source/00-reading-map.md — 源码分析

重点和难点

重点

  • REALITY 协议的 TLS 握手伪装是整个系统的核心创新
  • XTLS Vision 流控是消除 TLS-in-TLS 特征的关键
  • 路由和回落机制决定了系统的灵活性和安全性

难点

  • REALITY 的临时证书认证体系涉及 Ed25519 签名、HKDF 密钥派生、AEAD 加密等多个密码学原语
  • XTLS 的流控需要理解 TLS 记录层结构和 TLS 握手的完整流程
  • 源码分析需要读者同时理解网络协议和 Go 语言的并发编程模式

下一步阅读