رفتن به محتوای اصلی

Mudcat

معرفی​

این سرویس اشتراک‌گذاری پورت HTTP/TCP/UDP را Mudfish Networks ارائه می‌کند. هدف آن ارائهٔ سرویسی با کاربرد مشابه ngrok.io است.

با این سرویس می‌توانید خدمات موجود در شبکهٔ داخلی را به‌آسانی در دسترس بیرون قرار دهید. در حال حاضر پروتکل‌های زیر پشتیبانی می‌شوند.

  • HTTP
  • TCP
  • UDP

با 1 فرمان می‌توانید به‌آسانی آن را نصب و استفاده کنید.

دانلود​

می‌توانید برنامه را از وب‌سایت Mudcat دانلود کنید.

از دید کاربر، برنامهٔ mudcat تنها از 1 فایل اجرایی تشکیل شده است؛ بنابراین دانلود و اجرای آن ساده است.

گزینه‌های اجرای mudcat​

هنگام اجرای برنامهٔ mudcat خروجی زیر را می‌بینید. روش استفاده از mudcat بسته به فرمان کمی متفاوت است.

$ ./mudcat 
Usage: mudcat [-vV] <command> [<args>]

Options:
-v # Increase the verbose level.
-V, --version # Show the version.

Commands:
http # Create a HTTP tunnel.
node # Show the mudcat nodes.
tcp # Create a TCP tunnel.
udp # Create a UDP tunnel.

فرمان‌های زیر در حال حاضر پشتیبانی می‌شوند.

  • http

    برای هدایت پورت HTTP استفاده می‌شود.

  • node

    اطلاعات سرورهای واسط mudcat را که برای هدایت استفاده می‌شوند نمایش می‌دهد.

  • tcp

    برای هدایت پورت TCP استفاده می‌شود.

  • UDP

    برای هدایت پورت UDP استفاده می‌شود.

با اجرای ./mudcat <command> -h می‌توانید راهنمای بیشتری دربارهٔ آن فرمان ببینید.

فرمان mudcat http​

این فرمان برای ارائهٔ سرویس هدایت HTTP استفاده می‌شود. معمولاً زمانی کاربرد دارد که بخواهید سرویسی را که در محیط داخلی توسعه می‌دهید، به‌سادگی در دسترس بیرون قرار دهید.

$ ./mudcat http -h
Usage: mudcat http [options]
--domain <domain> # Specify the domain name to access.
--local-addr <ip> # Specify the local IP to connect. Default
# value is 127.0.0.1
--local-port <port> # Specify the local port. Default value is 80.
--node-cc <cc> # Specify the country code to hint the
# selection of mudcat nodes.
--node-id <nid> # Specify the unique ID of mudcat node.

گزینه‌های زیر پشتیبانی می‌شوند.

  • --domain <domain>

    با این گزینه می‌توانید به‌جای نشانی دامنهٔ تصادفی، که معمولاً از اعداد تشکیل شده است، دامنه را خودتان تعیین کنید. برای مثال، با تعیین --domain abc، نشانی دامنهٔ تخصیص‌یافته abc.mudcat.io خواهد بود.

  • --local-addr <ip>

    نشانی محلی (IPv4) را برای هدایت HTTP تعیین می‌کند. مقدار پیش‌فرض 127.0.0.1 است.

    لازم نیست این مقدار حتماً به نشانی شبکهٔ داخلی اشاره کند. اگر می‌خواهید به یک IP عمومی دیگر در مقصدی دور اشاره کنید، می‌توانید آن IP را وارد کنید.

  • --local-port <port>

    پورت محلی را برای هدایت HTTP تعیین می‌کند. مقدار پیش‌فرض 80 است.

  • --node-cc <cc>

    کد کشور سرور واسط mudcat موردنظر را تعیین می‌کند. برای مثال، اگر کد کشور را JP بگذارید، یک سرور واسط mudcat در ژاپن به‌صورت خودکار تخصیص داده می‌شود.

  • --node-id <nid>

    شناسهٔ یکتای سرور واسط mudcat موردنظر را تعیین می‌کند. شناسهٔ یکتای هر سرور واسط را می‌توانید با فرمان mudcat node دریافت کنید.

فرمان mudcat node​

این فرمان برای دریافت اطلاعات سرورهای واسط mudcat استفاده می‌شود.

$ ./mudcat node -h
Usage: mudcat node [--json-raw]
--json-raw # Prints the raw JSON output.

با فرمان ./mudcat node می‌توانید فهرست سرورهای واسط mudcat فعال را ببینید. گزینهٔ زیر پشتیبانی می‌شود.

  • --json-raw

    فهرست سرورهای واسط را با قالب JSON چاپ می‌کند.

فرمان mudcat tcp​

این فرمان برای ارائهٔ سرویس هدایت TCP استفاده می‌شود.

$ ./mudcat tcp -h
Usage: mudcat tcp [options]
--conn-uuid <uuid> # Set the connection UUID to reuse.
--domain <domain> # Specify the domain name to access.
--local-addr <ip> # Specify the local IP to connect. Default
# value is 127.0.0.1
--local-port <port> # Specify the local port. If not specified,
# --remote-port value will be used.
--node-cc <cc> # Specify the country code to hint the
# selection of mudcat nodes.
--node-id <nid> # Specify the unique ID of mudcat node.
--remote-port <port> # Specify the remote port.

