Skip to content

سرویس‌ها ​

services مؤلفه‌های پس‌زمینه‌ای را اجرا می‌کند که نه ورودی‌اند و نه خروجی: ‏API ‏sing-box، جایگزین systemd-resolved، ‏API مدیریت سرور Shadowsocks، بازپخش Tailscale DERP، سرور realm برای Hysteria، اشتراک دستگاه‌های 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)

انواع سرویس ​

نوعچه چیزی اجرا می‌کند
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 همیشه در ساخت حاضرند. باینری‌های انتشار رسمی همهٔ این برچسب‌ها را دارند.
  • ‏api ‏ListenOptions را درون خود دارد. کلاینت‌ها با 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)

Core Tutorial اثر Argsment