Mudcat (mudcat)
Giới thiệu
Đây là dịch vụ chia sẻ cổng HTTP/TCP/UDP do Mudfish Networks cung cấp, nhằm cung cấp dịch vụ có mục đích tương tự https://ngrok.io.
Với dịch vụ này, bạn có thể dễ dàng chia sẻ dịch vụ trong mạng nội bộ ra bên ngoài. Hiện hỗ trợ các giao thức sau.
-
HTTP
-
TCP
-
UDP
Có thể dễ dàng cài đặt và sử dụng bằng một lệnh.
Tải xuống
Bạn có thể tải chương trình tại https://www.mudcat.io/.
Đối với người dùng, chương trình mudcat chỉ gồm một tệp thực thi nên dễ tải xuống và chạy.
Tùy chọn chạy mudcat
Khi chạy mudcat, bạn sẽ thấy màn hình như dưới đây. Về cơ bản, cách sử dụng mudcat thay đổi đôi chút tùy theo lệnh.
$ ./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.
Các lệnh hiện được hỗ trợ gồm:
-
http
Dùng khi muốn chuyển tiếp cổng HTTP.
-
node
Hiển thị thông tin các máy chủ trung chuyển mudcat dùng để chuyển tiếp.
-
tcp
Dùng khi muốn chuyển tiếp cổng TCP.
-
UDP
Dùng khi muốn chuyển tiếp cổng UDP.
Thông thường, chạy ./mudcat <command> -h để xem thêm trợ giúp của lệnh đó.
Lệnh mudcat http
Dùng lệnh này khi muốn cung cấp dịch vụ chuyển tiếp HTTP. Thường dùng để dễ dàng đưa dịch vụ đang phát triển trong mạng nội bộ ra bên ngoài.
$ ./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.
Các tùy chọn được hỗ trợ gồm:
-
--domain <domain>Với tùy chọn này, người dùng có thể tự đặt tên miền thay cho địa chỉ được cấp ngẫu nhiên (thường gồm các chữ số). Ví dụ, nếu chỉ định
--domain abc, tên miền được cấp sẽ làabc.mudcat.io. -
--local-addr <ip>Tùy chọn này chỉ định địa chỉ cục bộ (IPv4) cần chuyển tiếp HTTP. Giá trị mặc định là 127.0.0.1.
Tuy nhiên, giá trị này không nhất thiết phải là địa chỉ mạng nội bộ. Nếu muốn trỏ đến một IP công cộng khác ở xa, bạn có thể chỉ định IP đó.
-
--local-port <port>Chỉ định cổng cục bộ cần chuyển tiếp HTTP. Giá trị mặc định là 80.
-
--node-cc <cc>Bạn có thể chỉ định mã quốc gia của máy chủ trung chuyển mudcat muốn sử dụng. Ví dụ, nếu đặt mã quốc gia là
JP, một máy chủ trung chuyển mudcat ở Nhật Bản sẽ tự động được cấp. -
--node-id <nid>Bạn có thể chỉ định ID duy nhất của máy chủ trung chuyển mudcat muốn sử dụng. Có thể lấy ID duy nhất của từng máy chủ bằng lệnh
mudcat node.
Lệnh mudcat node
Lệnh này dùng để lấy thông tin máy chủ trung chuyển mudcat.
$ ./mudcat node -h
Usage: mudcat node [--json-raw]
--json-raw # Prints the raw JSON output.
Dùng lệnh ./mudcat node để xem danh sách máy chủ trung chuyển mudcat đang hoạt động. Các tùy chọn được hỗ trợ gồm:
-
--json-rawXuất danh sách máy chủ trung chuyển ở định dạng JSON.
Lệnh mudcat tcp
Dùng lệnh này khi muốn cung cấp dịch vụ chuyển tiếp 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.
Các tùy chọn được hỗ trợ gồm:
-
--conn-uuid <uuid>Tùy chọn này dùng khi muốn sử dụng lại cổng từ xa đã dùng trước đó.
Thông thường, sau khi sử dụng cổng từ xa được cấp rồi ngắt kết nối, bạn không thể sử dụng lại cổng đó cho đến khi tài nguyên của nó được giải phóng.
Tuy nhiên, nếu biết Connection UUID trước đó, bạn có thể sử dụng lại cổng từ xa ngay lập tức.
-
--domain <domain>Với tùy chọn này, người dùng có thể tự đặt tên miền thay cho địa chỉ được cấp ngẫu nhiên (thường gồm các chữ số). Ví dụ, nếu chỉ định
--domain abc, tên miền được cấp sẽ làabc.mudcat.io. -
--local-addr <ip>Tùy chọn này chỉ định địa chỉ cục bộ (IPv4) cần chuyển tiếp TCP. Giá trị mặc định là 127.0.0.1.
Tuy nhiên, giá trị này không nhất thiết phải là địa chỉ mạng nội bộ. Nếu muốn trỏ đến một IP công cộng khác ở xa, bạn có thể chỉ định IP đó.
-
--local-port <port>Chỉ định cổng cục bộ cần chuyển tiếp TCP. Nếu không chỉ định tùy chọn này, giá trị
--remote-port <port>được dùng làm cổng. -
--node-cc <cc>Bạn có thể chỉ định mã quốc gia của máy chủ trung chuyển mudcat muốn sử dụng. Ví dụ, nếu đặt mã quốc gia là
JP, một máy chủ trung chuyển mudcat ở Nhật Bản sẽ tự động được cấp. -
--node-id <nid>Bạn có thể chỉ định ID duy nhất của máy chủ trung chuyển mudcat muốn sử dụng. Có thể lấy ID duy nhất của từng máy chủ bằng lệnh
mudcat node. -
--remote-port <port>Chỉ định cổng TCP mà máy chủ trung chuyển mudcat sẽ lắng nghe.
Lệnh mudcat udp
Dùng lệnh này khi muốn cung cấp dịch vụ chuyển tiếp 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.
Các tùy chọn được hỗ trợ gồm:
-
--conn-uuid <uuid>Tùy chọn này dùng khi muốn sử dụng lại cổng từ xa đã dùng trước đó.
Thông thường, sau khi sử dụng cổng từ xa được cấp rồi ngắt kết nối, bạn không thể sử dụng lại cổng đó cho đến khi tài nguyên của nó được giải phóng.
Tuy nhiên, nếu biết Connection UUID trước đó, bạn có thể sử dụng lại cổng từ xa ngay lập tức.
-
--domain <domain>Với tùy chọn này, người dùng có thể tự đặt tên miền thay cho địa chỉ được cấp ngẫu nhiên (thường gồm các chữ số). Ví dụ, nếu chỉ định
--domain abc, tên miền được cấp sẽ làabc.mudcat.io. -
--local-addr <ip>Tùy chọn này chỉ định địa chỉ cục bộ (IPv4) cần chuyển tiếp UDP. Giá trị mặc định là 127.0.0.1.
Tuy nhiên, giá trị này không nhất thiết phải là địa chỉ mạng nội bộ. Nếu muốn trỏ đến một IP công cộng khác ở xa, bạn có thể chỉ định IP đó.
-
--local-port <port>Chỉ định cổng cục bộ cần chuyển tiếp UDP. Nếu không chỉ định tùy chọn này, giá trị
--remote-port <port>được dùng làm cổng. -
--node-cc <cc>Bạn có thể chỉ định mã quốc gia của máy chủ trung chuyển mudcat muốn sử dụng. Ví dụ, nếu đặt mã quốc gia là
JP, một máy chủ trung chuyển mudcat ở Nhật Bản sẽ tự động được cấp. -
--node-id <nid>Bạn có thể chỉ định ID duy nhất của máy chủ trung chuyển mudcat muốn sử dụng. Có thể lấy ID duy nhất của từng máy chủ bằng lệnh
mudcat node. -
--remote-port <port>Chỉ định cổng UDP mà máy chủ trung chuyển mudcat sẽ lắng nghe.
Ghi chú phát hành
0.0.3 (2023-01-21)
-
Thêm các tùy chọn mới sau đây.
--domain--node-id
0.0.2 (2023-01-20)
- Khắc phục lỗi không hoạt động đúng trên Windows.
0.0.1 (2023-01-18)
- Đây là bản phát hành đầu tiên. Dù đã triển khai các chức năng cơ bản, dự kiến vẫn còn nhiều điểm cần cải thiện và nhiều lỗi. Chúng tôi sẽ từng bước hoàn thiện.