Входящие
inbounds — массив слушающих сервисов. Каждый элемент — один InboundDetourConfig: имя протокола, адрес прослушивания, объект settings конкретного протокола и необязательные блоки транспорта (streamSettings) и определения трафика (sniffing). Содержимое settings хранится как сырой JSON и декодируется тем обработчиком, который выбирает protocol.
Параметры
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
protocol | string | — | dokodemo-door | tunnel | http | socks | mixed | shadowsocks | vless | vmess | trojan | wireguard | hysteria | tun | Какой обработчик входящих запускать. Перед поиском в реестре имя приводится к нижнему регистру, так что сопоставление нечувствительно к регистру. `tunnel` — псевдоним `dokodemo-door`; `mixed` использует общий обработчик SOCKS (HTTP + SOCKS на одном порту). |
port | *PortList | — | <int> | "<from>-<to>" | "port,port,..." | Порт(ы) для прослушивания: одно целое число, строка-диапазон или разделённый запятыми список того и другого. Обязателен для протоколов на сокетах; `tun` игнорирует его и вместо этого читает из сетевого интерфейса. |
listen | *Address | 0.0.0.0 | — | Адрес для привязки. По умолчанию — все интерфейсы; укажите 127.0.0.1, чтобы входящий оставался только локальным. |
settings | *json.RawMessage | — | — | Объект настроек конкретного протокола; его декодирует обработчик, выбранный полем protocol. Формат для каждого протокола описан на соответствующей странице. |
tag | string | — | — | Уникальное имя этого входящего. На него ссылаются правила маршрутизации (inboundTag), им же помечаются счётчики статистики. |
streamSettings | *StreamConfig | — | — | Транспорт и безопасность слушателя (raw / ws / grpc / xhttp…, tls / reality). См. страницы «Транспорт» и «TLS». |
sniffing | *SniffingConfig | — | — | Определение типа трафика на принятых подключениях. Поля — ниже. |
Исходный код: infra/conf/xray.go:126-134 · зафиксировано на v26.7.28 (5ca6f4b)
Сниффинг (sniffing)
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
enabled | bool | false | true | false | Включить сниффинг для этого входящего. |
destOverride | StringList | — | "http" | "tls" | "quic" | "fakedns" | "fakedns+others" | Список протоколов, для которых определённое сниффингом назначение заменяет исходный адрес цели. `https` и `ssl` принимаются как псевдонимы `tls`. |
domainsExcluded | StringList | — | — | Домены, сохраняющие исходное назначение, даже если сниффинг дал совпадение. |
ipsExcluded | StringList | — | — | IP/CIDR назначения, исключаемые из подмены назначения. |
metadataOnly | bool | false | true | false | Использовать для определения только метаданные соединения; байты полезной нагрузки не анализируются. |
routeOnly | bool | false | true | false | Использовать определённый сниффингом домен только для решений маршрутизации, без перезаписи назначения. |
Исходный код: infra/conf/xray.go:55-62 · зафиксировано на v26.7.28 (5ca6f4b)
Минимальный пример
json
{
"inbounds": [
{
"tag": "socks-in",
"protocol": "socks",
"listen": "127.0.0.1",
"port": 1080,
"settings": { "udp": true },
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
}
]
}Примечания
- Неизвестный
protocolприводит к отказу при запуске с ошибкойunknown config id; таблица поиска — фиксированный реестр, а не система плагинов. tagдолжен быть уникален среди входящих — правила маршрутизации и подсистема статистики адресуют входящие по тегу.tun— единственный входящий, которому не нуженport: он захватывает пакеты с сетевого интерфейса. См. TUN.- Сниффинг перезаписывает назначение до запуска маршрутизации — именно это позволяет доменным правилам совпадать с подключениями, пришедшими по IP.
routeOnlyограничивает эффект только маршрутизацией.
Сравнение с другими ядрами
- sing-box моделирует ту же концепцию как плоский объект на каждую запись —
type+tag+ поля конкретного типа на одном уровне вместо вложенного блокаsettings. См. Входящие sing-box. - mihomo не имеет массива
inboundsна верхнем уровне: типовые слушатели — это отдельные корневые ключи (port,socks-port,mixed-port, …) плюс списокlistenersдля дополнительных записей. См. HTTP и SOCKS и Перенаправление и TProxy.
Исходный код: infra/conf/xray.go:126-134 · v26.7.28 (5ca6f4b)
