Конфигурационный файл
В этом разделе вы узнаете все детали настройки Xray. Овладев этими знаниями, вы сможете раскрыть весь потенциал Xray.
Примечание о версии
Эта документация синхронизируется с последней версией (которая может быть pre-release); при этом большинство one-click-скриптов устанавливают версию, помеченную GitHub как Latest, а она иногда не совпадает с самой новой версией, поэтому некоторые поля могут быть недоступны или вести себя не так, как описано в документации.
Обзор
Конфигурационный файл Xray имеет формат JSON. Формат конфигурации одинаков для клиента и сервера, но фактическое содержимое отличается. Он выглядит следующим образом:
{
"env": {},
"log": {},
"api": {},
"dns": {},
"routing": {},
"policy": {},
"inbounds": [],
"outbounds": [],
"stats": {},
"fakedns": {},
"metrics": {},
"observatory": {},
"burstObservatory": {},
"geodata": {},
"version": {}
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WARNING
Если вы новичок в Xray, вы можете сначала прочитать раздел Настройка и запуск в кратком руководстве, чтобы узнать об основных способах настройки, а затем прочитать этот раздел, чтобы узнать обо всех способах настройки Xray.
Как сделать настройку Xray с помощью ИИ более надёжной
Нажмите, чтобы открыть готовый промпт
Если вы хотите, чтобы ИИ сразу сгенерировал конфигурацию или ответил на конкретный вопрос по настройке,
отправьте ему этот текст в самом начале диалога:
Помоги мне составить, проверить или понять конфигурацию Xray-core. Отвечай кратко и прежде всего решай мою практическую задачу.
Ниже приведена полная официальная документация Xray-core, объединяющая полный текст нескольких разделов. Изучи разделы, относящиеся к вопросу, чтобы проверить поля конфигурации, их значения и ограничения:
https://xtls.github.io/llms-full.txt
Документация написана на китайском языке; отвечай на русском, если я не попрошу другой язык, сохраняя имена полей и буквальные значения конфигурации без перевода.
При необходимости можно клонировать исходный код из https://github.com/XTLS/Xray-core.git, чтобы проверить детали реализации.
- Официальная документация всегда соответствует только самому новому релизу Xray-core (включая pre-release) и не указывает номер версии, которой соответствует. По умолчанию отвечай для самой новой версии и напоминай мне об этом, не приравнивая её к версии с меткой GitHub `Latest`; если я укажу старую версию, отдельно проверь совместимость и прямо сообщи, если подтвердить её не удалось.
- Задавай уточняющие вопросы одним списком только при нехватке ключевых сведений, влияющих на корректность конфигурации; остальные необходимые допущения указывай явно.
- Не выдумывай поля, значения по умолчанию или выводы о совместимости и не переноси напрямую конфигурации V2Ray или старых версий Xray. Отмечай всё, что не удалось подтвердить, и подкрепляй ключевые выводы ссылками на официальную документацию или её разделы.
- При создании конфигурации предоставь минимальный полный пример, отвечающий требованиям, по умолчанию используя синтаксис JSON с небольшим количеством комментариев `//` на русском языке; если я попрошу TOML или YAML, используй соответствующий формат.
- Явно обозначай заполнителями адреса, UUID, ключи, пути к сертификатам и другие данные, которые нужно заменить, и кратко поясняй ключевые настройки и способ проверки. Если конфигурация не проверялась запуском, прямо сообщи об этом.2
3
4
5
6
7
8
9
10
11
12
Основные модули конфигурации
env: EnvObject
Переменные окружения для изменения некоторых базовых настроек Xray.
log: LogObject
Настройка журнала, управляющая способом вывода журналов Xray.
api: ApiObject
Предоставляет API-интерфейсы для удаленного вызова.
dns: DnsObject
Встроенный DNS-сервер. Если этот параметр не настроен, используются системные настройки DNS.
routing: RoutingObject
Функция маршрутизации. Позволяет настроить правила для разделения трафика и отправки его через разные исходящие подключения.
policy: PolicyObject
Локальная политика, позволяющая настроить разные уровни пользователей и соответствующие им политики.
inbounds: [ InboundObject ]
Массив, каждый элемент которого представляет собой конфигурацию входящего подключения.
outbounds: [ OutboundObject ]
Массив, каждый элемент которого представляет собой конфигурацию исходящего подключения.
stats: StatsObject
Используется для настройки сбора статистики трафика.
fakedns: FakeDnsObject
Настройка FakeDNS. Может использоваться совместно с прозрачным проксированием для получения фактических доменных имен.
metrics: metricsObject
Настройка метрик. Более прямой (и, надеемся, лучший) способ экспорта статистики.
observatory: ObservatoryObject
Мониторинг фоновых подключений. Обнаружение состояния подключения исходящего прокси.
burstObservatory: BurstObservatoryObject
Мониторинг параллельных подключений. Обнаружение состояния подключения исходящего прокси.
geodata: GeodataObject
Автоматическое обновление и горячая перезагрузка файлов геоданных.
version
Опционально, контролирует версию, на которой может работать данный config. При обмене config-файлами это предотвращает случайный запуск на нежелательных версиях клиента. Во время выполнения клиент будет проверять, соответствует ли его текущая версия данному требованию.
{
"version": {
"min": "25.8.3",
"max": ""
}
}2
3
4
5
6
Поля min и max являются опциональными. Если они не установлены или оставлены пустыми, это означает отсутствие ограничений. Указанные версии не обязательно должны реально существовать, достаточно, чтобы они соответствовали синтаксису номера версии Xray x.y.z.
25.8.3 — это версия Xray, в которой была добавлена данная функция. Установка версии ниже этой не имеет смысла (старые версии не будут выполнять проверку).