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

Mieru

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

Mieru یک پروتکل پروکسی از پروژهٔ mieru است. همهٔ بایت‌هایی که می‌فرستد رمزنگاری شده‌اند و پرکنندهٔ تصادفی دارند، پس ترافیک هیچ سرآیند یا الگوی ثابتی برای شناسایی ندارد. روی TCP یا UDP کار می‌کند. در کانفیگ، خروجی "type": "mieru" است؛ هیدیفای یک ورودی mieru هم برای اجرای سرور دارد.

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

برای وصل شدن به یک سرور mieru (سرور رسمی mita یا ورودی mieru در sing-box) از آن استفاده کنید. به گواهی TLS و دامنه نیازی ندارد و می‌تواند از یک بازهٔ پورت استفاده کند. جایی که پروتکل‌های مبتنی بر TLS با بررسی SNI یا گواهی مسدود می‌شوند ولی ترافیک تصادفی‌نما هنوز عبور می‌کند، انتخاب خوبی است.

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

Mieru ادای پروتکل دیگری را درنمی‌آورد. به‌جای آن چیزی برای شناختن به فیلتر نمی‌دهد: هیچ دست‌دادن متن ساده، سرآیند پروتکل یا اندازهٔ ثابت بسته‌ای وجود ندارد، چون همه‌چیز، حتی بستهٔ اول، رمزنگاری و پر شده است. سرور فقط به کلاینتی که کلید معتبر دارد جواب می‌دهد، پس کاوشگری که دادهٔ تصادفی بفرستد پاسخ مفیدی نمی‌گیرد.

در شبکه‌هایی که ترافیک ناشناخته را مسدود می‌کنند یا فقط پروتکل‌های شناخته‌شده را راه می‌دهند کمکی نمی‌کند. چنین شبکه‌هایی اغلب ترافیک کاملاً تصادفی را می‌بندند، پس آن را روی شبکهٔ خودتان امتحان کنید.

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

  • کلید رمزنگاری از نام کاربر، رمز عبور و زمان فعلی ساخته می‌شود. زمان به گام‌های ۲ دقیقه‌ای گرد می‌شود، پس ساعت کلاینت و سرور باید حداکثر چند دقیقه با هم فاصله داشته باشند. وگرنه اتصال شکست می‌خورد.
  • کلاینت به یکی از port bindingهای سرور، با TCP یا UDP به گفتهٔ همان binding، وصل می‌شود.
  • چند اتصال پروکسی‌شده می‌توانند یک اتصال زیرین را با هم به کار ببرند (multiplexing).
  • ترافیک UDP داخل جریان mieru حمل می‌شود، پس روی binding از نوع TCP هم UDP کار می‌کند.
  • با handshake_mode برابر HANDSHAKE_NO_WAIT، کلاینت اولین داده را همراه درخواست اتصال می‌فرستد (0-RTT). با HANDSHAKE_STANDARD صبر می‌کند تا سرور به مقصد وصل شود (1-RTT).

پیکربندی

{
  "outbounds": [
    {
      "type": "mieru",
      "tag": "mieru-out",
      "server": "203.0.113.10",
      "portBindings": [
        { "protocol": "TCP", "portRange": "2012-2022" }
      ],
      "username": "alice",
      "password": "<password>",
      "multiplexing": "MULTIPLEXING_LOW"
    }
  ]
}

فیلدهای خروجی

فیلد نوع پیش‌فرض معنی
server string الزامی آدرس IP یا دامنهٔ سرور.
server_port عدد ندارد یک پورت سرور. اگر تنظیم شود، portBindings باید دقیقاً یک binding با همین port داشته باشد. معمولاً آن را نگذارید و از portBindings استفاده کنید.
portBindings فهرست الزامی پورت‌های سرور. پایین‌تر را ببینید.
username string الزامی نام کاربر.
password string الزامی رمز عبور.
multiplexing string "" چند اتصال یک اتصال زیرین را با هم به کار ببرند: ""/DEFAULT، LOW، MIDDLE (یا MEDIUM)، HIGH. پیشوند MULTIPLEXING_ اختیاری است.
handshake_mode string "" ""/DEFAULT، STANDARD یا NO_WAIT. پیشوند HANDSHAKE_ اختیاری است.
network string هر دو tcp، udp یا خالی برای هر دو. اینکه این خروجی کدام نوع ترافیک را می‌پذیرد.
فیلدهای dialer فیلدهای معمول dialer خروجی، مثل detour.

فیلدهای port binding (portBindings)

فیلد نوع پیش‌فرض معنی
protocol string الزامی TCP یا UDP.
port عدد ندارد یک پورت.
portRange string ندارد یک بازهٔ پورت، مثل "2012-2022".

هر binding باید یا port داشته باشد یا portRange، نه هر دو. پورت‌ها بین ۱ و ۶۵۵۳۵ هستند.

فیلدهای ورودی

ورودی mieru یک سرور mieru اجرا می‌کند. فیلدهای معمول listen را می‌پذیرد و این‌ها را:

فیلد نوع پیش‌فرض معنی
users فهرست الزامی کاربرها، هر کدام با username و password.
portBindings فهرست الزامی پورت‌هایی که روی آن‌ها گوش می‌دهد، با همان قالب بالا.
network string هر دو tcp، udp یا خالی برای هر دو.

اگر listen_port تنظیم شود، portBindings باید دقیقاً یک binding با همین port داشته باشد.

نکته‌ها

  • بزرگی و کوچکی حروف مقادیر مهم نیست. مقدار ناشناخته برای multiplexing یا handshake_mode، نبودن نام کاربر یا رمز عبور، یا port binding نادرست جلوی بارگذاری کانفیگ را می‌گیرد و خطا مشکل را نام می‌برد.
  • Mieru از TLS استفاده نمی‌کند، پس بلوک tls برای آن کاربردی ندارد.

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


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

نظرات