mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-22 22:38:05 +03:00
Env: Add new env configuration (#874)
https://github.com/XTLS/Xray-core/pull/6400 Co-authored-by: yiguodev <147401898+yiguodev@users.noreply.github.com>
This commit is contained in:
@@ -13,10 +13,6 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
text: "Browser Dialer",
|
||||
link: "/en/config/features/browser_dialer.md"
|
||||
},
|
||||
{
|
||||
text: "Environment Variables",
|
||||
link: "/en/config/features/env.md"
|
||||
},
|
||||
{
|
||||
text: "Multiple Configurations",
|
||||
link: "/en/config/features/multiple.md"
|
||||
@@ -32,6 +28,7 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
link: "/en/config/",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "Environment Variables", link: "/en/config/env.md" },
|
||||
{ text: "Log Configuration", link: "/en/config/log.md" },
|
||||
{ text: "API Interface", link: "/en/config/api.md" },
|
||||
{ text: "Built-in DNS Server", link: "/en/config/dns.md" },
|
||||
|
||||
@@ -13,7 +13,6 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
text: "Browser Dialer",
|
||||
link: "/config/features/browser_dialer.md"
|
||||
},
|
||||
{ text: "环境变量", link: "/config/features/env.md" },
|
||||
{ text: "多文件配置", link: "/config/features/multiple.md" },
|
||||
{
|
||||
text: "反向代理 / 内网穿透",
|
||||
@@ -26,6 +25,7 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
link: "/config/",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "环境变量", link: "/config/env.md" },
|
||||
{ text: "日志配置", link: "/config/log.md" },
|
||||
{ text: "API 接口", link: "/config/api.md" },
|
||||
{ text: "内置 DNS 服务器", link: "/config/dns.md" },
|
||||
|
||||
@@ -19,10 +19,6 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
text: "Browser Dialer",
|
||||
link: "/ru/config/features/browser_dialer.md"
|
||||
},
|
||||
{
|
||||
text: "Переменные окружения",
|
||||
link: "/ru/config/features/env.md"
|
||||
},
|
||||
{
|
||||
text: "Конфигурация из нескольких файлов",
|
||||
link: "/ru/config/features/multiple.md"
|
||||
@@ -38,6 +34,7 @@ export const sidebar: DefaultTheme.Config["sidebar"] = {
|
||||
link: "/ru/config/",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "Переменные окружения", link: "/ru/config/env.md" },
|
||||
{ text: "Настройка журнала", link: "/ru/config/log.md" },
|
||||
{ text: "API", link: "/ru/config/api.md" },
|
||||
{ text: "Встроенный DNS-сервер", link: "/ru/config/dns.md" },
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
# 环境变量
|
||||
|
||||
环境变量用于调整 Xray 的一些底层配置。
|
||||
|
||||
环境变量既可以由配置文件中的 `env` 配置块在配置读取后写入当前 Xray 进程,也可以在启动 Xray 前通过 Shell 或服务管理器提供。
|
||||
|
||||
## EnvObject
|
||||
|
||||
`EnvObject` 对应配置文件的 `env` 项,其内容为环境变量名称与值的映射。
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"XRAY_LOCATION_ASSET": "/usr/local/share/xray",
|
||||
"XRAY_BUF_READV": "true",
|
||||
"XRAY_RAY_BUFFER_SIZE": "2",
|
||||
"GODEBUG": "gctrace=1,schedtrace=1000,scheddetail=1"
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> `环境变量名称`: string
|
||||
|
||||
环境变量的名称和值都必须是字符串。Xray 读取并合并所有配置文件后,会在构建各模块前将 `env` 中的项目写入当前进程的环境变量。
|
||||
|
||||
::: tip
|
||||
使用[多文件配置](./features/multiple.md)时,各文件中的 `env` 配置块会按键合并,后加载的同名键覆盖先前的值。
|
||||
|
||||
`env` 配置块会按所写名称设置变量;如果进程环境中已经存在完全相同的名称,其值会被覆盖。
|
||||
:::
|
||||
|
||||
::: warning
|
||||
`env` 配置块只能在配置文件完成定位、读取与合并后生效。一些环境变量必须在启动 Xray 前通过 Shell 或服务管理器设置,例如:
|
||||
|
||||
- `XRAY_JSON_STRICT`
|
||||
- `XRAY_LOCATION_CONFIG`
|
||||
- `XRAY_LOCATION_CONFDIR`
|
||||
- `GOGC`
|
||||
- `GOMEMLIMIT`
|
||||
- `GOMAXPROCS`
|
||||
- `GOTRACEBACK`
|
||||
|
||||
:::
|
||||
|
||||
## 在 Xray 启动前设置环境变量
|
||||
|
||||
以下示例演示如何通过 Shell 或服务管理器同时设置资源文件路径和严格 JSON 解析器:
|
||||
|
||||
::: code-group
|
||||
|
||||
```bash [Shell]
|
||||
# 在当前 Shell 及由它启动的子进程中设置
|
||||
export XRAY_LOCATION_ASSET=/usr/local/share/xray
|
||||
export XRAY_JSON_STRICT=true
|
||||
|
||||
# 也可以仅为单次 Xray 启动设置,多个变量之间使用空格分隔
|
||||
XRAY_LOCATION_ASSET=/usr/local/share/xray XRAY_JSON_STRICT=true xray run
|
||||
```
|
||||
|
||||
```powershell [PowerShell]
|
||||
# 在当前 PowerShell 及由它启动的子进程中设置
|
||||
$env:XRAY_LOCATION_ASSET = "C:\Xray"
|
||||
$env:XRAY_JSON_STRICT = "true"
|
||||
```
|
||||
|
||||
```batch [CMD]
|
||||
:: 在当前 CMD 及由它启动的子进程中设置
|
||||
set "XRAY_LOCATION_ASSET=C:\Xray"
|
||||
set "XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
```ini [systemd]
|
||||
# 在 Xray 服务的 [Service] 段中设置
|
||||
[Service]
|
||||
Environment="XRAY_LOCATION_ASSET=/usr/local/share/xray"
|
||||
Environment="XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Xray 内置变量
|
||||
|
||||
### 配置文件位置
|
||||
|
||||
- 名称:`XRAY_LOCATION_CONFIG`。
|
||||
- 默认值:Xray 可执行文件所在目录。
|
||||
|
||||
这个变量指定包含 `config.json` 文件的目录。
|
||||
|
||||
写入 `env` 配置块无效,因为 Xray 在读取该配置块之前就已经完成了配置文件定位。
|
||||
|
||||
### 多配置目录
|
||||
|
||||
- 名称:`XRAY_LOCATION_CONFDIR`。
|
||||
- 默认值:`""`。
|
||||
|
||||
这个目录内的 `.json` 文件会按文件名顺序读取,作为多文件配置。
|
||||
|
||||
写入 `env` 配置块无效,因为 Xray 在读取该配置块之前就已经完成了配置目录定位。
|
||||
|
||||
此项优先级低于启动参数 `confdir`。
|
||||
|
||||
### 严格 JSON 解析器
|
||||
|
||||
- 名称:`XRAY_JSON_STRICT`。
|
||||
- 默认值:`false`。
|
||||
|
||||
默认情况下,Xray 在启动时会使用自定义 JSON 解析器,该解析器会从配置中剔除注释及其他非标准字符。如果你确认自己的配置文件严格遵循 JSON 标准(RFC 8259),可以启用此选项以使用标准 JSON 解析器,在配置文件极大时(几十 MB 以上)可以提升其解析速度。
|
||||
|
||||
写入 `env` 配置块无效,因为 Xray 必须先选择 JSON 解析器才能读取该配置块。
|
||||
|
||||
### 资源文件路径
|
||||
|
||||
- 名称:`XRAY_LOCATION_ASSET`。
|
||||
- 默认值:特定 [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) 目录或 Xray 可执行文件所在目录。
|
||||
|
||||
这个变量指定包含 `geoip.dat` 和 `geosite.dat` 文件的目录。
|
||||
若未指定,程序将按以下顺序寻找资源文件:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
### 其它可用变量
|
||||
|
||||
- `XRAY_LOCATION_CERT`
|
||||
- `XRAY_BUF_READV`
|
||||
- `XRAY_BUF_SPLICE`
|
||||
- `XRAY_VMESS_PADDING`
|
||||
- `XRAY_CONE_DISABLED`
|
||||
- `XRAY_RAY_BUFFER_SIZE`
|
||||
- `XRAY_BROWSER_DIALER`
|
||||
- `XRAY_XUDP_SHOW`
|
||||
- `XRAY_XUDP_BASEKEY`
|
||||
- `XRAY_TUN_FD`
|
||||
|
||||
这些选项用于特殊需求。你可以阅读源代码以了解其具体用途。
|
||||
@@ -1,57 +1,3 @@
|
||||
# 环境变量
|
||||
|
||||
Xray 提供以下环境变量以供修改 Xray 的一些底层配置。
|
||||
|
||||
## 资源文件路径
|
||||
|
||||
- 名称:`xray.location.asset` 或 `XRAY_LOCATION_ASSET`。
|
||||
- 默认值:特定 [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) 目录或 Xray 文件同路径。
|
||||
|
||||
这个环境变量指定了一个文件夹位置,这个文件夹应当包含 geoip.dat 和 geosite.dat 文件。
|
||||
若无指定变量值,程序将会按以下顺序寻找资源文件:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
## 配置文件位置
|
||||
|
||||
- 名称:`xray.location.config` 或 `XRAY_LOCATION_CONFIG`。
|
||||
- 默认值:和 Xray 文件同路径。
|
||||
|
||||
这个环境变量指定了一个文件夹位置,这个文件夹应当包含 config.json 文件。
|
||||
|
||||
## 多配置目录
|
||||
|
||||
- 名称:`xray.location.confdir` 或 `XRAY_LOCATION_CONFDIR`。
|
||||
- 默认值:`""`。
|
||||
|
||||
这个目录内的 `.json` 文件会按文件名顺序读取,作为多配置选项。
|
||||
|
||||
此项优先级低于启动参数 `confdir`。
|
||||
|
||||
## 严格 JSON 解析器
|
||||
|
||||
- 名称:`xray.json.strict` 或 `XRAY_JSON_STRICT`。
|
||||
- 默认值:`false`。
|
||||
|
||||
默认情况下,Xray 在启动时会使用自定义的 JSON 解析器(该解析器会从配置中剔除注释及其他非标准字符)。如果你确认自己的配置文件严格遵循 JSON 标准(RFC8259),可以启用此选项以使用标准 JSON 解析器,在配置文件极大时(几十 MB 以上)可以提升其解析速度。
|
||||
|
||||
## 其它可用的配置
|
||||
|
||||
- xray.location.plugin
|
||||
- xray.location.tool
|
||||
- xray.location.cert
|
||||
|
||||
- xray.buf.readv
|
||||
- xray.buf.splice
|
||||
- xray.vmess.padding
|
||||
|
||||
- xray.ray.buffer.size
|
||||
- xray.browser.dialer
|
||||
- xray.xudp.show
|
||||
- xray.xudp.basekey
|
||||
|
||||
这些选项对有特殊需求的用户开放,您可以阅读源代码来发现其用途。~~PR Welcome~~
|
||||
该页面已移动至 [环境变量](../env.md)。
|
||||
|
||||
@@ -5,6 +5,5 @@ Xray 具备以下特性:
|
||||
- [XTLS 深度剖析](xtls.md)
|
||||
- [Fallback 回落](fallback.md)
|
||||
- [Browser Dialer](browser_dialer.md)
|
||||
- [环境变量](env.md)
|
||||
- [多文件配置](multiple.md)
|
||||
- [反向代理 / 内网穿透](/document/level-2/vless_reverse.md)
|
||||
|
||||
@@ -61,4 +61,4 @@
|
||||
|
||||
写入的资源文件名,例如 `geoip.dat`、`geosite.dat`。
|
||||
|
||||
该文件会按 [资源文件路径](./features/env.md#资源文件路径) 解析,并且必须是资源目录内已经存在的普通文件;不支持绝对路径或跳出资源目录的路径。
|
||||
该文件会按 [资源文件路径](./env.md#资源文件路径) 解析,并且必须是资源目录内已经存在的普通文件;不支持绝对路径或跳出资源目录的路径。
|
||||
|
||||
@@ -13,6 +13,7 @@ Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {},
|
||||
"log": {},
|
||||
"api": {},
|
||||
"dns": {},
|
||||
@@ -162,11 +163,15 @@ https://xtls.github.io/llms-full.txt
|
||||
|
||||
## 基础配置模块
|
||||
|
||||
> log:[LogObject](./log.md)
|
||||
> env: [EnvObject](./env.md)
|
||||
|
||||
环境变量,供修改 Xray 的一些底层配置。
|
||||
|
||||
> log: [LogObject](./log.md)
|
||||
|
||||
日志配置,控制 Xray 输出日志的方式.
|
||||
|
||||
> api:[ApiObject](./api.md)
|
||||
> api: [ApiObject](./api.md)
|
||||
|
||||
提供了一些 API 接口供远程调用。
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
- 完整匹配:由 `"full:"` 开始,余下部分是一个域名。当此域名完整匹配目标域名时,该规则生效。例如 "full:xray.com" 匹配 "xray.com" 但不匹配 "www.xray.com"。
|
||||
- 无点域名:由 `"dotless:"` 开头,余下部分是一个不能含有 `.` 的字符串。当域名不含 `.` 且此字符串匹配目标域名中任意部分,该规则生效。例如 "dotless:pc-" 可以匹配 "pc-alice"、"mypc-alice",适用于内网 NetBIOS 域等。大小写敏感。
|
||||
- 预定义域名列表:由 `"geosite:"` 开头,余下部分是一个名称,如 `geosite:google` 或者 `geosite:cn`。名称及域名列表参考 [预定义域名列表](#预定义域名列表)。
|
||||
- 从文件中加载域名:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./features/env.md#资源文件路径) 中,文件格式与 `geosite.dat` 相同,标签必须在文件中存在。
|
||||
- 从文件中加载域名:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./env.md#资源文件路径) 中,文件格式与 `geosite.dat` 相同,标签必须在文件中存在。
|
||||
|
||||
::: tip
|
||||
`"ext:geoip.dat:cn"` 等价于 `"geoip:cn"`
|
||||
@@ -107,7 +107,7 @@
|
||||
- [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing):形如 `"10.0.0.0/8"`,也可以用 `"0.0.0.0/0"` `"::/0"` 来指定所有 IPv4 或者 IPv6。
|
||||
- 预定义 IP 列表:此列表预置于每一个 Xray 的安装包中,文件名为 `geoip.dat`。使用方式形如 `"geoip:cn"`,必须以 `geoip:`(小写)开头,后面跟双字符国家代码,支持几乎所有可以上网的国家。
|
||||
- 特殊值:`"geoip:private"`,包含所有私有地址,如 `127.0.0.1`。
|
||||
- 从文件中加载 IP:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./features/env.md#资源文件路径) 中,文件格式与 `geoip.dat` 相同标签必须在文件中存在。
|
||||
- 从文件中加载 IP:形如 `"ext:file:tag"`,必须以 `ext:`(小写)开头,后面跟文件名和标签,文件存放在 [资源目录](./env.md#资源文件路径) 中,文件格式与 `geoip.dat` 相同标签必须在文件中存在。
|
||||
- 反选 `!` 功能:`"!10.0.0.0/8"` 表示非 `10.0.0.0/8`,`"!geoip:cn"` 表示非 `geoip:cn` 中的结果。多个反选项之间是 `AND` 关系,而正选项、正选项和所有的反选项之间是 `OR` 关系,例如 `ip: ["!geoip:cn", "!geoip:us", "geoip:telegram"]` 匹配非美国并且非中国的 IP,或者是 telegram 的 IP。
|
||||
|
||||
> `port`:number | string
|
||||
|
||||
@@ -110,7 +110,7 @@ xray run -config http+unix:///run/xray-config.sock/config.json
|
||||
当 `-config` 没有指定时,Xray 将先后尝试从以下路径加载 `config.json` :
|
||||
|
||||
- 工作目录(Working Directory)
|
||||
- [环境变量](../config/features/env.md#资源文件路径)中 `Xray.location.asset` 所指定的路径
|
||||
- [环境变量](../config/env.md#资源文件路径)中 `Xray.location.asset` 所指定的路径
|
||||
:::
|
||||
|
||||
```bash
|
||||
@@ -255,7 +255,7 @@ xray wg [-i "(base64.StdEncoding)"]
|
||||
当 `-config` 没有指定时,Xray 将先后尝试从以下路径加载 `config.json` :
|
||||
|
||||
- 工作目录(Working Directory)
|
||||
- [环境变量](../config/features/env.md#资源文件路径)中 `Xray.location.asset` 所指定的路径
|
||||
- [环境变量](../config/env.md#资源文件路径)中 `Xray.location.asset` 所指定的路径
|
||||
:::
|
||||
|
||||
### xray mldsa65
|
||||
|
||||
@@ -88,6 +88,7 @@ Xray 提供两种验证方式:
|
||||
- 09_metrics.json
|
||||
- 10_observatory.json
|
||||
- 11_geodata.json
|
||||
- 12_env.json
|
||||
- 99_version.json
|
||||
- `/usr/local/share/xray/`:资源文件目录,存放了 Loyalsoldier 版本地理位置数据文件(拥有者是 `65532:65532`、目录权限 `755`、文件权限 `644`)
|
||||
- geoip.dat
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
# Environment Variables
|
||||
|
||||
Environment variables are used to adjust some underlying Xray settings.
|
||||
|
||||
Environment variables can either be written to the current Xray process by the configuration file's `env` item after the configuration is read, or supplied through a shell or service manager before Xray starts.
|
||||
|
||||
## EnvObject
|
||||
|
||||
`EnvObject` corresponds to the `env` item in the configuration file. It is a mapping of environment variable names to values.
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"XRAY_LOCATION_ASSET": "/usr/local/share/xray",
|
||||
"XRAY_BUF_READV": "true",
|
||||
"XRAY_RAY_BUFFER_SIZE": "2",
|
||||
"GODEBUG": "gctrace=1,schedtrace=1000,scheddetail=1"
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> `environment variable name`: string
|
||||
|
||||
Both the environment variable name and its value must be strings. After Xray reads and merges all configuration files, it writes the entries in `env` to the current process environment before building its modules.
|
||||
|
||||
::: tip
|
||||
When [multiple configuration files](./features/multiple.md) are used, their `env` items are merged by key. A duplicate key from a later file overrides the earlier value.
|
||||
|
||||
The `env` item sets the exact name written in the configuration and replaces an existing process variable with that exact name.
|
||||
:::
|
||||
|
||||
::: warning
|
||||
The `env` item takes effect only after the configuration files have been located, read, and merged. Some environment variables must be set through a shell or service manager before Xray starts, for example:
|
||||
|
||||
- `XRAY_JSON_STRICT`
|
||||
- `XRAY_LOCATION_CONFIG`
|
||||
- `XRAY_LOCATION_CONFDIR`
|
||||
- `GOGC`
|
||||
- `GOMEMLIMIT`
|
||||
- `GOMAXPROCS`
|
||||
- `GOTRACEBACK`
|
||||
|
||||
:::
|
||||
|
||||
## Setting Environment Variables Before Xray Starts
|
||||
|
||||
The following examples use a shell or service manager to set both the resource file path and the strict JSON parser:
|
||||
|
||||
::: code-group
|
||||
|
||||
```bash [Shell]
|
||||
# Set the variables in the current shell and its child processes
|
||||
export XRAY_LOCATION_ASSET=/usr/local/share/xray
|
||||
export XRAY_JSON_STRICT=true
|
||||
|
||||
# Alternatively, set them for a single Xray invocation, separated by spaces
|
||||
XRAY_LOCATION_ASSET=/usr/local/share/xray XRAY_JSON_STRICT=true xray run
|
||||
```
|
||||
|
||||
```powershell [PowerShell]
|
||||
# Set the variables in the current PowerShell session and its child processes
|
||||
$env:XRAY_LOCATION_ASSET = "C:\Xray"
|
||||
$env:XRAY_JSON_STRICT = "true"
|
||||
```
|
||||
|
||||
```batch [CMD]
|
||||
:: Set the variables in the current CMD session and its child processes
|
||||
set "XRAY_LOCATION_ASSET=C:\Xray"
|
||||
set "XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
```ini [systemd]
|
||||
# Set the variables in the Xray service's [Service] section
|
||||
[Service]
|
||||
Environment="XRAY_LOCATION_ASSET=/usr/local/share/xray"
|
||||
Environment="XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Built-in Xray Variables
|
||||
|
||||
### Configuration File Location
|
||||
|
||||
- Name: `XRAY_LOCATION_CONFIG`.
|
||||
- Default value: The directory containing the Xray executable.
|
||||
|
||||
This variable specifies the directory containing the `config.json` file.
|
||||
|
||||
Setting it in the configuration file's `env` item has no effect because Xray locates the configuration file before reading that item.
|
||||
|
||||
### Multiple Configuration Directory
|
||||
|
||||
- Name: `XRAY_LOCATION_CONFDIR`.
|
||||
- Default value: `""`.
|
||||
|
||||
The `.json` files in this directory are read in filename order as multiple configuration files.
|
||||
|
||||
Setting it in the configuration file's `env` item has no effect because Xray locates the configuration directory before reading that item.
|
||||
|
||||
This item has lower priority than the `confdir` startup argument.
|
||||
|
||||
### Strict JSON Parser
|
||||
|
||||
- Name: `XRAY_JSON_STRICT`.
|
||||
- Default value: `false`.
|
||||
|
||||
By default, Xray uses a custom JSON parser at startup. This parser strips comments and other non-standard characters from the configuration. If your configuration files strictly conform to the JSON standard (RFC 8259), you can enable this option to use the standard JSON parser, which can parse very large configurations faster.
|
||||
|
||||
Setting it in the configuration file's `env` item has no effect because Xray must select the JSON parser before it can read that item.
|
||||
|
||||
### Resource File Path
|
||||
|
||||
- Name: `XRAY_LOCATION_ASSET`.
|
||||
- Default value: Specific [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) directories or the directory containing the Xray executable.
|
||||
|
||||
This variable specifies the directory containing the `geoip.dat` and `geosite.dat` files.
|
||||
If it is not specified, the program looks for resource files in the following order:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
### Other Available Variables
|
||||
|
||||
- `XRAY_LOCATION_CERT`
|
||||
- `XRAY_BUF_READV`
|
||||
- `XRAY_BUF_SPLICE`
|
||||
- `XRAY_VMESS_PADDING`
|
||||
- `XRAY_CONE_DISABLED`
|
||||
- `XRAY_RAY_BUFFER_SIZE`
|
||||
- `XRAY_BROWSER_DIALER`
|
||||
- `XRAY_XUDP_SHOW`
|
||||
- `XRAY_XUDP_BASEKEY`
|
||||
- `XRAY_TUN_FD`
|
||||
|
||||
These options are intended for specialized use cases. Refer to the source code for their exact behavior.
|
||||
@@ -1,57 +1,3 @@
|
||||
# Environment Variables
|
||||
|
||||
Xray provides the following environment variables to modify some underlying configurations of Xray.
|
||||
|
||||
## Resource File Path
|
||||
|
||||
- Name: `xray.location.asset` or `XRAY_LOCATION_ASSET`.
|
||||
- Default value: Specific [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) directories or the same path as the Xray executable.
|
||||
|
||||
This environment variable specifies a folder location that should contain the `geoip.dat` and `geosite.dat` files.
|
||||
If no variable value is specified, the program will look for resource files in the following order:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
## Configuration File Location
|
||||
|
||||
- Name: `xray.location.config` or `XRAY_LOCATION_CONFIG`.
|
||||
- Default value: The same path as the Xray executable.
|
||||
|
||||
This environment variable specifies a folder location that should contain the `config.json` file.
|
||||
|
||||
## Multiple Configuration Directory
|
||||
|
||||
- Name: `xray.location.confdir` or `XRAY_LOCATION_CONFDIR`.
|
||||
- Default value: `""`.
|
||||
|
||||
The `.json` files in this directory will be read in alphabetical order of their filenames as multiple configuration options.
|
||||
|
||||
This item has lower priority than the startup argument `confdir`.
|
||||
|
||||
## Strict JSON Parser
|
||||
|
||||
- Name: `xray.json.strict` or `XRAY_JSON_STRICT`.
|
||||
- Default value: `false`.
|
||||
|
||||
By default, on startup Xray uses a custom JSON parser that strips comments and other non-standard characters from the configuration. If you are sure that your configuration file strictly conforms to the JSON standard (RFC 8259), you can enable this option to use the standard JSON parser, which is faster when working with large configurations.
|
||||
|
||||
## Other Available Configurations
|
||||
|
||||
- xray.location.plugin
|
||||
- xray.location.tool
|
||||
- xray.location.cert
|
||||
|
||||
- xray.buf.readv
|
||||
- xray.buf.splice
|
||||
- xray.vmess.padding
|
||||
|
||||
- xray.ray.buffer.size
|
||||
- xray.browser.dialer
|
||||
- xray.xudp.show
|
||||
- xray.xudp.basekey
|
||||
|
||||
These options are open to users with special needs; you can read the source code to discover their usage. ~~PR Welcome~~
|
||||
This page has moved to [Environment Variables](../env.md).
|
||||
|
||||
@@ -5,6 +5,5 @@ Xray has the following features:
|
||||
- [XTLS Deep Dive](xtls.md)
|
||||
- [Fallback](fallback.md)
|
||||
- [Browser Dialer](browser_dialer.md)
|
||||
- [Environment Variables](env.md)
|
||||
- [Multiple File Configuration](multiple.md)
|
||||
- [Reverse Proxy / NAT Traversal](/en/document/level-2/vless_reverse.md)
|
||||
|
||||
@@ -61,4 +61,4 @@ The resource download URL. It must be an HTTPS URL.
|
||||
|
||||
The resource filename to write, such as `geoip.dat` or `geosite.dat`.
|
||||
|
||||
The file is resolved using the [Resource File Path](./features/env.md#resource-file-path). It must be an existing regular file inside the resource directory; absolute paths and paths escaping the resource directory are not supported.
|
||||
The file is resolved using the [Resource File Path](./env.md#resource-file-path). It must be an existing regular file inside the resource directory; absolute paths and paths escaping the resource directory are not supported.
|
||||
|
||||
@@ -13,6 +13,7 @@ The format is as follows:
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {},
|
||||
"log": {},
|
||||
"api": {},
|
||||
"dns": {},
|
||||
@@ -170,11 +171,15 @@ List the parts of my question that are not confirmed by the official documentati
|
||||
|
||||
## Basic Configuration Modules
|
||||
|
||||
> log:[LogObject](./log.md)
|
||||
> env: [EnvObject](./env.md)
|
||||
|
||||
Environment variables for modifying some underlying configurations of Xray.
|
||||
|
||||
> log: [LogObject](./log.md)
|
||||
|
||||
Log configuration, controls how Xray outputs logs.
|
||||
|
||||
> api:[ApiObject](./api.md)
|
||||
> api: [ApiObject](./api.md)
|
||||
|
||||
Provides some API interfaces for remote calls.
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ When multiple attributes are specified simultaneously, these attributes must be
|
||||
- **Full match**: Starts with `"full:"`, the rest is a domain name. The rule takes effect when this domain exactly matches the target domain. For example, "full:xray.com" matches "xray.com" but not "www.xray.com".
|
||||
- **Dotless domain**: Starts with `"dotless:"`, the rest is a string that cannot contain `.`. The rule takes effect when the domain contains no `.` and this string matches any part of the target domain. For example, "dotless:pc-" matches "pc-alice", "mypc-alice". Suitable for intranet NetBIOS domains, etc. Case sensitive.
|
||||
- **Predefined domain list**: Starts with `"geosite:"`, the rest is a name, such as `geosite:google` or `geosite:cn`. Refer to [Predefined Domain List](#predefined-domain-list) for names and domain lists.
|
||||
- **Load domains from file**: In the form of `"ext:file:tag"`. Must start with `ext:` (lowercase), followed by filename and tag. The file is stored in the [Resource Directory](./features/env.md#resource-file-path). The file format is the same as `geosite.dat`, and the tag must exist in the file.
|
||||
- **Load domains from file**: In the form of `"ext:file:tag"`. Must start with `ext:` (lowercase), followed by filename and tag. The file is stored in the [Resource Directory](./env.md#resource-file-path). The file format is the same as `geosite.dat`, and the tag must exist in the file.
|
||||
|
||||
::: tip
|
||||
`"ext:geoip.dat:cn"` is equivalent to `"geoip:cn"`
|
||||
@@ -107,7 +107,7 @@ An array, where each item represents an IP range. The rule takes effect when an
|
||||
- **[CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)**: Like `"10.0.0.0/8"`. You can also use `"0.0.0.0/0"` or `"::/0"` to specify all IPv4 or IPv6.
|
||||
- **Predefined IP list**: This list is pre-installed in every Xray installation package, named `geoip.dat`. Usage is like `"geoip:cn"`. Must start with `geoip:` (lowercase), followed by a two-character country code. Supports almost all countries with internet access.
|
||||
- **Special value**: `"geoip:private"`, includes all private addresses, such as `127.0.0.1`.
|
||||
- **Load IPs from file**: In the form of `"ext:file:tag"`. Must start with `ext:` (lowercase), followed by filename and tag. The file is stored in the [Resource Directory](./features/env.md#resource-file-path). The file format is the same as `geoip.dat`, and the tag must exist in the file.
|
||||
- **Load IPs from file**: In the form of `"ext:file:tag"`. Must start with `ext:` (lowercase), followed by filename and tag. The file is stored in the [Resource Directory](./env.md#resource-file-path). The file format is the same as `geoip.dat`, and the tag must exist in the file.
|
||||
- **Inverse selection `!`**: `"!10.0.0.0/8"` means anything not in `10.0.0.0/8`, and `"!geoip:cn"` means results not in `geoip:cn`. Multiple inverse options have an `AND` relationship, while positive options, or positive options together with all inverse options, have an `OR` relationship. For example, `ip: ["!geoip:cn", "!geoip:us", "geoip:telegram"]` matches IPs that are not from the US AND not from China, OR are Telegram IPs.
|
||||
|
||||
> `port`: number | string
|
||||
|
||||
@@ -110,7 +110,7 @@ xray run -config http+unix:///run/xray-config.sock/config.json
|
||||
When `-config` is not specified, Xray will attempt to load `config.json` from the following paths in order:
|
||||
|
||||
- Working Directory
|
||||
- The path specified by `Xray.location.asset` in [Environment Variables](../config/features/env.md#resource-file-path)
|
||||
- The path specified by `Xray.location.asset` in [Environment Variables](../config/env.md#resource-file-path)
|
||||
:::
|
||||
|
||||
```bash
|
||||
@@ -255,7 +255,7 @@ xray wg [-i "(base64.StdEncoding)"]
|
||||
When `-config` is not specified, Xray will attempt to load `config.json` from the following paths in order:
|
||||
|
||||
- Working Directory
|
||||
- The path specified by `Xray.location.asset` in [Environment Variables](../config/features/env.md#resource-file-path)
|
||||
- The path specified by `Xray.location.asset` in [Environment Variables](../config/env.md#resource-file-path)
|
||||
:::
|
||||
|
||||
### xray mldsa65
|
||||
|
||||
@@ -87,6 +87,7 @@ Two different styles of Docker images are currently provided:
|
||||
- 09_metrics.json
|
||||
- 10_observatory.json
|
||||
- 11_geodata.json
|
||||
- 12_env.json
|
||||
- 99_version.json
|
||||
- `/usr/local/share/xray/`: Resource file directory containing Loyalsoldier geolocation data files (owner: `65532:65532`, directory permissions: `755`, file permissions: `644`)
|
||||
- geoip.dat
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
# Переменные окружения
|
||||
|
||||
Переменные окружения используются для изменения некоторых низкоуровневых настроек Xray.
|
||||
|
||||
Переменные окружения могут быть записаны в окружение текущего процесса Xray из раздела `env` после чтения конфигурации либо переданы через командную оболочку или диспетчер служб до запуска Xray.
|
||||
|
||||
## EnvObject
|
||||
|
||||
`EnvObject` соответствует разделу `env` в файле конфигурации и представляет собой набор имён и значений переменных окружения.
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"XRAY_LOCATION_ASSET": "/usr/local/share/xray",
|
||||
"XRAY_BUF_READV": "true",
|
||||
"XRAY_RAY_BUFFER_SIZE": "2",
|
||||
"GODEBUG": "gctrace=1,schedtrace=1000,scheddetail=1"
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> `имя переменной окружения`: string
|
||||
|
||||
Имя и значение каждой переменной окружения должны быть строками. После чтения и объединения всех файлов конфигурации Xray записывает элементы `env` в окружение текущего процесса перед созданием модулей.
|
||||
|
||||
::: tip
|
||||
При использовании [нескольких файлов конфигурации](./features/multiple.md) их разделы `env` объединяются по ключам. Одинаковый ключ из более позднего файла заменяет предыдущее значение.
|
||||
|
||||
Раздел `env` задаёт имя именно в записанном виде и заменяет существующую переменную процесса с точно таким же именем.
|
||||
:::
|
||||
|
||||
::: warning
|
||||
Раздел `env` применяется только после того, как файлы конфигурации были найдены, прочитаны и объединены. Некоторые переменные окружения необходимо задать через командную оболочку или диспетчер служб до запуска Xray, например:
|
||||
|
||||
- `XRAY_JSON_STRICT`
|
||||
- `XRAY_LOCATION_CONFIG`
|
||||
- `XRAY_LOCATION_CONFDIR`
|
||||
- `GOGC`
|
||||
- `GOMEMLIMIT`
|
||||
- `GOMAXPROCS`
|
||||
- `GOTRACEBACK`
|
||||
|
||||
:::
|
||||
|
||||
## Настройка переменных окружения перед запуском Xray
|
||||
|
||||
В следующих примерах командная оболочка или диспетчер служб используются для настройки пути к файлам ресурсов и строгого анализатора JSON:
|
||||
|
||||
::: code-group
|
||||
|
||||
```bash [Shell]
|
||||
# Задать переменные в текущей оболочке и запущенных из неё процессах
|
||||
export XRAY_LOCATION_ASSET=/usr/local/share/xray
|
||||
export XRAY_JSON_STRICT=true
|
||||
|
||||
# Либо задать их только для одного запуска Xray, разделяя пробелами
|
||||
XRAY_LOCATION_ASSET=/usr/local/share/xray XRAY_JSON_STRICT=true xray run
|
||||
```
|
||||
|
||||
```powershell [PowerShell]
|
||||
# Задать переменные в текущем сеансе PowerShell и запущенных из него процессах
|
||||
$env:XRAY_LOCATION_ASSET = "C:\Xray"
|
||||
$env:XRAY_JSON_STRICT = "true"
|
||||
```
|
||||
|
||||
```batch [CMD]
|
||||
:: Задать переменные в текущем сеансе CMD и запущенных из него процессах
|
||||
set "XRAY_LOCATION_ASSET=C:\Xray"
|
||||
set "XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
```ini [systemd]
|
||||
# Задать переменные в разделе [Service] службы Xray
|
||||
[Service]
|
||||
Environment="XRAY_LOCATION_ASSET=/usr/local/share/xray"
|
||||
Environment="XRAY_JSON_STRICT=true"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Встроенные переменные Xray
|
||||
|
||||
### Расположение файла конфигурации
|
||||
|
||||
- Имя: `XRAY_LOCATION_CONFIG`.
|
||||
- Значение по умолчанию: каталог исполняемого файла Xray.
|
||||
|
||||
Эта переменная задаёт каталог, содержащий файл `config.json`.
|
||||
|
||||
Запись в разделе `env` файла конфигурации не действует, поскольку Xray находит файл конфигурации до чтения этого раздела.
|
||||
|
||||
### Каталог с несколькими конфигурациями
|
||||
|
||||
- Имя: `XRAY_LOCATION_CONFDIR`.
|
||||
- Значение по умолчанию: `""`.
|
||||
|
||||
Файлы `.json` из этого каталога читаются в порядке имён как несколько файлов конфигурации.
|
||||
|
||||
Запись в разделе `env` файла конфигурации не действует, поскольку Xray находит каталог конфигурации до чтения этого раздела.
|
||||
|
||||
Этот параметр имеет более низкий приоритет, чем аргумент запуска `confdir`.
|
||||
|
||||
### Строгий синтаксический анализатор JSON
|
||||
|
||||
- Имя: `XRAY_JSON_STRICT`.
|
||||
- Значение по умолчанию: `false`.
|
||||
|
||||
По умолчанию при запуске Xray использует собственный синтаксический анализатор JSON, который удаляет из конфигурации комментарии и другие нестандартные символы. Если файлы конфигурации строго соответствуют стандарту JSON (RFC 8259), этот параметр позволяет использовать стандартный анализатор, способный быстрее обрабатывать очень большие конфигурации.
|
||||
|
||||
Запись в разделе `env` файла конфигурации не действует, поскольку Xray должен выбрать анализатор JSON до чтения этого раздела.
|
||||
|
||||
### Путь к файлам ресурсов
|
||||
|
||||
- Имя: `XRAY_LOCATION_ASSET`.
|
||||
- Значение по умолчанию: определённые каталоги [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) или каталог исполняемого файла Xray.
|
||||
|
||||
Эта переменная задаёт каталог, содержащий файлы `geoip.dat` и `geosite.dat`.
|
||||
Если она не указана, программа ищет файлы ресурсов в следующем порядке:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
### Другие доступные переменные
|
||||
|
||||
- `XRAY_LOCATION_CERT`
|
||||
- `XRAY_BUF_READV`
|
||||
- `XRAY_BUF_SPLICE`
|
||||
- `XRAY_VMESS_PADDING`
|
||||
- `XRAY_CONE_DISABLED`
|
||||
- `XRAY_RAY_BUFFER_SIZE`
|
||||
- `XRAY_BROWSER_DIALER`
|
||||
- `XRAY_XUDP_SHOW`
|
||||
- `XRAY_XUDP_BASEKEY`
|
||||
- `XRAY_TUN_FD`
|
||||
|
||||
Эти параметры предназначены для специализированных сценариев. Их точное назначение можно узнать из исходного кода.
|
||||
@@ -1,57 +1,3 @@
|
||||
# Переменные среды
|
||||
# Переменные окружения
|
||||
|
||||
Xray предоставляет следующие переменные среды для изменения некоторых базовых настроек Xray.
|
||||
|
||||
## Путь к файлам ресурсов
|
||||
|
||||
- Название: `xray.location.asset` или `XRAY_LOCATION_ASSET`.
|
||||
- Значение по умолчанию: Определенный каталог [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard) или тот же каталог, что и файл Xray.
|
||||
|
||||
Эта переменная среды указывает расположение папки, которая должна содержать файлы `geoip.dat` и `geosite.dat`.
|
||||
Если значение переменной не указано, программа будет искать файлы ресурсов в следующем порядке:
|
||||
|
||||
```text
|
||||
./
|
||||
/usr/local/share/xray
|
||||
/usr/share/xray
|
||||
```
|
||||
|
||||
## Расположение файла конфигурации
|
||||
|
||||
- Название: `xray.location.config` или `XRAY_LOCATION_CONFIG`.
|
||||
- Значение по умолчанию: Тот же каталог, что и файл Xray.
|
||||
|
||||
Эта переменная среды указывает расположение папки, которая должна содержать файл `config.json`.
|
||||
|
||||
## Каталог с несколькими конфигурациями
|
||||
|
||||
- Название: `xray.location.confdir` или `XRAY_LOCATION_CONFDIR`.
|
||||
- Значение по умолчанию: `""`.
|
||||
|
||||
Файлы `.json` в этом каталоге будут читаться в порядке имен файлов как параметры конфигурации.
|
||||
|
||||
Этот параметр имеет более низкий приоритет, чем аргумент запуска `confdir`.
|
||||
|
||||
## Строгий JSON-парсер
|
||||
|
||||
- Название: `xray.json.strict` или `XRAY_JSON_STRICT`.
|
||||
- Значение по умолчанию: `false`.
|
||||
|
||||
По умолчанию Xray при изначальном запуске использует кастомный JSON-парсер (который вырезает из конфигурации комментарии и прочие нестандартные символы). Если вы уверены, что ваш конфигурационный файл строго соответствует JSON-стандарту (RFC8259), вы можете включить этот параметр, чтобы использовать стандартный JSON-парсер, который при больших конфигурациях будет работать быстрее.
|
||||
|
||||
## Другие доступные конфигурации
|
||||
|
||||
- xray.location.plugin
|
||||
- xray.location.tool
|
||||
- xray.location.cert
|
||||
|
||||
- xray.buf.readv
|
||||
- xray.buf.splice
|
||||
- xray.vmess.padding
|
||||
|
||||
- xray.ray.buffer.size
|
||||
- xray.browser.dialer
|
||||
- xray.xudp.show
|
||||
- xray.xudp.basekey
|
||||
|
||||
Эти параметры предназначены для пользователей с особыми потребностями; вы можете изучить исходный код, чтобы узнать их назначение. ~~PR Welcome~~
|
||||
Эта страница перемещена в раздел [Переменные окружения](../env.md).
|
||||
|
||||
@@ -5,6 +5,5 @@ Xray предлагает следующие функции:
|
||||
- [Глубокий анализ XTLS](xtls.md)
|
||||
- [Fallback](fallback.md)
|
||||
- [Browser Dialer](browser_dialer.md)
|
||||
- [Переменные окружения](env.md)
|
||||
- [Конфигурация из нескольких файлов](multiple.md)
|
||||
- [Обратный прокси / NAT Traversal](/ru/document/level-2/vless_reverse.md)
|
||||
|
||||
@@ -61,4 +61,4 @@ URL для загрузки ресурса. Должен быть HTTPS URL.
|
||||
|
||||
Имя файла ресурса для записи, например `geoip.dat` или `geosite.dat`.
|
||||
|
||||
Файл разрешается через [путь к файлам ресурсов](./features/env.md#путь-к-файлам-ресурсов). Это должен быть уже существующий обычный файл внутри каталога ресурсов; абсолютные пути и пути с выходом за пределы каталога ресурсов не поддерживаются.
|
||||
Файл разрешается через [путь к файлам ресурсов](./env.md#путь-к-файлам-ресурсов). Это должен быть уже существующий обычный файл внутри каталога ресурсов; абсолютные пути и пути с выходом за пределы каталога ресурсов не поддерживаются.
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {},
|
||||
"log": {},
|
||||
"api": {},
|
||||
"dns": {},
|
||||
@@ -168,6 +169,10 @@ https://xtls.github.io/llms-full.txt
|
||||
|
||||
## Основные модули конфигурации
|
||||
|
||||
> env: [EnvObject](./env.md)
|
||||
|
||||
Переменные окружения для изменения некоторых базовых настроек Xray.
|
||||
|
||||
> log: [LogObject](./log.md)
|
||||
|
||||
Настройка журнала, управляющая способом вывода журналов Xray.
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
- **Полное совпадение**: Начинается с `"full:"`, остальная часть — доменное имя. Правило вступает в силу, когда это имя полностью совпадает с целевым доменом. Например, `"full:xray.com"` соответствует `"xray.com"`, но не `"www.xray.com"`.
|
||||
- **Домен без точек**: Начинается с `"dotless:"`, остальная часть — строка, не содержащая `.`. Правило вступает в силу, если домен не содержит `.` и эта строка совпадает с любой частью целевого домена. Например, `"dotless:pc-"` соответствует `"pc-alice"`, `"mypc-alice"`; подходит для доменов NetBIOS во внутренней сети и т. д. Чувствительно к регистру.
|
||||
- **Предопределенный список доменов**: Начинается с `"geosite:"`, далее следует имя, например `geosite:google` или `geosite:cn`. Список имен и доменов см. в разделе [Предопределенные списки доменов](#предопределенные-списки-доменов).
|
||||
- **Загрузка доменов из файла**: В формате `"ext:file:tag"`. Должно начинаться с `ext:` (в нижнем регистре), далее следует имя файла и тег. Файл должен находиться в [директории ресурсов](./features/env.md). Формат файла совпадает с форматом `geosite.dat`, указанный тег должен присутствовать в файле.
|
||||
- **Загрузка доменов из файла**: В формате `"ext:file:tag"`. Должно начинаться с `ext:` (в нижнем регистре), далее следует имя файла и тег. Файл должен находиться в [директории ресурсов](./env.md). Формат файла совпадает с форматом `geosite.dat`, указанный тег должен присутствовать в файле.
|
||||
|
||||
::: tip
|
||||
`"ext:geoip.dat:cn"` эквивалентно `"geoip:cn"`
|
||||
@@ -107,7 +107,7 @@
|
||||
- [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_междоменная_маршрутизация): например, `"10.0.0.0/8"`, также можно использовать `"0.0.0.0/0"` `"::/0"` для указания всех IPv4- или IPv6-адресов.
|
||||
- Предопределенный список IP-адресов: этот список встроен в каждый установочный пакет Xray, имя файла - `geoip.dat`. Формат использования: `"geoip:код_страны"`, должно начинаться с `geoip:` (в нижнем регистре), за которым следует двухбуквенный код страны, поддерживаются почти все страны с доступом в Интернет.
|
||||
- Специальное значение: `"geoip:private"`, включает в себя все частные адреса, например, `127.0.0.1`.
|
||||
- Загрузка IP-адресов из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./features/env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geoip.dat`, тег должен существовать в файле.
|
||||
- Загрузка IP-адресов из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geoip.dat`, тег должен существовать в файле.
|
||||
- Функция инверсии `!`: `"!10.0.0.0/8"` обозначает всё, что не входит в `10.0.0.0/8`, а `"!geoip:cn"` — результаты, не входящие в `geoip:cn`. Несколько условий с отрицанием объединяются логическим **AND**, а положительные условия и совокупность всех отрицательных условий — логическим **OR**. Например, `ip: ["!geoip:cn", "!geoip:us", "geoip:telegram"]` соответствует IP, которые не относятся к США **И** не относятся к Китаю, **ИЛИ** являются IP Telegram.
|
||||
|
||||
> `port`: number | string
|
||||
|
||||
@@ -111,7 +111,7 @@ xray run -config http+unix:///run/xray-config.sock/config.json
|
||||
Когда `-config` не указан, Xray последовательно попытается загрузить `config.json` из следующих путей:
|
||||
|
||||
- Рабочий каталог (Working Directory)
|
||||
- Путь, указанный в переменной окружения `Xray.location.asset` в [переменных окружения](../config/features/env.md#Путь-к-файлам-ресурсов)
|
||||
- Путь, указанный в переменной окружения `Xray.location.asset` в [переменных окружения](../config/env.md#путь-к-файлам-ресурсов)
|
||||
:::
|
||||
|
||||
```bash
|
||||
@@ -256,7 +256,7 @@ xray wg [-i "(base64.StdEncoding)"]
|
||||
Если `-config` не указан, Xray попытается загрузить `config.json` из следующих мест:
|
||||
|
||||
- Рабочий каталог (Working Directory);
|
||||
- Путь, указанный в переменной окружения `Xray.location.asset` (см. [Переменные окружения](../config/features/env.md#ресурсные-файлы)).
|
||||
- Путь, указанный в переменной окружения `Xray.location.asset` (см. [Переменные окружения](../config/env.md#путь-к-файлам-ресурсов)).
|
||||
:::
|
||||
|
||||
### xray mldsa65
|
||||
|
||||
@@ -87,6 +87,7 @@ Xray предоставляет два способа проверки:
|
||||
- 09_metrics.json
|
||||
- 10_observatory.json
|
||||
- 11_geodata.json
|
||||
- 12_env.json
|
||||
- 99_version.json
|
||||
- `/usr/local/share/xray/`: каталог файлов ресурсов с геоданными Loyalsoldier (владелец: `65532:65532`, права на каталог: `755`, права на файлы: `644`)
|
||||
- geoip.dat
|
||||
|
||||
Reference in New Issue
Block a user