mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-19 17:21:41 +03:00
Chore: fix format
This commit is contained in:
parent
8a0c7d76e8
commit
e0c0332477
@ -39,16 +39,16 @@ footer: Licensed under CC-BY-SA 4.0 | Copyright 2020-Present Project X Community
|
|||||||
|
|
||||||
**XTLS are brilliant ideas for TLS we study, while Xray is the best practice we maintain.**
|
**XTLS are brilliant ideas for TLS we study, while Xray is the best practice we maintain.**
|
||||||
|
|
||||||
- Xray-core 是 v2ray-core 的超集,含更好的整体性能和 XTLS 等一系列增强,且完全兼容 v2ray-core 的功能及配置。
|
- Xray-core 是 v2ray-core 的超集,含更好的整体性能和 XTLS 等一系列增强,且完全兼容 v2ray-core 的功能及配置。
|
||||||
- 只有一个可执行文件,含 ctl 的功能,run 为默认指令
|
- 只有一个可执行文件,含 ctl 的功能,run 为默认指令
|
||||||
- 配置上完全兼容,环境变量和 API 对应要改为以 XRAY_ 开头
|
- 配置上完全兼容,环境变量和 API 对应要改为以 XRAY_ 开头
|
||||||
- 全平台开放了裸协议的 ReadV
|
- 全平台开放了裸协议的 ReadV
|
||||||
- 提供完整的 VLESS & Trojan XTLS 支持,均有 ReadV
|
- 提供完整的 VLESS & Trojan XTLS 支持,均有 ReadV
|
||||||
- 提供了 XTLS 多种流控模式, 性能一骑绝尘!
|
- 提供了 XTLS 多种流控模式, 性能一骑绝尘!
|
||||||
|
|
||||||
> “配置兼容,整体更好”
|
> “配置兼容,整体更好”
|
||||||
|
|
||||||
- Xray-flutter 是一个优雅的跨平台图形界面工具. <Badge text="WIP" type="warning"/>
|
- Xray-flutter 是一个优雅的跨平台图形界面工具. <Badge text="WIP" type="warning"/>
|
||||||
|
|
||||||
### 我们是谁?
|
### 我们是谁?
|
||||||
|
|
||||||
@ -58,8 +58,8 @@ footer: Licensed under CC-BY-SA 4.0 | Copyright 2020-Present Project X Community
|
|||||||
|
|
||||||
欢迎帮助Xray变得更强!
|
欢迎帮助Xray变得更强!
|
||||||
- 🖥️ 帮助开发和测试 Xray, 提交高质量的 Pull request.
|
- 🖥️ 帮助开发和测试 Xray, 提交高质量的 Pull request.
|
||||||
- 📩 在 [GitHub Issues](https://github.com/XTLS/Xray-core/issues) 或[讨论区](https://github.com/XTLS/Xray-core/discussions)发起建设性或有意义的 issue/讨论.
|
- 📩 在 [GitHub Issues](https://github.com/XTLS/Xray-core/issues) 或 [讨论区](https://github.com/XTLS/Xray-core/discussions)发起建设性或有意义的 issue 与 discussion.
|
||||||
- 📝 写下您的使用心得并提交至 Xray 的[文档网站](https://github.com/XTLS/XTLS.github.io).
|
- 📝 写下您的使用心得并提交至 Xray 的 [文档网站](https://github.com/XTLS/XTLS.github.io).
|
||||||
- 💬 在 Telegram 群帮助群友/灌水.
|
- 💬 在 Telegram 群帮助群友/灌水.
|
||||||
- **...事实上,每一份对 Xray 的支持都会让 Xray 变得更强大**
|
- **...事实上,每一份对 Xray 的支持都会让 Xray 变得更强大**
|
||||||
|
|
||||||
@ -68,10 +68,10 @@ footer: Licensed under CC-BY-SA 4.0 | Copyright 2020-Present Project X Community
|
|||||||
- [Project X 交流群](https://t.me/projectXray)
|
- [Project X 交流群](https://t.me/projectXray)
|
||||||
- 交流群可在底线之上随便水,不要撕逼,没有滥权。
|
- 交流群可在底线之上随便水,不要撕逼,没有滥权。
|
||||||
- 有问题尽管随便问,知道的尽量回答。
|
- 有问题尽管随便问,知道的尽量回答。
|
||||||
- 禁政治,禁NSFW
|
- 禁政治,禁 NSFW
|
||||||
|
|
||||||
- [Project X 频道](https://t.me/projectXtls)
|
- [Project X 频道](https://t.me/projectXtls)
|
||||||
- 发布Project X的最新资讯
|
- 发布 Project X 的最新资讯
|
||||||
|
|
||||||
### 致谢
|
### 致谢
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ API接口配置提供了一些基于 [gRPC](https://grpc.io/)的 API 接口供
|
|||||||
|
|
||||||
可以通过api配置模块开启接口. 当api配置开启时,Xray 会自建一个出站代理,须手动将所有的 API 入站连接通过 [路由规则配置](./routing.md) 指向这一出站代理。
|
可以通过api配置模块开启接口. 当api配置开启时,Xray 会自建一个出站代理,须手动将所有的 API 入站连接通过 [路由规则配置](./routing.md) 指向这一出站代理。
|
||||||
|
|
||||||
请参考本节中的[相关配置](#相关配置)
|
请参考本节中的 [相关配置](#相关配置)
|
||||||
|
|
||||||
::: warning
|
::: warning
|
||||||
大多数用户并不会用到此 API,新手可以直接忽略这一项。
|
大多数用户并不会用到此 API,新手可以直接忽略这一项。
|
||||||
|
@ -69,10 +69,10 @@ DNS 服务器的处理流程示意图如下:
|
|||||||
|
|
||||||
域名的格式有以下几种形式:
|
域名的格式有以下几种形式:
|
||||||
|
|
||||||
- 纯字符串:当此字符串完整匹配目标域名时,该规则生效。例如 "xray.com" 匹配"xray.com" 但不匹配"www.xray.com"。
|
- 纯字符串:当此字符串完整匹配目标域名时,该规则生效。例如 "xray.com" 匹配 "xray.com",但不匹配 "www.xray.com"。
|
||||||
- 正则表达式:由 `"regexp:"` 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 "regexp:\\\\.goo.\*\\\\.com$" 匹配"www.google.com"或 "fonts.googleapis.com",但不匹配 "google.com"。
|
- 正则表达式:由 `"regexp:"` 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 "regexp:\\\\.goo.\*\\\\.com$" 匹配 "www.google.com"、"fonts.googleapis.com",但不匹配 "google.com"。
|
||||||
- 子域名 (推荐):由 `"domain:"` 开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 “domain:xray.com” 匹配"www.xray.com"、“xray.com”,但不匹配 “wxray.com”。
|
- 子域名 (推荐):由 `"domain:"` 开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 "domain:xray.com" 匹配 "www.xray.com" 与 "xray.com",但不匹配 "wxray.com"。
|
||||||
- 子串:由 `"keyword:"` 开始,余下部分是一个字符串。当此字符串匹配目标域名中任意部分,该规则生效。比如 "keyword:sina.com" 可以匹配"sina.com"、"sina.com.cn" 和"www.sina.com",但不匹配 "sina.cn"。
|
- 子串:由 `"keyword:"` 开始,余下部分是一个字符串。当此字符串匹配目标域名中任意部分,该规则生效。比如 "keyword:sina.com" 可以匹配 "sina.com"、"sina.com.cn" 和 "www.sina.com",但不匹配 "sina.cn"。
|
||||||
- 预定义域名列表:由 `"geosite:"` 开头,余下部分是一个名称,如 `geosite:google` 或者 `geosite:cn`。名称及域名列表参考 [预定义域名列表](./routing.md#预定义域名列表)。
|
- 预定义域名列表:由 `"geosite:"` 开头,余下部分是一个名称,如 `geosite:google` 或者 `geosite:cn`。名称及域名列表参考 [预定义域名列表](./routing.md#预定义域名列表)。
|
||||||
|
|
||||||
>`servers`: \[string | [ServerObject](#serverobject) \]
|
>`servers`: \[string | [ServerObject](#serverobject) \]
|
||||||
|
@ -59,14 +59,14 @@ VLESS 会把 TLS 解密后首包长度 < 18 或协议版本无效、身份认证
|
|||||||
注意:fallbacks alpn 存在 `"h2"` 时,[Inbound TLS](../transport.md#tlsobject) 需设置 `"alpn":["h2","http/1.1"]`,以支持 h2 访问。
|
注意:fallbacks alpn 存在 `"h2"` 时,[Inbound TLS](../transport.md#tlsobject) 需设置 `"alpn":["h2","http/1.1"]`,以支持 h2 访问。
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
Fallback 内设置的 "alpn" 是匹配实际协商出的 ALPN,而 Inbound TLS 设置的 "alpn" 是握手时可选的 ALPN 列表,两者含义不同。
|
Fallback 内设置的 `alpn` 是匹配实际协商出的 ALPN,而 Inbound TLS 设置的 `alpn` 是握手时可选的 ALPN 列表,两者含义不同。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
> `path`: string
|
> `path`: string
|
||||||
|
|
||||||
尝试匹配首包 HTTP PATH,空为任意,默认为空,非空则必须以 `"/"` 开头,不支持 h2c。
|
尝试匹配首包 HTTP PATH,空为任意,默认为空,非空则必须以 `/` 开头,不支持 h2c。
|
||||||
|
|
||||||
智能:有需要时,VLESS 才会尝试看一眼 PATH(不超过 55 个字节;最快算法,并不完整解析 HTTP),若成功,输出 info `realPath =` 到日志。
|
智能:有需要时,VLESS 才会尝试看一眼 PATH(不超过 55 个字节;最快算法,并不完整解析 HTTP),若成功,输出 INFO 日志 `realPath =`。
|
||||||
用途:分流其它 inbound 的 WebSocket 流量或 HTTP 伪装流量,没有多余处理、纯粹转发流量,理论性能比 Nginx 更强。
|
用途:分流其它 inbound 的 WebSocket 流量或 HTTP 伪装流量,没有多余处理、纯粹转发流量,理论性能比 Nginx 更强。
|
||||||
|
|
||||||
注意:**fallbacks 所在入站本身必须是 TCP+TLS**,这是分流至其它 WS 入站用的,被分流的入站则无需配置 TLS。
|
注意:**fallbacks 所在入站本身必须是 TCP+TLS**,这是分流至其它 WS 入站用的,被分流的入站则无需配置 TLS。
|
||||||
@ -76,7 +76,7 @@ Fallback 内设置的 "alpn" 是匹配实际协商出的 ALPN,而 Inbound TLS
|
|||||||
决定 TLS 解密后 TCP 流量的去向,目前支持两类地址:(该项必填,否则无法启动)
|
决定 TLS 解密后 TCP 流量的去向,目前支持两类地址:(该项必填,否则无法启动)
|
||||||
|
|
||||||
1. TCP,格式为 `"addr:port"`,其中 addr 支持 IPv4、域名、IPv6,若填写域名,也将直接发起 TCP 连接(而不走内置的 DNS)。
|
1. TCP,格式为 `"addr:port"`,其中 addr 支持 IPv4、域名、IPv6,若填写域名,也将直接发起 TCP 连接(而不走内置的 DNS)。
|
||||||
2. Unix domain socket,格式为绝对路径,形如 `"/dev/shm/domain.socket"`,可在开头加 `"@"` 代表 [abstract](https://www.man7.org/linux/man-pages/man7/unix.7.html),`"@@"` 则代表带 padding 的 abstract。
|
2. Unix domain socket,格式为绝对路径,形如 `"/dev/shm/domain.socket"`,可在开头加 `@` 代表 [abstract](https://www.man7.org/linux/man-pages/man7/unix.7.html),`@@` 则代表带 padding 的 abstract。
|
||||||
|
|
||||||
若只填 port,数字或字符串均可,形如 `80`、`"80"`,通常指向一个明文 http 服务(addr 会被补为 `"127.0.0.1"`)。
|
若只填 port,数字或字符串均可,形如 `80`、`"80"`,通常指向一个明文 http 服务(addr 会被补为 `"127.0.0.1"`)。
|
||||||
|
|
||||||
|
@ -41,6 +41,6 @@ Fallbacks 是 Xray 独创的新型协议回落模式解析, 可有效防止主
|
|||||||
|
|
||||||
|
|
||||||
## VLESS 分享链接标准
|
## VLESS 分享链接标准
|
||||||
感谢<img src="https://avatars2.githubusercontent.com/u/7822648?s=32" width="32px" height="32px" alt="a"/> [@DuckSoft](https://github.com/DuckSoft) 的提案!
|
感谢 <img src="https://avatars2.githubusercontent.com/u/7822648?s=32" width="32px" height="32px" alt="a"/> [@DuckSoft](https://github.com/DuckSoft) 的提案!
|
||||||
|
|
||||||
目前为初步提案, 详情请见[VMessAEAD / VLESS 分享链接标准提案](https://github.com/XTLS/Xray-core/issues/91)
|
目前为初步提案, 详情请见 [VMessAEAD / VLESS 分享链接标准提案](https://github.com/XTLS/Xray-core/issues/91)
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
可以指定一个系统可用的 IP 地址。
|
可以指定一个系统可用的 IP 地址。
|
||||||
|
|
||||||
支持填写 Unix domain socket,格式为绝对路径,形如 `"/dev/shm/domain.socket"`,可在开头加 `"@"` 代表 [abstract](https://www.man7.org/linux/man-pages/man7/unix.7.html),`"@@"` 则代表带 padding 的 abstract。
|
支持填写 Unix domain socket,格式为绝对路径,形如 `"/dev/shm/domain.socket"`,可在开头加 `@` 代表 [abstract](https://www.man7.org/linux/man-pages/man7/unix.7.html),`@@` 则代表带 padding 的 abstract。
|
||||||
|
|
||||||
填写 Unix domain socket 时,`port` 和 `allocate` 将被忽略,协议目前可选 VLESS、VMess、Trojan,传输方式可选 TCP、WebSocket、HTTP/2。
|
填写 Unix domain socket 时,`port` 和 `allocate` 将被忽略,协议目前可选 VLESS、VMess、Trojan,传输方式可选 TCP、WebSocket、HTTP/2。
|
||||||
|
|
||||||
@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
>`protocol`: string
|
>`protocol`: string
|
||||||
|
|
||||||
连接协议名称,可选的协议类型见[inbound 可用协议列表](./inbounds/)。
|
连接协议名称,可选的协议类型见 [inbound 可用协议列表](./inbounds/)。
|
||||||
|
|
||||||
>`settings`: InboundConfigurationObject
|
>`settings`: InboundConfigurationObject
|
||||||
|
|
||||||
@ -66,7 +66,7 @@
|
|||||||
此入站连接的标识,用于在其它的配置中定位此连接。
|
此入站连接的标识,用于在其它的配置中定位此连接。
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
当其不为空时,其值必须在所有 `tag` 中 **唯一**。
|
当其不为空时,其值必须在所有 `tag` 中**唯一**。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
>`sniffing`: [SniffingObject](#sniffingobject)
|
>`sniffing`: [SniffingObject](#sniffingobject)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Dokodemo Door
|
# Dokodemo-Door
|
||||||
|
|
||||||
Dokodemo door(任意门)可以监听一个本地端口,并把所有进入此端口的数据发送至指定服务器的一个端口,从而达到端口映射的效果。
|
Dokodemo door(任意门)可以监听一个本地端口,并把所有进入此端口的数据发送至指定服务器的一个端口,从而达到端口映射的效果。
|
||||||
|
|
||||||
@ -41,9 +41,9 @@ Dokodemo door(任意门)可以监听一个本地端口,并把所有进入
|
|||||||
|
|
||||||
> `userLevel`: number
|
> `userLevel`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值. 如不指定, 默认为 0。
|
||||||
|
|
||||||
## 透明代理配置样例
|
## 透明代理配置样例
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ HTTP 协议。
|
|||||||
**http 协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。**
|
**http 协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
`http inbound` 更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
`http` 入站更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
||||||
|
|
||||||
|
|
||||||
::: tip TIP 1
|
::: tip TIP 1
|
||||||
@ -57,9 +57,9 @@ HTTP 协议。
|
|||||||
|
|
||||||
> `userLevel`: number
|
> `userLevel`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
### AccountObject
|
### AccountObject
|
||||||
|
|
||||||
|
@ -54,9 +54,9 @@ Shadowsocks 协议不限制密码长度,但短密码会更可能被破解,
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
`level` 的值, 对应 [policy](../policy.md#levelpolicyobject) 中 level 的值. 如不指定, 默认为 0.
|
`level` 的值, 对应 [policy](../policy.md#levelpolicyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `network`: "tcp" | "udp" | "tcp,udp"
|
> `network`: "tcp" | "udp" | "tcp,udp"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
**socks 协议没有对传输加密,不适宜经公网中传输**
|
**socks 协议没有对传输加密,不适宜经公网中传输**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
`socks inbound` 更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
`socks` 入站更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
||||||
|
|
||||||
|
|
||||||
## InboundConfigurationObject
|
## InboundConfigurationObject
|
||||||
@ -54,9 +54,9 @@ Socks 协议的认证方式,支持 `"noauth"` 匿名方式和 `"password"` 用
|
|||||||
|
|
||||||
> `userLevel`: number
|
> `userLevel`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
|
|
||||||
### AccountObject
|
### AccountObject
|
||||||
|
@ -34,12 +34,12 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道
|
|||||||
|
|
||||||
> `fallbacks`: \[ [FallbackObject](../examples/fallback.md) \]
|
> `fallbacks`: \[ [FallbackObject](../examples/fallback.md) \]
|
||||||
|
|
||||||
一个数组,包含一系列强大的回落分流配置(可选)。<br>
|
一个数组,包含一系列强大的回落分流配置(可选)。
|
||||||
fallbacks 的具体配置请点击[FallbackObject](../examples/fallback.md#fallbacks-配置)
|
fallbacks 的具体配置请点击[FallbackObject](../examples/fallback.md#fallbacks-配置)
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
Xray 的 Trojan 有完整的 fallbacks 支持,配置方式完全一致。
|
Xray 的 Trojan 有完整的 fallbacks 支持,配置方式完全一致。
|
||||||
触发回落的条件也与VLESS类似:首包长度 < 58 或第 57 个字节不为 '\r'(因为 Trojan 没有协议版本)或身份认证失败。
|
触发回落的条件也与VLESS类似:首包长度 < 58 或第 57 个字节不为 `\r`(因为 Trojan 没有协议版本)或身份认证失败。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### ClientObject
|
### ClientObject
|
||||||
@ -67,9 +67,9 @@ Xray 的 Trojan 有完整的 fallbacks 支持,配置方式完全一致。
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `flow`: string
|
> `flow`: string
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值.
|
|||||||
|
|
||||||
目前入站协议中有以下流控模式可选:
|
目前入站协议中有以下流控模式可选:
|
||||||
|
|
||||||
- `xtls-rprx-origin`:最初的流控模式,此时客户端仅可选择 `xtls-rprx-origin` 和 `xtls-rprx-origin-udp443` 这两种流控模式。该模式纪念价值大于实际使用价值
|
- `xtls-rprx-origin`:最初的流控模式,此时客户端仅可选择 `xtls-rprx-origin` 和 `xtls-rprx-origin-udp443` 这两种流控模式。该模式纪念价值大于实际使用价值。
|
||||||
- `xtls-rprx-direct`:**推荐**,所有平台皆可使用的典型流控方式,此时客户端可选择任何流控模式
|
- `xtls-rprx-direct`:**推荐**,所有平台皆可使用的典型流控方式,此时客户端可选择任何流控模式
|
||||||
|
|
||||||
::: warning 注意
|
::: warning 注意
|
||||||
|
@ -47,7 +47,7 @@ decryption 和 vmess 协议的 encryption 的位置不同,是因为若套一
|
|||||||
> `fallbacks`: \[ [FallbackObject](../examples/fallback.md) \]
|
> `fallbacks`: \[ [FallbackObject](../examples/fallback.md) \]
|
||||||
|
|
||||||
一个数组,包含一系列强大的回落分流配置(可选)。
|
一个数组,包含一系列强大的回落分流配置(可选)。
|
||||||
fallbacks 的具体配置请点击[FallbackObject](../examples/fallback.md#fallbacks-配置)
|
fallbacks 的具体配置请点击 [FallbackObject](../examples/fallback.md#fallbacks-配置)
|
||||||
|
|
||||||
### ClientObject
|
### ClientObject
|
||||||
|
|
||||||
@ -64,10 +64,10 @@ fallbacks 的具体配置请点击[FallbackObject](../examples/fallback.md#fallb
|
|||||||
|
|
||||||
VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
||||||
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
||||||
- 写 "id": "我爱🍉老师1314",
|
- 写 `"id": "我爱🍉老师1314"`,
|
||||||
- 或写 "id": "5783a3e7-e373-51cd-8642-c83782b807c5" (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
- 或写 `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
||||||
|
|
||||||
其映射标准在[VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
其映射标准在 [VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
||||||
|
|
||||||
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID.
|
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID.
|
||||||
|
|
||||||
@ -75,9 +75,9 @@ VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `email`: string
|
> `email`: string
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如
|
|||||||
|
|
||||||
目前入站协议中有以下流控模式可选:
|
目前入站协议中有以下流控模式可选:
|
||||||
|
|
||||||
- `xtls-rprx-origin`:最初的流控模式,此时客户端仅可选择 `xtls-rprx-origin` 和 `xtls-rprx-origin-udp443` 这两种流控模式。该模式纪念价值大于实际使用价值
|
- `xtls-rprx-origin`:最初的流控模式,此时客户端仅可选择 `xtls-rprx-origin` 和 `xtls-rprx-origin-udp443` 这两种流控模式。该模式纪念价值大于实际使用价值。
|
||||||
- `xtls-rprx-direct`:**推荐**,所有平台皆可使用的典型流控方式,此时客户端可选择任何流控模式
|
- `xtls-rprx-direct`:**推荐**,所有平台皆可使用的典型流控方式,此时客户端可选择任何流控模式
|
||||||
|
|
||||||
::: warning 注意
|
::: warning 注意
|
||||||
|
@ -71,21 +71,21 @@ Vmess 的用户 ID,可以是任意小于30字节的字符串, 也可以是一
|
|||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
||||||
- 写 "id": "我爱🍉老师1314",
|
- 写 `"id": "我爱🍉老师1314"`,
|
||||||
- 或写 "id": "5783a3e7-e373-51cd-8642-c83782b807c5" (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
- 或写 `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
其映射标准在[VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
其映射标准在 [VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
||||||
|
|
||||||
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID.
|
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID。
|
||||||
|
|
||||||
> 也可以使用命令 `xray uuid` 生成随机的UUID.
|
> 也可以使用命令 `xray uuid` 生成随机的UUID.
|
||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `alterId`: number
|
> `alterId`: number
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如
|
|||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
客户端 AlterID 设置为 0 代表启用 VMessAEAD ;服务端为自动适配,可同时兼容启用和未开启 VMessAEAD 的客户端。
|
客户端 AlterID 设置为 0 代表启用 VMessAEAD ;服务端为自动适配,可同时兼容启用和未开启 VMessAEAD 的客户端。
|
||||||
客户端可通过设置环境变量 Xray_VMESS_AEAD_DISABLED=true 强行禁用 VMessAEAD
|
客户端可通过设置环境变量 `Xray_VMESS_AEAD_DISABLED=true` 强行禁用 VMessAEAD
|
||||||
:::
|
:::
|
||||||
|
|
||||||
> `email`: string
|
> `email`: string
|
||||||
@ -126,9 +126,9 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `alterId`: number
|
> `alterId`: number
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如
|
|||||||
|
|
||||||
为了进一步对抗可能的探测和封锁,每个 VMess 认证数据的服务端结构都会包含一个一次写入的玷污状态标记,初始状态为无瑕状态,当服务器检测到重放探测时或者因为其他原因入站连接出错以致校验数据不正确时,该连接所对应的请求认证数据会被玷污。
|
为了进一步对抗可能的探测和封锁,每个 VMess 认证数据的服务端结构都会包含一个一次写入的玷污状态标记,初始状态为无瑕状态,当服务器检测到重放探测时或者因为其他原因入站连接出错以致校验数据不正确时,该连接所对应的请求认证数据会被玷污。
|
||||||
|
|
||||||
被玷污的认证数据无法被用于建立连接,当攻击者或客户端使用被玷污的认证数据建立连接时,服务器会输出包含 "invalid user" "ErrTainted" 的错误信息,并阻止该连接。
|
被玷污的认证数据无法被用于建立连接,当攻击者或客户端使用被玷污的认证数据建立连接时,服务器会输出包含 `invalid user` `ErrTainted` 的错误信息,并阻止该连接。
|
||||||
|
|
||||||
当服务器没有受到重放攻击时,该机制对正常连接的客户端没有影响。
|
当服务器没有受到重放攻击时,该机制对正常连接的客户端没有影响。
|
||||||
|
|
||||||
|
@ -44,5 +44,4 @@ error 日志的级别, 指示 error 日志需要记录的信息.
|
|||||||
|
|
||||||
> `dnsLog`: bool
|
> `dnsLog`: bool
|
||||||
|
|
||||||
是否启用 DNS 查询日志,例如:
|
是否启用 DNS 查询日志,例如:`DOH//doh.server got answer: domain.com -> [ip1, ip2] 2.333ms`
|
||||||
`DOH//doh.server got answer: domain.com -> [ip1, ip2] 2.333ms`
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# 出站代理
|
# 出站代理
|
||||||
|
|
||||||
出站连接用于发送数据,可用的协议请见[outbound 可用协议列表](./outbounds/)。
|
出站连接用于发送数据,可用的协议请见 [outbound 可用协议列表](./outbounds/)。
|
||||||
|
|
||||||
## OutboundObject
|
## OutboundObject
|
||||||
|
|
||||||
@ -34,7 +34,7 @@
|
|||||||
用于发送数据的 IP 地址,当主机有多个 IP 地址时有效,默认值为 `"0.0.0.0"`。
|
用于发送数据的 IP 地址,当主机有多个 IP 地址时有效,默认值为 `"0.0.0.0"`。
|
||||||
>`protocol`: string
|
>`protocol`: string
|
||||||
|
|
||||||
连接协议名称,可选的协议类型见[outbound 可用协议列表](./outbounds/)。
|
连接协议名称,可选的协议类型见 [outbound 可用协议列表](./outbounds/)。
|
||||||
>`settings`: OutboundConfigurationObject
|
>`settings`: OutboundConfigurationObject
|
||||||
|
|
||||||
具体的配置内容,视协议不同而不同。详见每个协议中的 `OutboundConfigurationObject`。
|
具体的配置内容,视协议不同而不同。详见每个协议中的 `OutboundConfigurationObject`。
|
||||||
|
@ -16,7 +16,7 @@ Blackhole(黑洞)是一个出站数据协议,它会阻碍所有数据的
|
|||||||
|
|
||||||
配置黑洞的响应数据。
|
配置黑洞的响应数据。
|
||||||
|
|
||||||
Blackhole 会在收到待转发数据之后,发送指定的响应数据,然后关闭连接,待转发的数据将被丢弃。</br>
|
Blackhole 会在收到待转发数据之后,发送指定的响应数据,然后关闭连接,待转发的数据将被丢弃。
|
||||||
如不指定此项,Blackhole 将直接关闭连接。
|
如不指定此项,Blackhole 将直接关闭连接。
|
||||||
|
|
||||||
### ResponseObject
|
### ResponseObject
|
||||||
|
@ -16,11 +16,11 @@ Freedom 是一个出站协议,可以用来向任意网络发送(正常的)
|
|||||||
|
|
||||||
在目标地址为域名时, 配置相应的值, Freedom 的行为模式如下:
|
在目标地址为域名时, 配置相应的值, Freedom 的行为模式如下:
|
||||||
- `"AsIs"`: Freedom 通过系统DNS服务器解析获取IP, 向此域名发出连接.
|
- `"AsIs"`: Freedom 通过系统DNS服务器解析获取IP, 向此域名发出连接.
|
||||||
- `"UseIP"`、`"UseIPv4"` 和 `"UseIPv6"`: Xray 使用[内置 DNS 服务器](../dns.md)解析获取IP, 向此域名发出连接.
|
- `"UseIP"`、`"UseIPv4"` 和 `"UseIPv6"`: Xray 使用 [内置 DNS 服务器](../dns.md) 解析获取IP, 向此域名发出连接.
|
||||||
默认值为 `"AsIs"`。
|
默认值为 `"AsIs"`。
|
||||||
|
|
||||||
::: tip TIP 1
|
::: tip TIP 1
|
||||||
当使用 `"UseIP"` 模式,并且[出站连接配置](../outbound.md#outboundobject) 中指定了 `sendThrough` 时,Freedom 会根据 `sendThrough` 的值自动判断所需的 IP 类型,IPv4 或 IPv6。
|
当使用 `"UseIP"` 模式,并且 [出站连接配置](../outbound.md#outboundobject) 中指定了 `sendThrough` 时,Freedom 会根据 `sendThrough` 的值自动判断所需的 IP 类型,IPv4 或 IPv6。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
::: tip TIP 2
|
::: tip TIP 2
|
||||||
@ -31,13 +31,13 @@ Freedom 是一个出站协议,可以用来向任意网络发送(正常的)
|
|||||||
|
|
||||||
Freedom 会强制将所有数据发送到指定地址(而不是 inbound 指定的地址)。
|
Freedom 会强制将所有数据发送到指定地址(而不是 inbound 指定的地址)。
|
||||||
|
|
||||||
其值为一个字符串,样例:`"127.0.0.1:80"`,`":1234"`。</br>
|
其值为一个字符串,样例:`"127.0.0.1:80"`,`":1234"`。
|
||||||
|
|
||||||
当地址不指定时,如 `":443"`,Freedom 不会修改原先的目标地址。</br>
|
当地址不指定时,如 `":443"`,Freedom 不会修改原先的目标地址。
|
||||||
当端口为 `0` 时,如 `"xray.com: 0"`,Freedom 不会修改原先的端口。
|
当端口为 `0` 时,如 `"xray.com: 0"`,Freedom 不会修改原先的端口。
|
||||||
|
|
||||||
> `userLevel`: number
|
> `userLevel`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
@ -6,11 +6,8 @@ HTTP 协议。
|
|||||||
**http 协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。**
|
**http 协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
`http inbound` 更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
|
||||||
|
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
`http proxy` 只能代理 tcp 协议,udp 系的协议均不能通过。
|
`http` 只能代理 tcp 协议,udp 系的协议均不能通过。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## OutboundConfigurationObject
|
## OutboundConfigurationObject
|
||||||
|
@ -86,6 +86,6 @@ Shadowsocks 协议不限制密码长度,但短密码会更可能被破解,
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
`level` 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
`level` 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
@ -6,8 +6,6 @@
|
|||||||
**socks 协议没有对传输加密,不适宜经公网中传输**
|
**socks 协议没有对传输加密,不适宜经公网中传输**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
`socks inbound` 更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
|
|
||||||
|
|
||||||
## OutboundConfigurationObject
|
## OutboundConfigurationObject
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@ -88,6 +86,6 @@ Socks 服务器列表,其中每一项是一个服务器配置。
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0
|
userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
@ -70,7 +70,7 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道
|
|||||||
- `xtls-rprx-splice-udp443`:同 `xtls-rprx-splice`, 但是放行了目标为 443 端口的 UDP 流量
|
- `xtls-rprx-splice-udp443`:同 `xtls-rprx-splice`, 但是放行了目标为 443 端口的 UDP 流量
|
||||||
|
|
||||||
::: warning 注意
|
::: warning 注意
|
||||||
当 `flow` 被指定时,还需要将该出站协议的 `streamSettings.security` 一项指定为 `xtls`,`tlsSettings` 改为 `xtlsSettings`。详情请参考 [streamSettings](../transport.md#streamsettingsobject)。
|
当 `flow` 被指定时,还需要将该出站协议的 `streamSettings.security` 一项指定为 `xtls`,`tlsSettings` 改为 `xtlsSettings`。详情请参考 [streamSettings](../transport.md#streamsettingsobject)。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
此外,目前 XTLS 仅支持 TCP、mKCP、DomainSocket 这三种传输方式。
|
此外,目前 XTLS 仅支持 TCP、mKCP、DomainSocket 这三种传输方式。
|
||||||
@ -98,6 +98,6 @@ Splice 模式的的使用限制:
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
@ -78,10 +78,10 @@ VLESS 是一个无状态的轻量传输协议,它分为入站和出站两部
|
|||||||
|
|
||||||
VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
||||||
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
||||||
- 写 "id": "我爱🍉老师1314",
|
- 写 `"id": "我爱🍉老师1314"`,
|
||||||
- 或写 "id": "5783a3e7-e373-51cd-8642-c83782b807c5" (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
- 或写 `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
||||||
|
|
||||||
其映射标准在[VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
其映射标准在 [VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
||||||
|
|
||||||
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID,也可以使用命令 `xray uuid` 生成随机的UUID.
|
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID,也可以使用命令 `xray uuid` 生成随机的UUID.
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ VLESS 的用户 ID,可以是任意小于30字节的字符串, 也可以是一
|
|||||||
- `xtls-rprx-splice-udp443`:同 `xtls-rprx-splice`, 但是放行了目标为 443 端口的 UDP 流量
|
- `xtls-rprx-splice-udp443`:同 `xtls-rprx-splice`, 但是放行了目标为 443 端口的 UDP 流量
|
||||||
|
|
||||||
::: warning 注意
|
::: warning 注意
|
||||||
当 `flow` 被指定时,还需要将该出站协议的 `streamSettings.security` 一项指定为 `xtls`,`tlsSettings` 改为 `xtlsSettings`。详情请参考 [streamSettings](../transport.md#streamsettingsobject)。
|
当 `flow` 被指定时,还需要将该出站协议的 `streamSettings.security` 一项指定为 `xtls`,`tlsSettings` 改为 `xtlsSettings`。详情请参考 [streamSettings](../transport.md#streamsettingsobject)。
|
||||||
|
|
||||||
此外,目前 XTLS 仅支持 TCP、mKCP、DomainSocket 这三种传输方式。
|
此外,目前 XTLS 仅支持 TCP、mKCP、DomainSocket 这三种传输方式。
|
||||||
:::
|
:::
|
||||||
@ -135,8 +135,8 @@ Splice 模式的的使用限制:
|
|||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,10 +75,10 @@ VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在
|
|||||||
Vmess 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
Vmess 的用户 ID,可以是任意小于30字节的字符串, 也可以是一个合法的UUID.
|
||||||
|
|
||||||
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
自定义字符串和其映射的 UUID 是等价的, 这意味着你将可以这样在配置文件中写id来标识同一用户,即
|
||||||
- 写 "id": "我爱🍉老师1314",
|
- 写 `"id": "我爱🍉老师1314"`,
|
||||||
- 或写 "id": "5783a3e7-e373-51cd-8642-c83782b807c5" (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
- 或写 `"id": "5783a3e7-e373-51cd-8642-c83782b807c5"` (此UUID是 `我爱🍉老师1314` 的 UUID 映射)
|
||||||
|
|
||||||
其映射标准在[VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
其映射标准在 [VLESS UUID 映射标准:将自定义字符串映射为一个 UUIDv5](https://github.com/XTLS/Xray-core/issues/158)
|
||||||
|
|
||||||
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID, 也可以使用命令 `xray uuid` 生成随机的UUID.
|
你可以使用命令 `xray uuid -map "自定义字符串"` 生成自定义字符串所映射的的 UUID, 也可以使用命令 `xray uuid` 生成随机的UUID.
|
||||||
|
|
||||||
@ -91,14 +91,14 @@ Vmess 的用户 ID,可以是任意小于30字节的字符串, 也可以是一
|
|||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
客户端 AlterID 设置为 0 代表启用 VMessAEAD ;服务端为自动适配,可同时兼容启用和未开启 VMessAEAD 的客户端。
|
客户端 AlterID 设置为 0 代表启用 VMessAEAD ;服务端为自动适配,可同时兼容启用和未开启 VMessAEAD 的客户端。
|
||||||
客户端可通过设置环境变量 Xray_VMESS_AEAD_DISABLED=true 强行禁用 VMessAEAD
|
客户端可通过设置环境变量 `Xray_VMESS_AEAD_DISABLED=true` 强行禁用 VMessAEAD
|
||||||
:::
|
:::
|
||||||
|
|
||||||
> `level`: number
|
> `level`: number
|
||||||
|
|
||||||
用户等级,连接会使用这个用户等级对应的[本地策略](../policy.md#levelpolicyobject)。
|
用户等级,连接会使用这个用户等级对应的 [本地策略](../policy.md#levelpolicyobject)。
|
||||||
|
|
||||||
level 的值, 对应 [policy](../policy.md#policyobject) 中 level 的值. 如不指定, 默认为 0.
|
level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 如不指定, 默认为 0。
|
||||||
|
|
||||||
> `security`: "aes-128-gcm" | "chacha20-poly1305" | "auto" | "none"
|
> `security`: "aes-128-gcm" | "chacha20-poly1305" | "auto" | "none"
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@
|
|||||||
|
|
||||||
### bridge配置
|
### bridge配置
|
||||||
|
|
||||||
`bridge` 通常需要两个outbound,一个用于连接 `portal`,另一个用于发送实际的流量。也就是说,你需要用路由区分两种流量。
|
`bridge` 通常需要两个 outbound,一个用于连接 `portal`,另一个用于发送实际的流量。也就是说,你需要用路由区分两种流量。
|
||||||
|
|
||||||
反向代理配置:
|
反向代理配置:
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ outbound:
|
|||||||
|
|
||||||
### portal配置
|
### portal配置
|
||||||
|
|
||||||
`portal` 通常需要两个inbound,一个用于接收 `bridge` 的连接,另一个用于接收实际的流量。同时你也需要用路由区分两种流量。
|
`portal` 通常需要两个 inbound,一个用于接收 `bridge` 的连接,另一个用于接收实际的流量。同时你也需要用路由区分两种流量。
|
||||||
|
|
||||||
反向代理配置:
|
反向代理配置:
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
一个数组,数组中每一项是一个负载均衡器的配置。
|
一个数组,数组中每一项是一个负载均衡器的配置。
|
||||||
|
|
||||||
当一个规则指向一个负载均衡器时,Xray 会通过此负载均衡器选出一个outbound, 然后由它转发流量。
|
当一个规则指向一个负载均衡器时,Xray 会通过此负载均衡器选出一个 outbound, 然后由它转发流量。
|
||||||
|
|
||||||
|
|
||||||
### RuleObject
|
### RuleObject
|
||||||
@ -86,7 +86,7 @@
|
|||||||
|
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
当多个属性同时指定时,这些属性需要 **同时** 满足,才可以使当前规则生效。
|
当多个属性同时指定时,这些属性需要**同时**满足,才可以使当前规则生效。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
@ -98,10 +98,10 @@
|
|||||||
|
|
||||||
一个数组,数组每一项是一个域名的匹配。有以下几种形式:
|
一个数组,数组每一项是一个域名的匹配。有以下几种形式:
|
||||||
|
|
||||||
* 纯字符串:当此字符串匹配目标域名中任意部分,该规则生效。比如 "sina.com" 可以匹配 "sina.com"、"sina.com.cn" 和"www.sina.com",但不匹配 "sina.cn"。
|
* 纯字符串:当此字符串匹配目标域名中任意部分,该规则生效。比如 "sina.com" 可以匹配 "sina.com"、"sina.com.cn" 和 "www.sina.com",但不匹配 "sina.cn"。
|
||||||
* 正则表达式:由 `"regexp:"` 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 "regexp:\\\\.goo.*\\\\.com$" 匹配"www.google.com"或 "fonts.googleapis.com",但不匹配 "google.com"。
|
* 正则表达式:由 `"regexp:"` 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 "regexp:\\\\.goo.*\\\\.com$" 匹配 "www.google.com" 或 "fonts.googleapis.com",但不匹配 "google.com"。
|
||||||
* 子域名(推荐):由 `"domain:"` 开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 "domain:xray.com" 匹配"www.xray.com"、"xray.com",但不匹配 "wxray.com"。
|
* 子域名(推荐):由 `"domain:"` 开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 "domain:xray.com" 匹配 "www.xray.com"、"xray.com",但不匹配 "wxray.com"。
|
||||||
* 完整匹配:由 `"full:"` 开始,余下部分是一个域名。当此域名完整匹配目标域名时,该规则生效。例如 "full:xray.com" 匹配 "xray.com" 但不匹配"www.xray.com"。
|
* 完整匹配:由 `"full:"` 开始,余下部分是一个域名。当此域名完整匹配目标域名时,该规则生效。例如 "full:xray.com" 匹配 "xray.com" 但不匹配 "www.xray.com"。
|
||||||
* 预定义域名列表:由 `"geosite:"` 开头,余下部分是一个名称,如 `geosite:google` 或者 `geosite:cn`。名称及域名列表参考 [预定义域名列表](#预定义域名列表)。
|
* 预定义域名列表:由 `"geosite:"` 开头,余下部分是一个名称,如 `geosite:google` 或者 `geosite:cn`。名称及域名列表参考 [预定义域名列表](#预定义域名列表)。
|
||||||
* 从文件中加载域名:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./features/env.md#资源文件路径) 中,文件格式与 `geosite.dat` 相同,标签必须在文件中存在。
|
* 从文件中加载域名:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./features/env.md#资源文件路径) 中,文件格式与 `geosite.dat` 相同,标签必须在文件中存在。
|
||||||
|
|
||||||
|
@ -5,12 +5,10 @@
|
|||||||
传输方式指定了稳定的数据传输的方式。通常来说,一个网络连接的两端需要有对称的传输方式。比如一端用了 WebSocket,那么另一个端也必须使用 WebSocket,否则无法建立连接。
|
传输方式指定了稳定的数据传输的方式。通常来说,一个网络连接的两端需要有对称的传输方式。比如一端用了 WebSocket,那么另一个端也必须使用 WebSocket,否则无法建立连接。
|
||||||
|
|
||||||
传输方式(transport)配置有两部分:
|
传输方式(transport)配置有两部分:
|
||||||
1. 全局设置([TransportObject](#transportobject))
|
1. 全局配置([TransportObject](#transportobject))
|
||||||
2. 指定inbound/outbound配置([StreamSettingsObject](#streamsettingsobject))。
|
2. 局部配置([StreamSettingsObject](#streamsettingsobject))。
|
||||||
|
- 局部配置时,可以指定每个单独的入站或出站用怎样的方式传输。
|
||||||
指定inbound/outbound配置时,可以指定每个单独的inbound/outbound用怎样的方式传输。
|
- 通常来说客户端和服务器对应的入站和出站需要使用同样的传输方式。当其配置指定了一种传输方式,但没有填写具体设置时,此传输方式会使用全局配置中的设置。
|
||||||
|
|
||||||
通常来说客户端和服务器对应的inbound和outbound需要使用同样的传输方式。当inbound/outbound配置指定了一种传输方式,但没有填写其具体设置时,此传输方式会使用全局配置中的设置。
|
|
||||||
|
|
||||||
|
|
||||||
## TransportObject
|
## TransportObject
|
||||||
@ -62,7 +60,7 @@
|
|||||||
|
|
||||||
## StreamSettingsObject
|
## StreamSettingsObject
|
||||||
|
|
||||||
`StreamSettingsObject` 对应inbound/outbound中的 `streamSettings` 项。每一个 inbound/outbound 都可以分别配置不同的传输配置,都可以设置 `streamSettings` 来进行一些传输的配置。
|
`StreamSettingsObject` 对应入站或出站中的 `streamSettings` 项。每一个入站或出站都可以分别配置不同的传输配置,都可以设置 `streamSettings` 来进行一些传输的配置。
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -104,13 +102,13 @@ TLS 配置。TLS 由 Golang 提供,通常情况下TLS协商的结果为使用
|
|||||||
|
|
||||||
> `xtlsSettings`: [XTLSObject](#tlsobject)
|
> `xtlsSettings`: [XTLSObject](#tlsobject)
|
||||||
|
|
||||||
XTLS 配置。XTLS 是 Xray 的原创黑科技, 也是使 Xray 性能一骑绝尘的核心动力.
|
XTLS 配置。XTLS 是 Xray 的原创黑科技, 也是使 Xray 性能一骑绝尘的核心动力。
|
||||||
XTLS 与 TLS 有相同的安全性, 配置方式也和TLS一致. 点击此处查看[XTLS的技术细节剖析](./features/xtls.md)
|
XTLS 与 TLS 有相同的安全性, 配置方式也和TLS一致. 点击此处查看 [XTLS的技术细节剖析](./features/xtls.md)
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
TLS / XTLS 是目前最安全的传输加密方案, 且外部看来流量类型和正常上网具有一致性.
|
TLS / XTLS 是目前最安全的传输加密方案, 且外部看来流量类型和正常上网具有一致性。
|
||||||
启用 XTLS 并且配置合适的XTLS流控模式, 可以在保持和 TLS 相同的安全性的前提下, 性能达到数倍甚至十几倍的提升.
|
启用 XTLS 并且配置合适的XTLS流控模式, 可以在保持和 TLS 相同的安全性的前提下, 性能达到数倍甚至十几倍的提升。
|
||||||
当 `security` 的值从'tls'改为'xtls'时, 只需将`tlsSettings` 修改成为 `xtlsSettings`
|
当 `security` 的值从 `tls` 改为 `xtls` 时, 只需将 `tlsSettings` 修改成为 `xtlsSettings`
|
||||||
:::
|
:::
|
||||||
|
|
||||||
> `tcpSettings`: [TcpObject](./transports/tcp.md)
|
> `tcpSettings`: [TcpObject](./transports/tcp.md)
|
||||||
@ -170,7 +168,7 @@ TLS / XTLS 是目前最安全的传输加密方案, 且外部看来流量类型
|
|||||||
|
|
||||||
指定服务器端证书的域名,在连接由 IP 建立时有用。
|
指定服务器端证书的域名,在连接由 IP 建立时有用。
|
||||||
|
|
||||||
当目标连接由域名指定时,比如在 Socks inbound接收到了域名,或者由 Sniffing 功能探测出了域名,这个域名会自动用于 `serverName`,无须手动配置。
|
当目标连接由域名指定时,比如在 Socks 入站接收到了域名,或者由 Sniffing 功能探测出了域名,这个域名会自动用于 `serverName`,无须手动配置。
|
||||||
|
|
||||||
> `alpn`: \[ string \]
|
> `alpn`: \[ string \]
|
||||||
|
|
||||||
@ -194,7 +192,7 @@ maxVersion为可接受的最大SSL/TLS版本。
|
|||||||
|
|
||||||
CipherSuites用于配置受支持的密码套件列表, 每个套件名称之间用:进行分隔.
|
CipherSuites用于配置受支持的密码套件列表, 每个套件名称之间用:进行分隔.
|
||||||
|
|
||||||
你可以在[这里](https://golang.org/src/crypto/tls/cipher_suites.go#L500)或[这里](https://golang.org/src/crypto/tls/cipher_suites.go#L44)找到golang加密套件的名词和说明
|
你可以在 [这里](https://golang.org/src/crypto/tls/cipher_suites.go#L500 )或 [这里](https://golang.org/src/crypto/tls/cipher_suites.go#L44) 找到golang加密套件的名词和说明
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
以上两项配置为非必要选项,正常情况下不影响安全性
|
以上两项配置为非必要选项,正常情况下不影响安全性
|
||||||
@ -229,7 +227,7 @@ CipherSuites用于配置受支持的密码套件列表, 每个套件名称之间
|
|||||||
证书列表,其中每一项表示一个证书(建议 fullchain)。
|
证书列表,其中每一项表示一个证书(建议 fullchain)。
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
如果要在 ssllibs 或者 myssl 获得 A/A+ 等级的评价, 请参考[这里](https://github.com/XTLS/Xray-core/discussions/56#discussioncomment-215600).
|
如果要在 ssllibs 或者 myssl 获得 A/A+ 等级的评价, 请参考 [这里](https://github.com/XTLS/Xray-core/discussions/56#discussioncomment-215600).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
@ -383,7 +381,7 @@ ocspStapling 检查更新时间间隔。 单位:秒
|
|||||||
* `"tproxy"`:使用 TProxy 模式的透明代理。支持所有基于 IPv4/6 的 TCP 和 UDP 连接。
|
* `"tproxy"`:使用 TProxy 模式的透明代理。支持所有基于 IPv4/6 的 TCP 和 UDP 连接。
|
||||||
* `"off"`:关闭透明代理。
|
* `"off"`:关闭透明代理。
|
||||||
|
|
||||||
透明代理需要 Root 或 CAP\_NET\_ADMIN 权限。
|
透明代理需要 Root 或 `CAP\_NET\_ADMIN` 权限。
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
当 [Dokodemo-door](./inbounds/dokodemo.md) 中指定了 `followRedirect`为`true`,且 Sockopt设置中的`tproxy` 为空时,Sockopt设置中的`tproxy` 的值会被设为 `"redirect"`。
|
当 [Dokodemo-door](./inbounds/dokodemo.md) 中指定了 `followRedirect`为`true`,且 Sockopt设置中的`tproxy` 为空时,Sockopt设置中的`tproxy` 的值会被设为 `"redirect"`。
|
||||||
@ -405,7 +403,7 @@ ocspStapling 检查更新时间间隔。 单位:秒
|
|||||||
|
|
||||||
> `dialerProxy`: ""
|
> `dialerProxy`: ""
|
||||||
|
|
||||||
一个出站代理的标识。当值不为空时,将使用指定的outbound发出连接。
|
一个出站代理的标识。当值不为空时,将使用指定的 outbound 发出连接。
|
||||||
此选项可用于支持底层传输方式的链式转发。
|
此选项可用于支持底层传输方式的链式转发。
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Domain Socket
|
# Domain Socket
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
推荐写到 [inbounds](../../base/inbounds) 的 `listen` 处,传输方式可选 TCP、WebSocket、HTTP/2.
|
推荐写到 [inbounds](../inbound.md) 的 `listen` 处,传输方式可选 TCP、WebSocket、HTTP/2.
|
||||||
未来这里的 DomainSocket 可能会被弃用。
|
未来这里的 DomainSocket 可能会被弃用。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -31,28 +31,28 @@ mKCP 牺牲带宽来降低延迟。传输同样的内容,mKCP 一般比 TCP
|
|||||||
> `mtu`: number
|
> `mtu`: number
|
||||||
|
|
||||||
最大传输单元(maximum transmission unit)
|
最大传输单元(maximum transmission unit)
|
||||||
请选择一个介于 `576` - `1460` 之间的值。
|
请选择一个介于 576 - 1460 之间的值。
|
||||||
|
|
||||||
默认值为 `1350`。
|
默认值为 `1350`。
|
||||||
|
|
||||||
> `tti`: number
|
> `tti`: number
|
||||||
|
|
||||||
传输时间间隔(transmission time interval),单位毫秒(ms),mKCP 将以这个时间频率发送数据。
|
传输时间间隔(transmission time interval),单位毫秒(ms),mKCP 将以这个时间频率发送数据。
|
||||||
请选译一个介于 `10` - `100` 之间的值。
|
请选译一个介于 10 - 100 之间的值。
|
||||||
|
|
||||||
默认值为 `50`。
|
默认值为 `50`。
|
||||||
|
|
||||||
> `uplinkCapacity`: number
|
> `uplinkCapacity`: number
|
||||||
|
|
||||||
上行链路容量,即主机发出数据所用的最大带宽,单位 MB/s,注意是 Byte 而非 bit。
|
上行链路容量,即主机发出数据所用的最大带宽,单位 MB/s,注意是 Byte 而非 bit。
|
||||||
可以设置为 `0`,表示一个非常小的带宽。
|
可以设置为 0,表示一个非常小的带宽。
|
||||||
|
|
||||||
默认值 `5`。
|
默认值 `5`。
|
||||||
|
|
||||||
> `downlinkCapacity`: number
|
> `downlinkCapacity`: number
|
||||||
|
|
||||||
下行链路容量,即主机接收数据所用的最大带宽,单位 MB/s,注意是 Byte 而非 bit。
|
下行链路容量,即主机接收数据所用的最大带宽,单位 MB/s,注意是 Byte 而非 bit。
|
||||||
可以设置为 `0`,表示一个非常小的带宽。
|
可以设置为 0,表示一个非常小的带宽。
|
||||||
|
|
||||||
默认值 `20`。
|
默认值 `20`。
|
||||||
|
|
||||||
|
@ -6,22 +6,22 @@
|
|||||||
|
|
||||||
Xray支持各种平台,并且您可以从多种渠道和方式获得Xray的各种版本.
|
Xray支持各种平台,并且您可以从多种渠道和方式获得Xray的各种版本.
|
||||||
|
|
||||||
请点击[如何下载安装Xray](./install.md)以获取Xray
|
请点击 [如何下载安装Xray](./install.md) 以获取Xray
|
||||||
|
|
||||||
## 配置运行
|
## 配置运行
|
||||||
|
|
||||||
下载并安装Xray后,只需对他进行配置即可使用.
|
下载并安装Xray后,只需对他进行配置即可使用.
|
||||||
|
|
||||||
请点击[如何配置运行Xray](./config.md)以学习最简单的配置方式.
|
请点击 [如何配置运行Xray](./config.md) 以学习最简单的配置方式.
|
||||||
|
|
||||||
## 命令参数
|
## 命令参数
|
||||||
|
|
||||||
Xray有多种命令和参数可用,因此变得灵活和强大.
|
Xray有多种命令和参数可用,因此变得灵活和强大.
|
||||||
|
|
||||||
请点击[Xray的命令参数](./command.md)查看Xray的更多命令和参数用法.
|
请点击 [Xray的命令参数](./command.md) 查看Xray的更多命令和参数用法.
|
||||||
|
|
||||||
## 改进文档
|
## 改进文档
|
||||||
|
|
||||||
如果你有兴趣,请点击[使用文档](./document.md)帮助我们改进文档,或者点击页面下方的 `帮助我们改善此页面!`
|
如果你有兴趣,请点击 [使用文档](./document.md) 帮助我们改进文档,或者点击页面下方的 `帮助我们改善此页面!`
|
||||||
|
|
||||||
我们十分感谢每一位 contributor 作出的贡献!是你们让 Project X 变得更加强大!
|
我们十分感谢每一位 contributor 作出的贡献!是你们让 Project X 变得更加强大!
|
||||||
|
@ -6,7 +6,7 @@ Xray 使用 go 风格的命令及参数
|
|||||||
|
|
||||||
## 获取基本命令
|
## 获取基本命令
|
||||||
|
|
||||||
您可以运行 xray help 来获得所有 xray 最基础的用法, 以及可用的命令及说明.
|
您可以运行 `xray help` 来获得所有 xray 最基础的用法, 以及可用的命令及说明.
|
||||||
|
|
||||||
```
|
```
|
||||||
Xray is a platform for building proxies.
|
Xray is a platform for building proxies.
|
||||||
@ -59,8 +59,6 @@ without launching the server
|
|||||||
xray version
|
xray version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### xray api
|
### xray api
|
||||||
|
|
||||||
调用 Xray 的 gRPC API,需要在配置文件中开启。
|
调用 Xray 的 gRPC API,需要在配置文件中开启。
|
||||||
@ -104,8 +102,6 @@ xray tls <command> [arguments]
|
|||||||
xray uuid
|
xray uuid
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
当`-config`没有指定时,Xray 将先后尝试从以下路径加载`config.json`:
|
当`-config`没有指定时,Xray 将先后尝试从以下路径加载`config.json`:
|
||||||
- 工作目录(Working Directory)
|
- 工作目录(Working Directory)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# 改进文档
|
# 改进文档
|
||||||
|
|
||||||
Project X 的文档托管在[github](https://github.com/XTLS/XTLS.github.io)上.
|
Project X 的文档托管在 [GitHub](https://github.com/XTLS/XTLS.github.io) 上.
|
||||||
|
|
||||||
您可以通过以下步骤, 提交您对文档的改动:
|
您可以通过以下步骤, 提交您对文档的改动:
|
||||||
|
|
||||||
1. 从[project X 文档仓库](https://github.com/XTLS/XTLS.github.io)打开仓库, 点击右上角的 fork, fork 一份文档仓库的镜像到您自己的 github 仓库.
|
1. 从 [project X 文档仓库](https://github.com/XTLS/XTLS.github.io) 打开仓库, 点击右上角的 fork, fork 一份文档仓库的镜像到您自己的 github 仓库.
|
||||||
|
|
||||||
|
|
||||||
2. 使用任何您喜欢的工具, 从您克隆的仓库获得文档的克隆, 如:
|
2. 使用任何您喜欢的工具, 从您克隆的仓库获得文档的克隆, 如:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user