Skip to content

ShadowsocksR — sing-box

sing-box سمت کلاینت SSR را پیاده‌سازی می‌کند. ورودی پشتیبانی نمی‌شود — برای آن به یک سرور خاص SSR مانند ShadowsocksR-libev یا یکی از فورک‌های آن نیاز دارید.

خروجی

type: "shadowsocksr":

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
methodstring(required)aes-256-cfb | aes-128-ctr | chacha20-ietf | rc4-md5 | <other SSR ciphers>مجموعه‌رمز SSR. مجموعهٔ پذیرفته‌شده فهرست تاریخی مجموعه‌رمزهای SSR است — RC4، AES-CFB، AES-CTR، ChaCha20 و غیره. مجموعه‌رمزهای مدرن AEAD به خروجی معمولی Shadowsocks تعلق دارند.
passwordstring(required)<string>گذرواژهٔ سرور.
obfsstring(unset)plain | http_simple | http_post | random_head | tls1.2_ticket_authافزونهٔ مبهم‌سازی. `plain` بدون مبهم‌سازی؛ `http_simple` و `http_post` یک درخواست جعلی HTTP منتشر می‌کنند؛ `tls1.2_ticket_auth` یک resumption ‏TLS را تقلید می‌کند.
obfs_paramstring(unset)<string>پارامتر مخصوص افزونه. برای obfs HTTP، این هدر Host است.
protocolstringoriginorigin | auth_aes128_md5 | auth_aes128_sha1 | auth_sha1_v4 | auth_chain_a | auth_chain_bافزونهٔ لایهٔ پروتکل. `origin` بدون افزونه؛ خانوادهٔ `auth_*` احراز هویت به ازای هر بسته اضافه می‌کند.
protocol_paramstring(unset)<string>پارامتر لایهٔ پروتکل. بسیاری از افزونه‌ها از این به‌عنوان راهنمایی شمارش کاربر یا محدودیت نرخ استفاده می‌کنند.
networkNetworkList(tcp+udp)tcp | udp | محدود کردن به فقط TCP یا فقط UDP.

منبع: option/shadowsocksr.go:3-13 · ثابت‌شده در v1.13.11 (553cfa1)

DialerOptions و ServerOptions را درون خود جای می‌دهد.

مثال‌ها

SSR ساده با HTTP-obfs:

json
{
  "outbounds": [
    {
      "type": "shadowsocksr",
      "tag": "ssr-out",
      "server": "example.com",
      "server_port": 443,
      "method": "aes-256-cfb",
      "password": "<password>",
      "obfs": "http_simple",
      "obfs_param": "www.bing.com",
      "protocol": "auth_chain_a",
      "protocol_param": "32"
    }
  ]
}

obfs ‏TLS-ticket-auth:

json
{
  "outbounds": [
    {
      "type": "shadowsocksr",
      "server": "example.com",
      "server_port": 443,
      "method": "chacha20-ietf",
      "password": "<password>",
      "obfs": "tls1.2_ticket_auth",
      "obfs_param": "www.bing.com",
      "protocol": "auth_chain_b"
    }
  ]
}

نکات

  • این فقط کلاینت است. برای اجرای یک سرور SSR به یک دیمن اختصاصی SSR نیاز دارید — خروجی shadowsocksr در sing-box با یک نوع ورودی با همان نام جفت نشده است.
  • رشته‌های method، obfs و protocol پذیرفته‌شده فهرست تاریخی SSR هستند. مجموعه‌رمزهای «مدرن» Shadowsocks (AEAD، 2022-blake3-*) به خروجی Shadowsocks تعلق دارند.
  • افزونه‌های پروتکل auth_chain_* تنها مواردی هستند که امروز همچنان در استفادهٔ فعال هستند — نسخه‌های قدیمی‌تر auth_aes128_* و auth_sha1_v4 در برابر یک کلاس حملهٔ بازپخش که در ۲۰۱۸ شناسایی شد آسیب‌پذیر هستند.

نکات بین‌هسته‌ای

  • Xray-core از SSR پشتیبانی نمی‌کند. به SSR — Xray-core مراجعه کنید.
  • mihomo از cipher (نه method) و kebab-case برای فیلدهای پارامتر (obfs-param، protocol-param) استفاده می‌کند. به SSR — mihomo مراجعه کنید.

منبع: option/shadowsocksr.go:3-13 · v1.13.11 (553cfa1)

Core Tutorial اثر Argsment