mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-14 01:59:09 +03:00
add Russian lang (#529)
* add Russian lang support --------- Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# Настройка с помощью нескольких файлов
|
||||
|
||||
Программа Xray поддерживает использование нескольких файлов конфигурации.
|
||||
|
||||
Основная цель использования нескольких файлов конфигурации — разделение настроек модулей с разными функциями для удобства управления и обслуживания.
|
||||
|
||||
Эта функция в основном предназначена для обогащения экосистемы Xray. Например, для клиентских GUI обычно реализуются только фиксированные функции, такие как выбор узла, и слишком сложные конфигурации трудно реализовать графически. Можно оставить только один пользовательский каталог конфигурации `confdir` для настройки сложных функций. Для сценариев развертывания сервера достаточно добавить файлы в `confdir` для настройки различных протоколов.
|
||||
|
||||
## Запуск с несколькими файлами
|
||||
|
||||
::: tip
|
||||
В информации о запуске будет указан каждый считываемый файл конфигурации. Убедитесь, что порядок считывания соответствует ожидаемому. Вы можете контролировать порядок, добавляя префиксы с номерами к именам файлов. Например, `01_имя_файла`, `02_имя_файла`, чем больше число, тем позже файл будет обработан.
|
||||
:::
|
||||
|
||||
```shell
|
||||
$ xray run -confdir /etc/xray/confs
|
||||
```
|
||||
|
||||
Также можно использовать `Xray.location.confdir` или `Xray_LOCATION_CONFDIR` для указания `confdir`.
|
||||
|
||||
Параметр `-confdir` имеет приоритет над переменной среды. Если параметр указывает на допустимый каталог, значение переменной среды игнорируется.
|
||||
|
||||
## Правила
|
||||
|
||||
### Обычные объекты (`{}`)
|
||||
|
||||
Последующие объекты верхнего уровня перезаписывают или дополняют предыдущие.
|
||||
|
||||
### Массивы (`[]`)
|
||||
|
||||
В конфигурации JSON `inbounds` и `outbounds` имеют структуру массива, для них действуют особые правила:
|
||||
|
||||
- Поиск существующего элемента с тем же `tag` для перезаписи. Если элемент не найден:
|
||||
- Для `inbounds`: добавляется в конец (порядок элементов в `inbounds` не имеет значения).
|
||||
- Для `outbounds`: добавляется в начало (по умолчанию используется первый выход в `outbounds`); но если имя файла содержит `tail` (регистр не имеет значения), элемент добавляется в конец.
|
||||
|
||||
## Пример конфигурации
|
||||
|
||||
Предположим, что в папке `confs` есть следующие три файла конфигурации:
|
||||
|
||||
- 01.json
|
||||
|
||||
```json
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "socks",
|
||||
"protocol": "socks",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8888
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "direct",
|
||||
"protocol": "freedom"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
- 02.json
|
||||
|
||||
```json
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "debug"
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "socks",
|
||||
"protocol": "socks",
|
||||
"listen": "127.0.0.1",
|
||||
"port": 1080
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "block",
|
||||
"protocol": "blackhole"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
- 03_tail.json
|
||||
|
||||
```json
|
||||
{
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "direct2",
|
||||
"protocol": "freedom"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Три конфигурации будут объединены следующим образом:
|
||||
|
||||
```json
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "debug" // объект верхнего уровня перезаписывает предыдущий
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "socks", // перезапись элемента с тем же tag
|
||||
"protocol": "socks",
|
||||
"listen": "127.0.0.1",
|
||||
"port": 1080
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "block", // добавлено в начало outbounds
|
||||
"protocol": "blackhole"
|
||||
},
|
||||
{
|
||||
"tag": "direct",
|
||||
"protocol": "freedom"
|
||||
},
|
||||
{
|
||||
"tag": "direct2", // добавлено в конец, так как имя файла 03_tail.json содержит tail
|
||||
"protocol": "freedom"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
::: tip
|
||||
Вы можете использовать команду `xray run -confdir=./confs -dump` для просмотра объединенной конфигурации. Однако, поскольку ядро использует формат данных protobuf, формат вывода конфигурации для параметра `-dump` будет отличаться.
|
||||
:::
|
||||
|
||||
|
||||
Reference in New Issue
Block a user