Сервисы
services запускают фоновые компоненты, которые не являются ни входящими, ни исходящими: замену systemd-resolved, API управления сервером Shadowsocks, DERP-ретранслятор Tailscale и несколько служебных помощников. Форма записи — тот же плоский конверт, что и везде в конфигурации: type / tag плюс собственные поля выбранного типа на том же уровне.
Конверт
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
type | string | — | resolved | ssm-api | derp | ccm | ocm | oom-killer | Тип сервиса. Определяет, в какую структуру параметров декодируется остальная часть объекта. Некоторые типы существуют только в сборках с соответствующим тегом — см. «Примечания». |
tag | string | — | — | Уникальное имя этого сервиса; используется в строках журнала. |
Исходный код: option/service.go:16-20 · зафиксировано на v1.13.15 (3708fa1)
Типы сервисов
| Тип | Что запускает |
|---|---|
resolved | Полная замена systemd-resolved: DNS-слушатель-заглушка (по умолчанию 127.0.0.53:53), отвечающий через DNS sing-box. Работает в паре с типом DNS-сервера resolved. |
ssm-api | Shadowsocks Server Management API — HTTP-интерфейс для создания и удаления пользователей на работающем входящем Shadowsocks. |
derp | Встроенный сервер DERP-ретрансляции Tailscale. См. Tailscale. |
ccm / ocm / oom-killer | Служебные помощники (управление соединениями/объектами, защита от нехватки памяти), предназначенные для встраиваемых и мобильных развёртываний. |
Минимальный пример
json
{
"services": [
{
"type": "resolved",
"tag": "resolved",
"listen": "127.0.0.53",
"listen_port": 53
}
]
}Примечания
resolvedвстраивает те жеListenOptions, что и входящие; если поля опущены,listenпо умолчанию —127.0.0.53, аlisten_port—53.ssm-apiпринимает отображениеservers(путь → тег входящего Shadowsocks) и необязательныйcache_path.- Доступность ограничена тегами сборки:
derpтребуетwith_tailscale,ccm—with_ccm,ocm—with_ocm.resolved,ssm-apiиoom-killerкомпилируются всегда. - Незарегистрированный
typeприводит к ошибке запуска "unknown service type".
Сравнение с другими ядрами
- Xray-core не имеет списка сервисов; ближайшие аналоги — блоки API и Метрики, которые поднимают управляющие слушатели из отдельных ключей конфигурации.
- mihomo предоставляет управление через внешний контроллер, а не через настраиваемые фоновые сервисы.
Исходный код: option/service.go:16-20 · v1.13.15 (3708fa1)
