سرویسها
services مؤلفههای پسزمینهای را اجرا میکند که نه ورودیاند و نه خروجی: API sing-box، جایگزین systemd-resolved، API مدیریت سرور Shadowsocks، بازپخش Tailscale DERP، سرور realm برای Hysteria، اشتراک دستگاههای USB/IP و چند یاور. شکل مدخل با بقیهٔ پیکربندی یکسان است — پاکت تخت type / tag بهعلاوهٔ فیلدهای خود نوع انتخابشده در همان سطح.
پاکت
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
type | string | — | api | resolved | ssm-api | hysteria-realm | derp | ccm | ocm | oom-killer | usbip-server | usbip-client | نوع سرویس. تعیین میکند بقیهٔ شیء به کدام ساختار گزینهها رمزگشایی شود. بعضی انواع فقط در ساختهای دارای برچسب مربوط وجود دارند — نکات را ببینید. |
tag | string | — | — | نام یکتای این سرویس، در خطوط لاگ استفاده میشود. |
منبع: option/service.go:18-22 · ثابتشده در v1.14.2 (af6e64c)
انواع سرویس
| نوع | چه چیزی اجرا میکند |
|---|---|
api | API sing-box: سرور gRPC / gRPC-Web برای مشاهده و کنترل نمونهٔ در حال اجرا — لاگها، گروههای خروجی، حالت Clash، اتصالها. کنترل از راه دور کلاینتهای گرافیکی، Dashboard sing-box و فرمان sing-box api از آن استفاده میکنند. به سرویس API مراجعه کنید. |
resolved | جایگزین بیواسطهٔ systemd-resolved: یک شنوندهٔ DNS استاب (پیشفرض 127.0.0.53:53) که از راه DNS خود sing-box پاسخ میدهد. با نوع سرور DNS resolved جفت میشود. |
ssm-api | Shadowsocks Server Management API — یک نقطهٔ HTTP برای ساخت و حذف کاربران روی ورودی Shadowsocks در حال اجرا. |
hysteria-realm | سرور نقطهٔ ملاقات برای عبور از NAT در Hysteria2. فیلدهای realm را در صفحهٔ Hysteria2 ببینید. به Hysteria realm مراجعه کنید. |
derp | سرور بازپخش Tailscale DERP تعبیهشده. Tailscale را ببینید. |
ccm / ocm | Claude Code Multiplexer / OpenAI Codex Multiplexer: اشتراک اشتراکِ محلی Claude Code یا OpenAI Codex با کلاینتهای راه دور از طریق توکنهای سفارشی، در حالی که احراز هویت OAuth روی دستگاه محلی انجام میشود. |
oom-killer | محافظ کمبود حافظه (memory_limit، safety_margin، بازههای بررسی) برای استقرارهای با حافظهٔ محدود. |
usbip-server / usbip-client | صادر / وارد کردن دستگاههای USB از طریق USB/IP. به 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(مسیر ← tag ورودی Shadowsocks) وcache_pathاختیاری میگیرد. - برچسبهای ساخت، در دسترس بودن را تعیین میکنند:
derpبهwith_tailscale، ccmبهwith_ccm، ocmبهwith_ocm، hysteria-realmبهwith_quicوusbip-server/usbip-clientبهwith_usbipنیاز دارند (Linux، Windows و macOS با CGO). api، resolved، ssm-apiوoom-killerهمیشه در ساخت حاضرند. باینریهای انتشار رسمی همهٔ این برچسبها را دارند. -
apiListenOptionsرا درون خود دارد. کلاینتها باauthorization: Bearer <secret>احراز هویت میکنند؛secretخالی احراز هویت را غیرفعال میکند، پس روی هر شنوندهٔ غیر loopback آن را تنظیم کنید. بلوک اختیاریdashboard، Dashboard sing-box را دانلود کرده و روی همان شنونده در/dashboard/ارائه میکند. -
hysteria-realmفقط سیگنالدهی را حمل میکند: سرور Hysteria2 پشت NAT آدرسهای کشفشده با 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)
