Skip to content

服务 ​

services 运行既非入站也非出站的后台组件:sing-box API、systemd-resolved 替代品、Shadowsocks 服务器管理 API、Tailscale DERP 中继、Hysteria realm 服务器、USB/IP 设备共享,以及若干辅助组件。条目形状与配置中其他位置一致 — 扁平的 type / tag 信封加上所选类型自身的字段,处于同一层级。

信封 ​

字段类型默认值允许值描述
typestring—api | resolved | ssm-api | hysteria-realm | derp | ccm | ocm | oom-killer | usbip-server | usbip-client服务类型。决定对象其余部分解码到哪个选项结构体。部分类型只存在于带相应标签的构建中 — 见说明。
tagstring——该服务的唯一名称,用于日志行。

源码: option/service.go:18-22 · 锚定版本 v1.14.2 (af6e64c)

服务类型 ​

类型运行内容
apising-box API:用于观察与控制运行中实例的 gRPC / gRPC-Web 服务器 —— 日志、出站组、Clash 模式、连接等。供图形客户端的远程控制、sing-box Dashboard 与 sing-box api 命令使用。见 API 服务。
resolvedsystemd-resolved 的直接替代品:DNS 存根监听器(默认 127.0.0.53:53),通过 sing-box DNS 应答。与 resolved DNS 服务器类型配对使用。
ssm-apiShadowsocks Server Management API — 在运行中的 Shadowsocks 入站上创建、移除用户的 HTTP 端点。
hysteria-realmHysteria2 NAT 穿透的会合服务器。见 Hysteria2 页面的 realm 字段。见 Hysteria realm。
derp内嵌的 Tailscale DERP 中继服务器。见 Tailscale。
ccm / ocmClaude Code Multiplexer / OpenAI Codex Multiplexer:通过自定义令牌把本机的 Claude Code 或 OpenAI Codex 订阅共享给远程客户端,OAuth 鉴权在本机完成。
oom-killer内存不足保护(memory_limit、safety_margin、检查间隔),用于内存受限的部署。
usbip-server / usbip-client通过 USB/IP 导出 / 导入 USB 设备。见 USB/IP。

最简示例 ​

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 入站 tag)和可选的 cache_path。
  • 构建标签决定可用性:derp 需要 with_tailscale,ccm 需要 with_ccm,ocm 需要 with_ocm,hysteria-realm 需要 with_quic,usbip-server / usbip-client 需要 with_usbip(Linux、Windows,以及带 CGO 的 macOS)。api、resolved、ssm-api 与 oom-killer 始终编译在内。官方发布的二进制包含以上全部标签。
  • api 内嵌 ListenOptions。客户端以 authorization: Bearer <secret> 认证;secret 为空时不做认证,因此在非回环地址上监听时务必设置。可选的 dashboard 块会下载 sing-box Dashboard,并在同一监听器的 /dashboard/ 下提供。
  • hysteria-realm 只承载信令:位于 NAT 之后的 Hysteria2 服务端登记其通过 STUN 发现的公网地址,客户端查询后打洞建立直连 QUIC 连接,此后代理流量在两者之间直接传输。
  • usbip-server 默认监听 3240 端口,并与标准 USB/IP 客户端保持互通;usbip-client 要求服务端为 sing-box(sing-usbip)。
  • 未注册的 type 会在启动时报 "unknown service type"。

跨内核说明 ​

  • Xray-core 没有服务列表;最接近的对应物是 API 与 Metrics 块,它们从专门的配置键生成管理监听器。
  • mihomo 通过外部控制器暴露管理能力,而不是可配置的后台服务。

源码: option/service.go:18-22 · v1.14.2 (af6e64c)

由 Argsment 出品的 Core Tutorial