Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions docs/config/dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@
Xray 内置的 DNS 模块,主要有三大用途:

- 在路由阶段,解析域名为 IP, 并且根据域名解析得到的 IP 进行规则匹配以分流。是否解析域名及分流和路由配置模块中 `domainStrategy` 的值有关,只有在设置以下两种值时,才会使用内置 DNS 服务器进行 DNS 查询:

- "IPIfNonMatch", 请求一个域名时,进行路由里面的 domain 进行匹配,若无法匹配到结果,则对这个域名使用内置 DNS 服务器进行 DNS 查询,并且使用查询返回的 IP 地址再重新进行 IP 路由匹配。
- "IPOnDemand", 当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配。

- 解析目标地址进行连接。

- 如 在 `freedom` 出站中,将 `domainStrategy` 设置为 `UseIP`, 由此出站发出的请求, 会先将域名通过内置服务器解析成 IP, 然后进行连接。
- 如 在 `sockopt` 中,将 `domainStrategy` 设置为 `UseIP`, 此出站发起的系统连接,将先由内置服务器解析为 IP, 然后进行连接。

Expand Down
17 changes: 9 additions & 8 deletions docs/config/inbound.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,18 @@

> `sniffing`: [SniffingObject](#sniffingobject)

流量探测主要作用于在透明代理等用途.
比如一个典型流程如下:
流量探测主要作用于在透明代理等用途,比如一个典型流程如下:

1. 如有一个设备上网,去访问 abc.com,首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4,然后设备会向 1.2.3.4 去发起连接.
2. 如果不设置嗅探,Xray 收到的连接请求是 1.2.3.4,并不能用于域名规则的路由分流.
3. 当设置了 sniffing 中的 enable 为 true,Xray 处理此连接的流量时,会从流量的数据中,嗅探出域名,即 abc.com
4. Xray 会把 1.2.3.4 重置为 abc.com.路由就可以根据域名去进行路由的域名规则的分流
1. 如有一个设备上网去访问 abc.com首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4, 然后设备会向 1.2.3.4 去发起连接
2. 如果不设置嗅探Xray 收到的连接请求是 1.2.3.4, 并不能用于域名规则的路由分流
3. 当设置了 sniffing 中的 enable 为 trueXray 处理此连接的流量时会从流量的数据中嗅探出域名即 abc.com
4. Xray 会把 1.2.3.4 重置为 abc.com路由就可以根据域名去进行路由的域名规则的分流

因为变成了一个向 abc.com 请求的连接, 就可以做更多的事情, 除了路由域名规则分流, 还能重新做 DNS 解析等其他工作.
因为变成了一个向 abc.com 请求的连接就可以做更多的事情除了路由域名规则分流还能重新做 DNS 解析等其他工作

当设置了 sniffing 中的 enable 为 true, 还能嗅探出 bittorrent 类型的流量, 然后可以在路由中配置"protocol"项来设置规则处理 BT 流量, 比如服务端用来拦截 BT 流量, 或客户端固定转发 BT 流量到某个 VPS 去等.
当设置了 sniffing 中的 enable 为 true,还能嗅探出 bittorrent 类型的流量,然后可以在路由中配置 "protocol" 项来设置规则处理未加密的 BT 流量,比如服务端用来拦截未加密的 BT 流量,或客户端固定转发 BT 流量到某个 VPS 去等。

注意:随着 [ECH 标准](https://blog.cloudflare.com/zh-cn/announcing-encrypted-client-hello/) 的逐步应用,一些网站需要你劫持 DNS 后 [屏蔽 QType 65](./outbounds/dns.md) 才能被正确嗅探出来域名。

### SniffingObject

Expand Down
2 changes: 1 addition & 1 deletion docs/config/observatory.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

发起探测的间隔。时间格式为数字 + 单位,比如 `"10s"`, `"2h45m"`,支持的时间单位有 `ns`, `us`, `ms`, `s`, `m`, `h`, 分别对应纳秒、微秒、毫秒、秒、分、时。

注意,由于请求间隔是固定的,隔段时间固定的请求可能会导致存在行为特征,使用带有多路复用的协议或者启用 mux 可以缓解问题
注意,由于请求间隔是固定的,隔段时间固定的请求可能会导致存在行为特征,使用自带多路复用的协议可以缓解问题。如果使用 reality + mux 探测目标必须是 http 协议否则会带来新的 TLS in TLS 特征

> `enableConcurrency`: true | false

Expand Down
8 changes: 5 additions & 3 deletions docs/config/outbounds/dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ DNS 是一个出站协议,主要用于拦截和转发 DNS 查询。

> `blockTypes`: array

为一个int数组,屏蔽数组中的查询类型,如 `"blockTypes":[65,28]` 表示屏蔽type 65(HTTPS) 和 28(AAAA)
为一个 int 数组,屏蔽数组中的查询类型,如 `"blockTypes": [65,28]` 表示屏蔽 type 65(HTTPS) 和 28(AAAA)

由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽A或者AAAA来屏蔽 ipv4/ipv6 查询, 但非常不推荐那么做,建议在内置DNS的 `queryStrategy` 对相关内容进行设置。
由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽 A 或者 AAAA 来屏蔽 IPv4/IPv6 查询但非常不推荐那么做,建议在内置 DNS 的 `queryStrategy` 对相关内容进行设置。

注:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃
注意:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃。

提示:现代浏览器会发送 type 65(HTTPS) 查询,如果目标网站启用了 ECH 你将无法通过嗅探域名来分流,屏蔽 65 和浏览器的 DoH 后可解决问题。但这又会使得原本被 ECH 保护隐私的网站降低私密程度,因为 ISP 现在又有能力嗅探到你的访问意图。

## DNS 配置实例 <Badge text="WIP" type="warning"/>
1 change: 0 additions & 1 deletion docs/ru/config/inbounds/vless.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ VLESS - это легкий транспортный протокол без с
- Отсутствует `flow` или пустая строка: используется обычный TLS-прокси
- `xtls-rprx-vision`: используется новый режим XTLS, включает случайное заполнение внутреннего рукопожатия


> `clients`: \[ [ClientObject](#clientobject) \]

Массив, представляющий группу пользователей, одобренных сервером.
Expand Down
1 change: 0 additions & 1 deletion docs/ru/config/outbounds/vless.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ XTLS доступен только в следующих комбинациях
- TCP+TLS/Reality В этом случае зашифрованные данные копируются напрямую на низком уровне (если передается TLS 1.3).
- VLESS Encryption Нет ограничений на транспорт нижнего уровня; если транспорт не поддерживает прямое копирование (см. выше), то выполняется только проброс Encryption.


<!-- prettier-ignore -->
::: tip О режимах управления потоком xtls-rprx-*-udp443

Expand Down
1 change: 0 additions & 1 deletion docs/ru/config/transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ Reality — это самое безопасное на данный момен
В частности, если клиент устанавливает его в IP-адрес, Xray не будет отправлять SNI, и для использования этой функции также необходимо включить `allowInsecure`.
:::


> `verifyPeerCertInNames`: \[ string \]

Только для клиента. Список SNI, используемый для проверки сертификата (достаточно, чтобы хотя бы один SAN из сертификата находился в этом списке). Этот список переопределит `serverName`, который используется для проверки, и предназначен для особых целей, таких как domain fronting. По сравнению с предыдущим методом изменения `serverName` и включения `allowInsecure`, этот способ более безопасен, так как он по-прежнему выполняет проверку подписи сертификата.
Expand Down
Loading