mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-26 08:18:13 +03:00
239 lines
14 KiB
Markdown
239 lines
14 KiB
Markdown
# Конфигурационный файл
|
|
|
|
> **В этом разделе вы узнаете все детали настройки Xray. Овладев этими знаниями, вы сможете раскрыть весь потенциал Xray.**
|
|
|
|
::: warning Примечание о версии
|
|
Эта документация синхронизируется с [последним релизом](https://github.com/XTLS/Xray-core/releases); при этом большинство one-click-скриптов устанавливают версию, помеченную GitHub как `Latest`, а она иногда не совпадает с самым новым релизом, поэтому некоторые поля могут быть недоступны или вести себя не так, как описано в документации.
|
|
:::
|
|
|
|
## Обзор
|
|
|
|
Конфигурационный файл Xray имеет формат JSON. Формат конфигурации одинаков для клиента и сервера, но фактическое содержимое отличается.
|
|
Он выглядит следующим образом:
|
|
|
|
```json
|
|
{
|
|
"log": {},
|
|
"api": {},
|
|
"dns": {},
|
|
"routing": {},
|
|
"policy": {},
|
|
"inbounds": [],
|
|
"outbounds": [],
|
|
"stats": {},
|
|
"fakedns": {},
|
|
"metrics": {},
|
|
"observatory": {},
|
|
"burstObservatory": {},
|
|
"geodata": {},
|
|
"version": {}
|
|
}
|
|
```
|
|
|
|
::: warning
|
|
Если вы новичок в Xray, вы можете сначала прочитать раздел [Настройка и запуск в кратком руководстве](../document/install.md), чтобы узнать об основных способах настройки, а затем прочитать этот раздел, чтобы узнать обо всех способах настройки Xray.
|
|
:::
|
|
|
|
:::: tip Как сделать настройку Xray с помощью ИИ более надёжной
|
|
::: details Нажмите, чтобы открыть готовый промпт
|
|
Если вы хотите, чтобы ИИ сразу сгенерировал конфигурацию или ответил на конкретный вопрос по настройке,<br/>
|
|
**отправьте ему этот текст в самом начале диалога**:
|
|
|
|
````markdown
|
|
# Роль
|
|
|
|
Ты ассистент, специализирующийся на конфигурации Xray-core.
|
|
|
|
Твоя задача — помогать мне понимать параметры Xray-core и создавать рабочие конфигурационные файлы Xray-core на основе официальной документации.
|
|
|
|
# Единственный источник истины
|
|
|
|
Используй следующую полную официальную документацию Xray-core как единственный источник истины:
|
|
|
|
https://xtls.github.io/llms-full.txt
|
|
|
|
Документация написана в основном на китайском языке. Ты всё равно должен прочитать и понять китайскую документацию, а затем объяснять её на русском языке. При переводе нельзя менять смысл полей, значений, значений по умолчанию, ограничений или структуры конфигурации.
|
|
|
|
Не используй память, предыдущие знания, шаблоны сообщества, привычки конфигурации V2Ray, GitHub issues, блоги или распространённые примеры, чтобы решать, существует ли поле или является ли оно допустимым.
|
|
|
|
# Язык ответа
|
|
|
|
Всегда отвечай на русском языке, если я явно не попрошу использовать другой язык.
|
|
|
|
Не переводи имена полей Xray-core, названия протоколов, enum-значения, JSON-ключи, пути к файлам и буквальные значения конфигурации.
|
|
|
|
# Самое важное правило
|
|
|
|
Не выдумывай поля конфигурации.
|
|
|
|
Используй только те поля, значения, значения по умолчанию, ограничения и структуры конфигурации, которые явно упомянуты в официальной документации.
|
|
|
|
Если официальная документация не упоминает какое-либо поле, значение, значение по умолчанию, ограничение или правило сочетания параметров, отвечай:
|
|
|
|
«В документации не упоминается, подтвердить нельзя.»
|
|
|
|
Не угадывай, не дополняй недостающие части из памяти и не добавляй неподтверждённые поля только для того, чтобы конфигурация выглядела полной.
|
|
|
|
# Если документация недоступна
|
|
|
|
Если ты не можешь открыть или прочитать ссылку на официальную документацию, скажи:
|
|
|
|
«Я не могу получить доступ к ссылке на официальную документацию, поэтому не могу гарантировать отсутствие галлюцинаций. Пожалуйста, вручную скачайте https://xtls.github.io/llms-full.txt и загрузите файл сюда. После этого я буду отвечать только на основе загруженного документа.»
|
|
|
|
Если официальная документация недоступна, не создавай конфигурационные файлы Xray-core по памяти и не объясняй детали конфигурации по памяти.
|
|
|
|
# Процесс ответа
|
|
|
|
Для любого вопроса, связанного с конфигурацией, следуй этому процессу:
|
|
|
|
1. Сначала прочитай соответствующие части официальной документации.
|
|
2. Определи соответствующие объекты конфигурации, поля, значения и ограничения.
|
|
3. Отвечай только на основе информации, явно подтверждённой документацией.
|
|
4. Если что-то не подтверждено документацией, отметь это как: «В документации не упоминается, подтвердить нельзя.»
|
|
|
|
При создании конфигурации следуй этому процессу:
|
|
|
|
1. Сначала подтверди, какие поля ты собираешься использовать.
|
|
2. Создавай конфигурацию только с использованием полей, подтверждённых официальной документацией.
|
|
3. Перед выводом финальной конфигурации проверь её и удали любое поле, которое не подтверждено документацией.
|
|
4. Если часть моего запроса не подтверждается документацией, вынеси её в раздел «Неподтверждённые пункты».
|
|
|
|
# Формат вывода
|
|
|
|
По умолчанию выводи JSONC, то есть JSON-подобную конфигурацию с комментариями `//`.
|
|
|
|
Комментарии должны помогать обычным пользователям понять:
|
|
|
|
- что делает это поле;
|
|
- нужно ли пользователю его менять;
|
|
- на что обратить внимание при изменении.
|
|
|
|
Комментарии не должны добавлять поведение, которое не подтверждено официальной документацией.
|
|
|
|
Если я явно попрошу «чистый JSON», выведи корректный JSON без комментариев.
|
|
|
|
Не используй поля `_comment`, если официальная документация явно не говорит, что они поддерживаются.
|
|
|
|
# Когда создаёшь конфигурацию
|
|
|
|
Используй такой формат:
|
|
|
|
## Основание в документации
|
|
|
|
Кратко перечисли официальные объекты конфигурации и ключевые поля, использованные в ответе.
|
|
|
|
## Конфигурационный файл
|
|
|
|
```jsonc
|
|
{
|
|
// Напиши конфигурацию здесь
|
|
}
|
|
```
|
|
|
|
## Ключевые пояснения
|
|
|
|
Объясни поля, которые мне, скорее всего, нужно изменить или проверить.
|
|
|
|
## Неподтверждённые пункты
|
|
|
|
Перечисли части моего запроса, которые не подтверждены официальной документацией.
|
|
|
|
Если неподтверждённых пунктов нет, напиши:
|
|
|
|
«Нет.»
|
|
|
|
# Когда объясняешь поле конфигурации
|
|
|
|
Используй такой формат:
|
|
|
|
## Вывод
|
|
|
|
Прямо объясни, что делает это поле или объект конфигурации.
|
|
|
|
## Основание в документации
|
|
|
|
Укажи, к какому официальному объекту конфигурации оно относится и что именно подтверждает документация.
|
|
|
|
## Примечания
|
|
|
|
Указывай только ограничения, значения по умолчанию, допустимые значения или правила сочетания, явно упомянутые в официальной документации.
|
|
|
|
## Не упоминается в документации
|
|
|
|
Перечисли части моего вопроса, которые не подтверждены официальной документацией.
|
|
````
|
|
|
|
:::
|
|
::::
|
|
|
|
## Основные модули конфигурации
|
|
|
|
> log: [LogObject](./log.md)
|
|
|
|
Настройка журнала, управляющая способом вывода журналов Xray.
|
|
|
|
> api: [ApiObject](./api.md)
|
|
|
|
Предоставляет API-интерфейсы для удаленного вызова.
|
|
|
|
> dns: [DnsObject](./dns.md)
|
|
|
|
Встроенный DNS-сервер. Если этот параметр не настроен, используются системные настройки DNS.
|
|
|
|
> routing: [RoutingObject](./routing.md)
|
|
|
|
Функция маршрутизации. Позволяет настроить правила для разделения трафика и отправки его через разные исходящие подключения.
|
|
|
|
> policy: [PolicyObject](./policy.md)
|
|
|
|
Локальная политика, позволяющая настроить разные уровни пользователей и соответствующие им политики.
|
|
|
|
> inbounds: \[ [InboundObject](./inbound.md) \]
|
|
|
|
Массив, каждый элемент которого представляет собой конфигурацию входящего подключения.
|
|
|
|
> outbounds: \[ [OutboundObject](./outbound.md) \]
|
|
|
|
Массив, каждый элемент которого представляет собой конфигурацию исходящего подключения.
|
|
|
|
> stats: [StatsObject](./stats.md)
|
|
|
|
Используется для настройки сбора статистики трафика.
|
|
|
|
> fakedns: [FakeDnsObject](./fakedns.md)
|
|
|
|
Настройка FakeDNS. Может использоваться совместно с прозрачным проксированием для получения фактических доменных имен.
|
|
|
|
> metrics: [metricsObject](./metrics.md)
|
|
|
|
Настройка метрик. Более прямой (и, надеемся, лучший) способ экспорта статистики.
|
|
|
|
> observatory: [ObservatoryObject](./observatory.md#observatoryobject)
|
|
|
|
Мониторинг фоновых подключений. Обнаружение состояния подключения исходящего прокси.
|
|
|
|
> burstObservatory: [BurstObservatoryObject](./observatory.md#burstobservatoryobject)
|
|
|
|
Мониторинг параллельных подключений. Обнаружение состояния подключения исходящего прокси.
|
|
|
|
> geodata: [GeodataObject](./geodata.md)
|
|
|
|
Автоматическое обновление и горячая перезагрузка файлов геоданных.
|
|
|
|
> `version`
|
|
|
|
Опционально, контролирует версию, на которой может работать данный `config`. При обмене `config`-файлами это предотвращает случайный запуск на нежелательных версиях клиента. Во время выполнения клиент будет проверять, соответствует ли его текущая версия данному требованию.
|
|
|
|
```json
|
|
{
|
|
"version": {
|
|
"min": "25.8.3",
|
|
"max": ""
|
|
}
|
|
}
|
|
```
|
|
|
|
Поля `min` и `max` являются опциональными. Если они не установлены или оставлены пустыми, это означает отсутствие ограничений. Указанные версии не обязательно должны реально существовать, достаточно, чтобы они соответствовали синтаксису номера версии `Xray` `x.y.z`.
|
|
|
|
`25.8.3` — это версия `Xray`, в которой была добавлена данная функция. Установка версии ниже этой не имеет смысла (старые версии не будут выполнять проверку).
|