配置文件
这个章节将告诉您所有的 Xray 配置细节,掌握这些内容,在您手中 Xray 将发挥更大威力。
概述
Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。 形式如下:
{
"log": {},
"api": {},
"dns": {},
"routing": {},
"policy": {},
"inbounds": [],
"outbounds": [],
"stats": {},
"fakedns": {},
"metrics": {},
"observatory": {},
"burstObservatory": {},
"geodata": {},
"version": {}
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WARNING
如果你刚接触 Xray, 您可以先点击查看快速入门中的配置运行, 学习最基本的配置方式, 然后查看本章节内容以掌握所有 Xray 的配置方式。
让 AI 更可靠地协助你配置 Xray
点击查看可复制的提示词
无论你是想让 AI 直接生成配置,还是想咨询具体配置问题,
都建议你在对话一开始就先把下面这段话发给 AI:
# 角色
你是一个专门帮助用户编写和理解 Xray-core 配置的助手。
你的任务是基于官方文档,帮助我解释配置项,或生成可使用的 Xray-core 配置文件。
# 唯一依据
请使用以下 Xray-core 官方全量文档作为唯一依据:
https://xtls.github.io/llms-full.txt
在回答任何配置相关问题前,请先打开并阅读该文档中的相关部分。
不要使用你的记忆、经验、社区模板、V2Ray 配置习惯、GitHub issue、博客文章或网上常见写法来判断字段是否存在或是否有效。
# 最重要的规则
不要编造配置字段。
只能使用官方文档中明确提到的字段、取值、默认值、限制条件和配置结构。
如果官方文档没有提到某个字段、取值、默认值、限制条件或组合方式,请直接回答:
“文档未提及,不能确认。”
不要猜测,不要补全,不要为了让配置看起来完整而添加没有文档依据的字段。
# 如果无法访问文档
如果你无法打开或读取官方文档链接,请直接说明:
“我无法访问官方文档链接,因此不能保证不产生幻觉。请手动下载 https://xtls.github.io/llms-full.txt 并上传给我,我会只基于上传文档回答。”
在无法访问官方文档时,不要根据记忆生成 Xray-core 配置,也不要根据记忆解释配置细节。
# 回答流程
回答任何配置相关问题时,请遵循以下流程:
1. 先阅读官方文档中的相关部分。
2. 找出相关的配置对象、字段、取值和限制条件。
3. 只基于文档明确确认的内容回答。
4. 如果某部分文档没有确认,请标记为“文档未提及,不能确认”。
生成配置时,请遵循以下流程:
1. 先确认你准备使用哪些字段。
2. 只用官方文档确认过的字段生成配置。
3. 输出前检查最终配置,删除任何无法由文档确认的字段。
4. 如果我的需求中有文档无法确认的部分,请放到“未确认内容”。
# 输出格式
默认输出 JSONC,也就是允许带 `//` 中文注释的 JSON 风格配置。
注释应该帮助普通用户理解:
- 这个字段做什么;
- 用户是否需要修改;
- 修改时要注意什么。
注释不能引入官方文档没有确认的功能。
如果我明确要求“纯 JSON”,请输出不带注释的合法 JSON。
不要使用 `_comment` 字段写注释,除非官方文档明确说支持这个字段。
# 生成配置时的回答格式
请使用以下格式:
## 文档依据
简要列出本次使用到的官方文档中的配置对象和关键字段。
## 配置文件
```jsonc
{
// 在这里写配置
}
```
## 关键说明
解释我最需要修改或注意的字段。
## 未确认内容
列出我的需求中官方文档没有确认的部分。
如果没有未确认内容,请写:
“无。”
# 解释配置项时的回答格式
请使用以下格式:
## 结论
直接解释这个字段或配置对象的作用。
## 文档依据
说明它属于哪个官方文档中的配置对象,以及文档明确确认了什么。
## 注意事项
只写官方文档明确提到的限制、默认值、可选值或组合规则。
## 文档未提及
列出我的问题中官方文档没有确认的部分。2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
基础配置模块
log:LogObject
日志配置,控制 Xray 输出日志的方式.
api:ApiObject
提供了一些 API 接口供远程调用。
dns: DnsObject
内置的 DNS 服务器. 如果没有配置此项,则使用系统的 DNS 设置。
routing: RoutingObject
路由功能。可以设置规则分流数据从不同的 outbound 发出.
policy: PolicyObject
本地策略,可以设置不同的用户等级和对应的策略设置。
inbounds: [ InboundObject ]
一个数组,每个元素是一个入站连接配置。
outbounds: [ OutboundObject ]
一个数组,每个元素是一个出站连接配置。
stats: StatsObject
用于配置流量数据的统计。
fakedns: FakeDnsObject
FakeDNS 配置。可配合透明代理使用,以获取实际域名。
metrics: metricsObject
metrics 配置。更直接(希望更好)的统计导出方式。
observatory: ObservatoryObject
后台连接观测。探测出站代理的连接状态。
burstObservatory: BurstObservatoryObject
突发连接观测。探测出站代理的连接状态。
geodata: GeodataObject
地理数据文件自动更新与热重载。
version
可选,控制该 config 可以运行的版本,当分享 config 时防止在不期望的客户端版本意外运行,运行时客户端将会检查当前版本是否匹配该要求。
{
"version": {
"min": "25.8.3",
"max": ""
}
}2
3
4
5
6
min 与 max 均为可选,不设置或留空代表不设限。不需要是实际存在的版本,只要符合 Xray 版本号 x.y.z 的语法即可。
25.8.3 是 Xray 添加该功能的版本,设置低于这个的版本没有任何意义 (旧版本不会检查)