Mudcat (mudcat)
Введение
Сервис общего доступа к портам HTTP/TCP/UDP от Mudfish Networks. Он предназначен для задач, аналогичных https://ngrok.io.
Сервис позволяет легко предоставить внешний доступ к службам во внутренней сети. В настоящее время поддерживаются следующие протоколы.
-
HTTP
-
TCP
-
UDP
Настройка и использование возможны с помощью одной команды.
Скачивание
Скачать программу можно с https://www.mudcat.io/.
Для пользователя mudcat представляет собой один исполняемый файл, поэтому его легко скачать и запустить.
Параметры запуска 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-адрес.
-
--local-port <port>Задаёт локальный порт для переадресации HTTP. Значение по умолчанию — 80.
-
--node-cc <cc>Позволяет задать код страны релейного сервера mudcat. Например, при коде
JPавтоматически назначается сервер mudcat в Японии. -
--node-id <nid>Позволяет задать уникальный ID релейного сервера mudcat. ID каждого сервера можно получить командой
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-адрес.
-
--local-port <port>Задаёт локальный порт для переадресации TCP. Если параметр не указан, используется значение порта из
--remote-port <port>. -
--node-cc <cc>Позволяет задать код страны релейного сервера mudcat. Например, при коде
JPавтоматически назначается сервер mudcat в Японии. -
--node-id <nid>Позволяет задать уникальный ID релейного сервера mudcat. ID каждого сервера можно получить командой
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-адрес.
-
--local-port <port>Задаёт локальный порт для переадресации UDP. Если параметр не указан, используется значение порта из
--remote-port <port>. -
--node-cc <cc>Позволяет задать код страны релейного сервера mudcat. Например, при коде
JPавтоматически назначается сервер mudcat в Японии. -
--node-id <nid>Позволяет задать уникальный ID релейного сервера mudcat. ID каждого сервера можно получить командой
mudcat node. -
--remote-port <port>Задаёт UDP-порт, который будет прослушивать релейный сервер mudcat.
История изменений
0.0.3 (2023-01-21)
-
Добавлены следующие параметры.
--domain--node-id
0.0.2 (2023-01-20)
- Исправлена некорректная работа в Windows.
0.0.1 (2023-01-18)
- Это первый выпуск. Основные функции реализованы, но ещё многое можно улучшить и, вероятно, остаётся немало ошибок. Мы будем постепенно совершенствовать программу.