پرش به محتویات

ترابری mKCP

همهٔ قابلیت‌های هیدیفای

mKCP یک پروتکل پراکسی (VLESS، VMess، Trojan و…) را روی UDP با KCP حمل می‌کند؛ پروتکلی مطمئن که بسته‌های گم‌شده را سریع دوباره می‌فرستد. این ترابری V2Ray با "type": "mkcp" (یا "kcp") در یک outbound یا inbound است و همان mKCP نسخهٔ ۲۶ Xray است.

چرا از آن استفاده کنیم

  • شبکه TCP را قطع یا کند می‌کند ولی UDP را عبور می‌دهد.
  • اتصال بسته‌های زیادی گم می‌کند: KCP زودتر از TCP دوباره می‌فرستد و سرعت را بالا نگه می‌دارد، به بهای ترافیک بیشتر.
  • به سرور Xray وصل می‌شوید که mKCP ارائه می‌دهد.

چطور از فیلترینگ عبور می‌کند

mKCP به‌تنهایی UDP ساده با سرآیندی قابل‌شناسایی است. برای پنهان کردنش به outbound یک ماسک UDP finalmask بدهید، همان‌طور که Xray از زمانی که header و seed در mKCP به آن‌جا منتقل شدند انجام می‌دهد:

  • mkcp-legacy با value هر بسته را با AES-GCM رمز می‌کند (همان seed قدیمی).
  • mkcp-legacy با header ‏(dns، dtls، srtp، utp، wechat، wireguard) هر بسته را شبیه آن پروتکل می‌کند (همان header قدیمی).
  • ماسک‌های UDP دیگر (noise، salamander و…) هم کار می‌کنند.

سرور باید همان ماسک‌ها را داشته باشد. TLS هم با بلوک tls در outbound می‌تواند درون mKCP اجرا شود.

چطور کار می‌کند

  • کلاینت برای هر اتصال یک سوکت UDP باز می‌کند و یک نشست KCP روی آن اجرا می‌کند.
  • سرور همهٔ نشست‌ها را از درگاه UDP ورودی می‌خواند و آن‌ها را با فرستنده و شمارهٔ نشست از هم جدا می‌کند.
  • دست‌دادن جداگانه‌ای ندارد: پروتکل پراکسی درونی فوراً شروع می‌شود.

پیکربندی

به برچسب ساخت with_kcp نیاز دارد. بدون آن، کانفیگ دارای mKCP با خطای «mKCP is not included in this build» متوقف می‌شود.

{
  "type": "vless",
  "server": "example.com",
  "server_port": 4443,
  "uuid": "b831381d-6324-4d53-ad4f-8cda48b30811",
  "transport": { "type": "mkcp", "uplink_capacity": 20, "downlink_capacity": 100 },
  "finalmask": { "udp": [{ "type": "mkcp-legacy", "settings": { "value": "a password" } }] }
}
فیلد نوع پیش‌فرض معنی
mtu عدد 1350 بزرگ‌ترین بسته به بایت. دست‌کم 21.
tti عدد 50 بازهٔ به‌روزرسانی به میلی‌ثانیه، از 10 تا 1000. کمتر یعنی سریع‌تر و ترافیک بیشتر.
uplink_capacity عدد 5 سرعت آپلود هدف به MB/s.
downlink_capacity عدد 20 سرعت دانلود هدف به MB/s.
cwnd_multiplier عدد 1 ضریب پنجرهٔ ازدحام.
max_sending_window عدد 2097152 بزرگ‌ترین بافر ارسال به بایت. دست‌کم برابر mtu.

فیلدها و پیش‌فرض‌ها همان kcpSettings در Xray 26 است. در هر دو جهت با Xray 26.10.21 و 26.3.27 آزموده شد، بدون ماسک و با ماسک‌های aes128gcm و wechat. Xray 26.3 این ماسک‌ها را mkcp-aes128gcm و header-wechat می‌نامد؛ روی شبکه یکسان‌اند.

inboundها finalmask نمی‌پذیرند، پس سرور mKCP هیدیفای فقط بدون ماسک کار می‌کند.

همچنین ببینید


اخرین بروزرسانی: 26 فوریهٔ 2026

نظرات