Skip to content

Сервисы

services запускают фоновые компоненты, которые не являются ни входящими, ни исходящими: замену systemd-resolved, API управления сервером Shadowsocks, DERP-ретранслятор Tailscale и несколько служебных помощников. Форма записи — тот же плоский конверт, что и везде в конфигурации: type / tag плюс собственные поля выбранного типа на том же уровне.

Конверт

ПолеТипПо умолчаниюДопустимые значенияОписание
typestringresolved | ssm-api | derp | ccm | ocm | oom-killerТип сервиса. Определяет, в какую структуру параметров декодируется остальная часть объекта. Некоторые типы существуют только в сборках с соответствующим тегом — см. «Примечания».
tagstringУникальное имя этого сервиса; используется в строках журнала.

Исходный код: option/service.go:16-20 · зафиксировано на v1.13.15 (3708fa1)

Типы сервисов

ТипЧто запускает
resolvedПолная замена systemd-resolved: DNS-слушатель-заглушка (по умолчанию 127.0.0.53:53), отвечающий через DNS sing-box. Работает в паре с типом DNS-сервера resolved.
ssm-apiShadowsocks 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_port53.
  • ssm-api принимает отображение servers (путь → тег входящего Shadowsocks) и необязательный cache_path.
  • Доступность ограничена тегами сборки: derp требует with_tailscale, ccmwith_ccm, ocmwith_ocm. resolved, ssm-api и oom-killer компилируются всегда.
  • Незарегистрированный type приводит к ошибке запуска "unknown service type".

Сравнение с другими ядрами

  • Xray-core не имеет списка сервисов; ближайшие аналоги — блоки API и Метрики, которые поднимают управляющие слушатели из отдельных ключей конфигурации.
  • mihomo предоставляет управление через внешний контроллер, а не через настраиваемые фоновые сервисы.

Исходный код: option/service.go:16-20 · v1.13.15 (3708fa1)

Core Tutorial от Argsment