文章

xray-core详解

Xray-core 详解(2026 年中)

网络工程 / 协议实现学习向文档。聚焦架构、配置模型、协议支持与生态定位。


1. 概述与定位

Xray-core 是当前代理生态中抗封锁能力最前沿的核心,由 XTLS 团队维护。它是 v2ray-core 的一个分支,因 VLESS / XTLS 的技术路线分歧而从 V2Ray 社区独立出来。

它的核心标签:

  • Reality 协议的原生实现者(VLESS + Reality 是 2023 年以来抗主动探测的主流方案)。
  • 协议集合偏向”V2Ray 系”:VLESS、VMess、Trojan、Shadowsocks。
  • 设计哲学偏向”把抗封锁的协议做到极致”,而不是追求协议数量全覆盖。

2. 项目背景与生态

项目说明
上游v2ray-core(V2Ray 原核心)
分叉原因围绕 XTLS / VLESS 的路线争议,XTLS 团队另起炉灶
维护者XTLS 团队(开源)
语言Go
标志性特性Reality、Vision 流控、XHTTP、Xtls-rprx 系列

常见 GUI 封装

  • Windows / Android:v2rayNv2rayNG
  • 跨平台:NekoBox(也支持 sing-box / mihomo)
  • 路由器:OpenWrt 上的 passwall / hello-world 等
  • 移动端:ShadowrocketStash 等通过内置对应核心支持

3. 架构与核心组件

Xray 的运行时由若干**对象(object)**组成,一份配置本质就是描述这些对象如何连接:

入站 (Inbound)  →  路由 (Routing)  →  出站 (Outbound)  →  网络
   ↑                                                       ↓
   └──────────── 本地应用(浏览器/SOCKS5/HTTP)────────────┘
        DNS / Policy / Observation(辅助系统)
  • Inbound(入站):定义”本地应用怎么连进来”,通常是 SOCKS、HTTP、或 Dokodemo-door(透明代理)。
  • Outbound(出站):定义”流量从哪个协议出去”,每个出站对应一个协议 + 传输方式 + 目标地址。
  • Routing(路由):基于规则把流量分到不同出站(直连 / 代理 / 阻断)。
  • DNS:独立的 DNS 处理模块(支持按域名分流、劫持、hosts)。
  • Policy / Observation:流量统计、日志、限速等。

4. 支持的协议与传输

协议(Protocol)

  • VLESS:核心协议,支持 flow: xtls-rprx-vision(Vision 流控)。
  • VMess:老牌协议,仍支持但渐被 VLESS 取代。
  • Trojan:TLS 伪装。
  • Shadowsocks:含 2022 版 AEAD。
  • 辅助:SOCKSHTTPDNSFreedom(直连)、Blackhole(阻断)、Dokodemo-door(透明转发)。

传输层(Transport / StreamSettings)

  • tcp(可叠加 Reality、TLS)
  • ws(WebSocket,常走 CDN)
  • h2(HTTP/2)
  • grpc(gRPC,多路复用,适合 CDN)
  • kcp(mKCP,UDP,弱网友好)
  • quic

Reality 是 Xray 的招牌:它不在传输层做 TLS,而是”借用真实目标的 TLS 握手”完成认证(详见《主流代理协议技术详解》2.1 节)。


5. 配置模型(JSON)

Xray 配置是单一 JSON 文件,核心字段:

{
  "log": { "loglevel": "warning" },
  "inbounds": [ /* 本地入口:socks/http/dokodemo */ ],
  "outbounds": [ /* 代理出口:vless/trojan/ss + streamSettings */ ],
  "routing": {
    "rules": [ /* 基于 domain/ip/protocol/port 的分流规则 */ ]
  },
  "dns": { /* 独立 DNS 引擎 */ },
  "policy": { /* 限速/统计 */ },
  "observation": { /* 流量观测 */ }
}

学习要点

  • outbounds[].streamSettings 是”抗封锁能力”的开关所在(Reality / TLS / ws 等都在这里配)。
  • routing.rules 支持按 domainipportprotocolsource 分流,可引用 geosite / geoip 数据库。
  • 多出站 + 路由规则,是”国内外分流""广告拦截”等能力的实现基础。

6. 关键能力

  1. Reality(抗主动探测):面对探测表现得像真实网站的 TLS 会话。
  2. Vision 流控:传输层透传内层 TLS,降低 TLS-in-TLS 特征 + 省 CPU。
  3. XHTTP:把代理流量拆成多个真实 HTTP 请求,适配 CDN / 高审查。
  4. 路由与 DNS 独立模块:支持按域名/IP 精细分流、DNS 污染对抗。
  5. 多入站:SOCKS + HTTP + 透明代理可同时开。

7. 典型使用形态

  • 桌面:v2rayN(Windows)/ v2rayNG(Android)导入订阅或手动 JSON。
  • 路由器:OpenWrt + passwall,全家流量走 Xray 透明代理。
  • 链式:Xray 作为”入口抗封锁节点”,后端接其他高性能核心。

8. 横向对比(与 sing-box / mihomo)

维度Xray-coresing-boxmihomo
协议广度中(V2Ray 系为主)最广广(偏 Clash 系)
抗封锁旗舰Reality/Vision支持但非原生首发支持(借 Xray 思路)
配置格式JSONJSONYAML
路由风格规则路由规则路由 + 强 DNS规则组(proxy-group)
生态定位抗封锁前沿统一全能核心规则分流体验最佳

9. 学习建议

  • 想理解 Reality / Vision 的底层机制,Xray 是必读源码(XTLS/Xray-core)。
  • 配合官方文档的 features 章节,逐个对照 streamSettings 的每种传输差异。
  • v2rayN 的”生成配置”功能反向学习:GUI 生成的就是标准 JSON,是最好的对照教材。

相关笔记

本系列属于「代理协议与核心实现」知识簇: