Skip to content

بازپخش GOST — mihomo

mihomo می‌تواند یک سرور بازپخش GOST را به‌عنوان خروجی با استفاده از پروتکل بازپخش GOST شماره‌گیری کند. اتصال می‌تواند متن ساده یا پیچیده در TLS باشد، به‌صورت اختیاری با چندسوسازی جریان، و با یک جفت نام کاربری/گذرواژه احراز هویت شود.

خروجی

ورودی زیر proxies: با type: gost-relay. این BasicOption (فیلدهای مشترک خروجی) را در خود جای می‌دهد.

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
namestring(required)<string>نام یکتای پراکسی.
serverstring(required)<host>میزبان/IP سرور بازپخش GOST.
portint(required)<port>پورت سرور بازپخش GOST.
forwardboolfalsetrue | falseحالت فوروارد: درخواست بازپخش را با آدرس مقصد خالی ارسال کن و بگذار سرور به‌جای آدرسی که mihomo درخواست کرده، به بالادست از پیش پیکربندی‌شدهٔ خودش مسیریابی کند.
udpboolfalsetrue | falseفعال‌سازی بازپخش UDP.
tlsboolfalsetrue | falseپیچیدن اتصال بازپخش در TLS.
muxboolfalsetrue | falseچندسوسازی چند جریان روی یک اتصال (smux).
snistring(server name)<SNI>مقدار SNI در TLS هنگامی که `tls` روشن است. پیش‌فرض آن `server` است.
usernamestring(unset)<string>نام کاربری احراز هویت بازپخش.
passwordstring(unset)<string>گذرواژهٔ احراز هویت بازپخش.
skip-cert-verifyboolfalsetrue | falseغیرفعال‌سازی راستی‌آزمایی TLS (فقط برای آزمایش).
fingerprintstring(unset)<SHA256 hex>تثبیت گواهی TLS سرور به این اثرانگشت.
certificatestring(unset)<PEM file path>گواهی کلاینت (mTLS).
private-keystring(unset)<key file path>کلید خصوصی متناظر با `certificate`.
client-fingerprintstring(global)chrome | firefox | safari | ios | edge | random | randomizedاثرانگشت client-hello در uTLS که باید تقلید شود.

منبع: adapter/outbound/gost_relay.go:19-36 · ثابت‌شده در v1.19.27 (5184081)

مثال‌ها

خروجی — بازپخش ساده با احراز هویت:

yaml
proxies:
  - name: gost-srv
    type: gost-relay
    server: relay.example.com
    port: 8443
    username: <username>
    password: <password>
    udp: true

خروجی — بازپخش روی TLS با چندسوسازی:

yaml
proxies:
  - name: gost-tls
    type: gost-relay
    server: relay.example.com
    port: 443
    tls: true
    sni: relay.example.com
    mux: true
    username: <username>
    password: <password>
    udp: true

نکات

  • به‌طور پیش‌فرض mihomo مقصد درخواست‌شده را به سرور بازپخش ارسال می‌کند و سرور از طرف آن به آنجا متصل می‌شود. با forward: true، درخواست بازپخش یک آدرس مقصد خالی را حمل می‌کند، بنابراین سرور اتصال را به‌جای آدرسی که mihomo درخواست کرده، به بالادست از پیش پیکربندی‌شدهٔ خودش مسیریابی می‌کند — هنگام زنجیره‌کردن به یک بازپخش که از پیش یک گام بعدی ثابت دارد سودمند است.
  • mux اتصال (اختیاراً TLS) را در یک نشست smux می‌پیچد و به‌ازای هر شماره‌گیری یک جریان باز می‌کند و چندین اتصال منطقی را روی یک سوکت زیرین چندسوسازی می‌کند.
  • tls ‏TLS را برای اتصال بازپخش فعال می‌کند. sni نام سرور دست‌دهی را بازنویسی می‌کند (با پیش‌فرض serverskip-cert-verify، fingerprint، certificate/private-key (mTLS)، و client-fingerprint (uTLS) لایهٔ TLS را تنظیم می‌کنند. این‌ها تا زمانی که tls روشن نباشد هیچ اثری ندارند.
  • udp: true بازپخش UDP را از طریق سرور فعال می‌کند.

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

  • GOST یک پروژهٔ بازپخش جداگانه با پروتکل مخصوص خودش است. نه Xray-core و نه sing-box کلاینت بازپخش GOST توکار ندارند، بنابراین این خروجی مخصوص mihomo است — برای رسیدن به یک نقطه‌انتهایی GOST از آن هسته‌ها باید آن را با پروتکلی که هر دو صحبت می‌کنند جلوبندی کنید (مثلاً یک گام Shadowsocks یا SOCKS).

منبع: adapter/outbound/gost_relay.go:19-36 · v1.19.27 (5184081)

Core Tutorial اثر Argsment