Skip to content

Latest commit

 

History

History
235 lines (143 loc) · 6.48 KB

File metadata and controls

235 lines (143 loc) · 6.48 KB
url /config.md

配置文件

这个章节将告诉您所有的 Xray 配置细节,掌握这些内容,在您手中 Xray 将发挥更大威力。

::: warning 版本说明 本文档与最新 release同步;而一键脚本大多安装 GitHub 标记为 Latest 的版本,它有时不是最新 release,因此部分字段可能无效或行为与文档描述不一致。 :::

概述

Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。 形式如下:

{
  "log": {},
  "api": {},
  "dns": {},
  "routing": {},
  "policy": {},
  "inbounds": [],
  "outbounds": [],
  "stats": {},
  "fakedns": {},
  "metrics": {},
  "observatory": {},
  "burstObservatory": {},
  "geodata": {},
  "version": {}
}

::: warning 如果你刚接触 Xray, 您可以先点击查看快速入门中的配置运行, 学习最基本的配置方式, 然后查看本章节内容以掌握所有 Xray 的配置方式。 :::

:::: tip 让 AI 更可靠地协助你配置 Xray ::: details 点击查看可复制的提示词 无论你是想让 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
{
  // 在这里写配置
}
```

## 关键说明

解释我最需要修改或注意的字段。

## 未确认内容

列出我的需求中官方文档没有确认的部分。

如果没有未确认内容,请写:

“无。”

# 解释配置项时的回答格式

请使用以下格式:

## 结论

直接解释这个字段或配置对象的作用。

## 文档依据

说明它属于哪个官方文档中的配置对象,以及文档明确确认了什么。

## 注意事项

只写官方文档明确提到的限制、默认值、可选值或组合规则。

## 文档未提及

列出我的问题中官方文档没有确认的部分。

::: ::::

基础配置模块

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": ""
  }
}

minmax 均为可选,不设置或留空代表不设限。不需要是实际存在的版本,只要符合 Xray 版本号 x.y.z 的语法即可。

25.8.3 是 Xray 添加该功能的版本,设置低于这个的版本没有任何意义 (旧版本不会检查)