Skip to content

ShadowsocksR — sing-box ​

sing-box پیاده‌سازی ShadowsocksR ندارد. نوع shadowsocksr شناخته می‌شود تا پیکربندی‌های موجود تجزیه شوند، اما هر خروجی (یا ورودی) shadowsocksr هنگام راه‌اندازی با خطا شکست می‌خورد. شِمای گزینه‌های زیر فقط به‌عنوان مرجع هنگام مهاجرت چنین پیکربندی‌هایی آمده است.

خروجی ​

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.14.2 (af6e64c)

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"
    }
  ]
}

نکات ​

  • خروجی shadowsocksr فقط یک stub است: گزینه‌هایش تجزیه می‌شوند اما ساختن آن همیشه شکست می‌خورد (include/registry.go:170-179). به‌جای آن از پراکسی ssr در mihomo استفاده کنید، یا سرور را به Shadowsocks یا پروتکل مدرن دیگری منتقل کنید.
  • رشته‌های 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.14.2 (af6e64c)

Core Tutorial اثر Argsment