配置参考
简介
本文提供 Xray-core JSON 配置的完整参考,覆盖所有核心配置段的字段说明和语义。
本文在项目中的位置
本文处于参考层,用于查阅配置字段含义。
适合读者
所有需要编写或理解 Xray-core 配置文件的读者。
前置知识
已阅读 快速上手,了解基本配置结构。
文章理解难度
入门(以查阅为主)。
配置根结构
json
{
"log": {}, // 日志配置
"api": {}, // API 配置
"dns": {}, // DNS 配置
"routing": {}, // 路由配置
"policy": {}, // 策略配置
"inbounds": [], // 入站配置数组
"outbounds": [], // 出站配置数组
"transport": {}, // 传输层全局配置
"stats": {}, // 统计配置
"reverse": {}, // 反向代理配置
"metrics": {}, // 指标配置
"observatory": {} // 观测配置
}Log 配置
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
loglevel | string | "warning" | 日志级别:debug, info, warning, error, none |
access | string | 无 | 访问日志文件路径 |
error | string | 无 | 错误日志文件路径 |
dnsLog | bool | false | 是否记录 DNS 查询日志 |
Inbound 通用配置
每个 Inbound 对象的基础结构:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
listen | string | 否 | 监听地址,默认为 "0.0.0.0" |
port | number | 是 | 监听端口 |
protocol | string | 是 | 协议:vless, vmess, trojan, shadowsocks, socks, http, dokodemo, tun |
settings | object | 是 | 协议特定配置 |
streamSettings | object | 否 | 传输层配置 |
sniffing | object | 否 | 流量嗅探配置 |
tag | string | 否 | 入站标签(用于路由规则) |
StreamSettings 配置
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
network | string | "tcp" | 传输协议:tcp, ws, kcp, grpc, httpupgrade, splithttp |
security | string | "none" | 传输安全:none, tls, reality |
tlsSettings | object | 无 | security 为 tls 时的 TLS 配置 |
realitySettings | object | 无 | security 为 reality 时的 REALITY 配置 |
tcpSettings | object | 无 | network 为 tcp 时的 TCP 配置 |
wsSettings | object | 无 | network 为 ws 时的 WebSocket 配置 |
kcpSettings | object | 无 | network 为 kcp 时的 KCP 配置 |
grpcSettings | object | 无 | network 为 grpc 时的 gRPC 配置 |
REALITY Settings(服务端)
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
show | bool | false | 输出调试信息到 stdout |
target | string | 必填 | 回落目标地址 host:port |
type | string | 自动 | 回落目标类型(tcp/h2c/grpc/unix) |
xver | number | 0 | PROXY protocol 版本 |
serverNames | []string | 必填 | 客户端可用的 SNI 列表 |
privateKey | bytes | 必填 | X25519 私钥(Base64,由 xray x25519 生成) |
minClientVer | bytes | 无 | 客户端最低版本 x.y.z |
maxClientVer | bytes | 无 | 客户端最高版本 x.y.z |
maxTimeDiff | number | 0 | 允许的最大时间差(毫秒),0=不检查 |
shortIds | []bytes | 必填 | 允许的 ShortId 列表 |
mldsa65Seed | bytes | 无 | ML-DSA-65 后量子签名种子 |
limitFallbackUpload | object | 无 | 回落连接的上传限速 |
limitFallbackDownload | object | 无 | 回落连接的下载限速 |
REALITY Settings(客户端)
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
show | bool | false | 输出调试信息 |
fingerprint | string | "chrome" | uTLS 浏览器指纹 |
serverName | string | dest 地址 | SNI 域名 |
publicKey | bytes | 必填 | 服务端 X25519 公钥 |
shortId | bytes | 必填 | 客户端 ShortId |
mldsa65Verify | bytes | 无 | ML-DSA-65 验证公钥 |
spiderX | string | "/" | 爬虫初始路径 |
spiderY | []int64 | 默认值 | 爬虫参数数组 |
VLESS Inbound Settings
| 字段 | 类型 | 说明 |
|---|---|---|
clients | array | 用户列表 |
clients[].id | string | 用户 UUID |
clients[].flow | string | 流控模式(空或 "xtls-rprx-vision") |
clients[].email | string | 用户备注(可选) |
decryption | string | "none" |
fallbacks | array | 回落目标列表 |
Fallback 配置
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 基于 SNI 的匹配(可选) |
alpn | string | 基于 ALPN 的匹配(可选) |
path | string | 基于 HTTP 路径的匹配(可选) |
dest | string/number | 回落目标(地址或端口) |
xver | number | PROXY protocol 版本(0/1/2) |
Sniffing 配置
| 字段 | 类型 | 说明 |
|---|---|---|
enabled | bool | 是否启用流量嗅探 |
destOverride | []string | 覆写目标的协议列表:http, tls, quic, faketls |
metadataOnly | bool | 仅嗅探元数据(不解析内容) |
routeOnly | bool | 仅用于路由决策(不修改目标地址) |
Routing 配置
| 字段 | 类型 | 说明 |
|---|---|---|
domainStrategy | string | 域名策略:AsIs, IPIfNonMatch, IPOnDemand |
rules | array | 路由规则列表 |
路由规则
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | "field" |
domain | []string | 域名匹配:完全匹配、domain: 前缀、regexp: 正则、geosite: 分类 |
ip | []string | IP 匹配:CIDR、geoip: 地理位置 |
port | string | 端口匹配:单端口或范围 |
sourcePort | string | 源端口匹配 |
network | string | 网络类型:tcp, udp |
source | []string | 源 IP 地址 |
user | []string | 用户邮箱/等级 |
inboundTag | []string | 入站标签匹配 |
protocol | []string | 协议匹配:http, tls, bittorrent |
attrs | object | 额外属性匹配 |
outboundTag | string | 匹配时使用的出站标签 |
balancerTag | string | 匹配时使用的负载均衡器标签 |
DNS 配置
| 字段 | 类型 | 说明 |
|---|---|---|
hosts | object | 静态域名-IP 映射 |
servers | array | DNS 服务器列表 |
servers[].address | string | DNS 服务器地址 |
servers[].port | number | 端口 |
servers[].domains | []string | 此服务器负责的域名(支持 geosite) |
servers[].expectIPs | []string | 期望的 IP 范围(geoip 过滤) |
servers[].skipFallback | bool | 跳过回落 |
clientIp | string | EDNS-Client-Subnet IP |
queryStrategy | string | 查询策略:UseIP, UseIPv4, UseIPv6 |
disableCache | bool | 禁用 DNS 缓存 |
disableFallback | bool | 禁用 DNS Fallback(当匹配不到时) |
disableFallbackIfMatch | bool | 匹配到域名后禁用 Fallback |
tag | string | DNS 入站的标签 |
Policy 配置
| 字段 | 类型 | 说明 |
|---|---|---|
levels | object | 按用户等级配置策略 |
system | object | 系统级策略 |
策略项
| 字段 | 类型 | 说明 |
|---|---|---|
handshake | number | 连接握手的最大秒数 |
connIdle | number | 连接空闲的最大秒数 |
uplinkOnly | number | 仅上行连接的超时秒数 |
downlinkOnly | number | 仅下行连接的超时秒数 |
statsUserUplink | bool | 是否统计用户上行流量 |
statsUserDownlink | bool | 是否统计用户下行流量 |
bufferSize | number | 每个连接的内部缓冲区大小 (KB) |
外部参考资料
资料:Project X 官方配置文档 类型:官方文档 链接:https://xtls.github.io/config/ 可信度:A
验证矩阵
| 文档 | 关键结论 | 验证方式 | 状态 |
|---|---|---|---|
getting-started.md | REALITY 配置可正常运行 | 运行 xray run 启动服务 | 未验证 |
architecture.md | 请求流经 Dispatcher → Router → Outbound | 源码追踪 | 已验证 |
protocols/reality.md | Session ID 嵌入认证信息 | 源码代码块 | 已验证 |
protocols/vless.md | VLESS 协议头格式 | 源码代码块 | 已验证 |
protocols/xtls.md | Vision 读取前 5 字节判断 TLS | 源码代码块 | 已验证 |
background/tls-fingerprinting.md | JA3/JA4 算法 | 外部资料 | 已验证 |
background/gfw-censorship.md | GFW 主动探测和被动检测机制 | USENIX Security 论文 | 已验证 |