گزینه‌های زیر پشتیبانی می‌شوند.

  • --conn-uuid <uuid>

    این گزینه برای استفادهٔ دوباره از پورت راه دور قبلی کاربرد دارد.

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

    اما اگر Connection UUID قبلی را بدانید، می‌توانید بلافاصله دوباره از آن پورت راه دور استفاده کنید.

  • --domain <domain>

    با این گزینه می‌توانید به‌جای نشانی دامنهٔ تصادفی، که معمولاً از اعداد تشکیل شده است، دامنه را خودتان تعیین کنید. برای مثال، با تعیین --domain abc، نشانی دامنهٔ تخصیص‌یافته abc.mudcat.io خواهد بود.

  • --local-addr <ip>

    نشانی محلی (IPv4) را برای هدایت TCP تعیین می‌کند. مقدار پیش‌فرض 127.0.0.1 است.

    لازم نیست این مقدار حتماً به نشانی شبکهٔ داخلی اشاره کند. اگر می‌خواهید به یک IP عمومی دیگر در مقصدی دور اشاره کنید، می‌توانید آن IP را وارد کنید.

  • --local-port <port>

    پورت محلی را برای هدایت TCP تعیین می‌کند. اگر این گزینه تعیین نشود، مقدار --remote-port <port> به‌عنوان پورت استفاده می‌شود.

  • --node-cc <cc>

    کد کشور سرور واسط mudcat موردنظر را تعیین می‌کند. برای مثال، اگر کد کشور را JP بگذارید، یک سرور واسط mudcat در ژاپن به‌صورت خودکار تخصیص داده می‌شود.

  • --node-id <nid>

    شناسهٔ یکتای سرور واسط mudcat موردنظر را تعیین می‌کند. شناسهٔ یکتای هر سرور واسط را می‌توانید با فرمان mudcat node دریافت کنید.

  • --remote-port <port>

    پورت TCP را تعیین می‌کند که سرور واسط mudcat روی آن گوش می‌دهد.

فرمان mudcat udp​

این فرمان برای ارائهٔ سرویس هدایت UDP استفاده می‌شود.

$ ./mudcat udp -h
Usage: mudcat udp [options]
--conn-uuid <uuid> # Set the connection UUID to reuse.
--domain <domain> # Specify the domain name to access.
--local-addr <ip> # Specify the local IP to connect. Default
# value is 127.0.0.1
--local-port <port> # Specify the local port. If not specified,
# --remote-port value will be used.
--node-cc <cc> # Specify the country code to hint the
# selection of mudcat nodes.
--node-id <nid> # Specify the unique ID of mudcat node.
--remote-port <port> # Specify the remote port.

گزینه‌های زیر پشتیبانی می‌شوند.

  • --conn-uuid <uuid>

    این گزینه برای استفادهٔ دوباره از پورت راه دور قبلی کاربرد دارد.

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

    اما اگر Connection UUID قبلی را بدانید، می‌توانید بلافاصله دوباره از آن پورت راه دور استفاده کنید.

  • --domain <domain>

    با این گزینه می‌توانید به‌جای نشانی دامنهٔ تصادفی، که معمولاً از اعداد تشکیل شده است، دامنه را خودتان تعیین کنید. برای مثال، با تعیین --domain abc، نشانی دامنهٔ تخصیص‌یافته abc.mudcat.io خواهد بود.

  • --local-addr <ip>

    نشانی محلی (IPv4) را برای هدایت UDP تعیین می‌کند. مقدار پیش‌فرض 127.0.0.1 است.

    لازم نیست این مقدار حتماً به نشانی شبکهٔ داخلی اشاره کند. اگر می‌خواهید به یک IP عمومی دیگر در مقصدی دور اشاره کنید، می‌توانید آن IP را وارد کنید.

  • --local-port <port>

    پورت محلی را برای هدایت UDP تعیین می‌کند. اگر این گزینه تعیین نشود، مقدار --remote-port <port> به‌عنوان پورت استفاده می‌شود.

  • --node-cc <cc>

    کد کشور سرور واسط mudcat موردنظر را تعیین می‌کند. برای مثال، اگر کد کشور را JP بگذارید، یک سرور واسط mudcat در ژاپن به‌صورت خودکار تخصیص داده می‌شود.

  • --node-id <nid>

    شناسهٔ یکتای سرور واسط mudcat موردنظر را تعیین می‌کند. شناسهٔ یکتای هر سرور واسط را می‌توانید با فرمان mudcat node دریافت کنید.

  • --remote-port <port>

    پورت UDP را تعیین می‌کند که سرور واسط mudcat روی آن گوش می‌دهد.

یادداشت‌های انتشار​

از 2025-10-16 به بعد، با احتساب همین تاریخ، یادداشت انتشاری در این دوره ثبت نشده است. نسخه‌های قدیمی‌تر در تاریخچهٔ کامل کره‌ای در دسترس‌اند.