ترابری 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 هیدیفای فقط بدون ماسک کار میکند.