Saltar al contenido principal

mudcat

Introducción​

Servicio de Mudfish Networks para compartir puertos HTTP, TCP y UDP. Su objetivo es ofrecer una función similar a https://ngrok.io.

Al utilizar este servicio, puede compartir fácilmente servicios de la red interna con el exterior. Actualmente admitimos los siguientes protocolos:

  • HTTP

  • TCP

  • UDP

Puede instalarlo y utilizarlo fácilmente con un solo comando.

Descargar​

Puede descargar el programa desde https://www.mudcat.io/.

mudcat consta de un único archivo ejecutable, por lo que resulta sencillo descargarlo y ejecutarlo.

Opciones de ejecución de mudcat​

Al ejecutar mudcat aparece una pantalla como la siguiente. Su uso varía ligeramente según el comando.

$ ./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.

Los comandos disponibles son los siguientes:

  • http

    Se puede utilizar cuando desee reenviar el puerto HTTP.

  • node

    Muestra información sobre los servidores de retransmisión mudcat que se utilizarán para el reenvío.

  • tcp

    Se puede utilizar cuando desee reenviar el puerto TCP.

  • UDP

    Se puede utilizar cuando desee reenviar el puerto UDP.

Ejecute ./mudcat <command> -h para consultar la ayuda adicional del comando.

Comando mudcat http​

Este comando ofrece reenvío HTTP. Permite exponer fácilmente al exterior un servicio que se está desarrollando en una red interna.

$ ./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.

Admite las siguientes opciones:

  • --domain <domain>

    Si se especifica esta opción, el usuario puede especificar el dominio directamente en lugar de una dirección de dominio arbitraria (normalmente una dirección que consta de números). Por ejemplo, cuando se especifica --domain abc, la dirección de dominio asignada pasa a ser abc.mudcat.io.

  • --local-addr <ip>

    Esta opción especifica la dirección local (IPv4) para el reenvío HTTP. El valor predeterminado es 127.0.0.1.

    Sin embargo, el valor no necesariamente apunta a la dirección de red interna. Si desea apuntar a otra IP pública remota, puede especificar esa IP.

  • --local-port <port>

    Especifica el puerto local para el reenvío HTTP. El valor predeterminado es 80.

  • --node-cc <cc>

    Puede especificar el código de país del servidor de retransmisión mudcat que desea utilizar. Por ejemplo, si especifica el código de país como JP, el servidor de retransmisión mudcat en Japón se asignará automáticamente.

  • --node-id <nid>

    Puede especificar el ID único del servidor de retransmisión mudcat que desea utilizar. La identificación única de cada servidor de retransmisión se puede obtener mediante el comando mudcat node.

Comando mudcat node​

Este comando se utiliza para recuperar información del servidor de retransmisión mudcat.

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

Ejecute ./mudcat node para consultar los servidores mudcat disponibles. Admite las siguientes opciones:

  • --json-raw

    Genera la lista de servidores de retransmisión en formato JSON.

Comando mudcat tcp​

Este comando se puede utilizar cuando desee proporcionar un servicio de reenvío 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.

Admite las siguientes opciones:

  • --conn-uuid <uuid>

    Esta opción se puede utilizar cuando se desea reutilizar un puerto remoto utilizado anteriormente.

    Normalmente, si se desconecta después de utilizar un puerto remoto asignado, el puerto remoto ya no estará disponible hasta que se liberen sus recursos.

    Sin embargo, si conoce el UUID de conexión anterior, puede reutilizar inmediatamente el puerto remoto.

  • --domain <domain>

    Si se especifica esta opción, el usuario puede especificar el dominio directamente en lugar de una dirección de dominio arbitraria (normalmente una dirección que consta de números). Por ejemplo, cuando se especifica --domain abc, la dirección de dominio asignada pasa a ser abc.mudcat.io.

  • --local-addr <ip>

    Esta opción especifica la dirección local (IPv4) para el reenvío TCP. El valor predeterminado es 127.0.0.1.

    Sin embargo, el valor no necesariamente apunta a la dirección de red interna. Si desea apuntar a otra IP pública remota, puede especificar esa IP.

  • --local-port <port>

    Especifica el puerto local al que se reenvía TCP. Si se omite, se utiliza el valor de --remote-port <port>.

  • --node-cc <cc>

    Puede especificar el código de país del servidor de retransmisión mudcat que desea utilizar. Por ejemplo, si especifica el código de país como JP, el servidor de retransmisión mudcat en Japón se asignará automáticamente.

  • --node-id <nid>

    Puede especificar el ID único del servidor de retransmisión mudcat que desea utilizar. La identificación única de cada servidor de retransmisión se puede obtener mediante el comando mudcat node.

  • --remote-port <port>

    Especifica el puerto TCP en el que escuchará el servidor de retransmisión de mudcat.

Comando mudcat udp​

Este comando se puede utilizar cuando desee proporcionar un servicio de reenvío 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.

Admite las siguientes opciones:

  • --conn-uuid <uuid>

    Esta opción se puede utilizar cuando se desea reutilizar un puerto remoto utilizado anteriormente.

    Normalmente, si se desconecta después de utilizar un puerto remoto asignado, el puerto remoto ya no estará disponible hasta que se liberen sus recursos.

    Sin embargo, si conoce el UUID de conexión anterior, puede reutilizar inmediatamente el puerto remoto.

  • --domain <domain>

    Si se especifica esta opción, el usuario puede especificar el dominio directamente en lugar de una dirección de dominio arbitraria (normalmente una dirección que consta de números). Por ejemplo, cuando se especifica --domain abc, la dirección de dominio asignada pasa a ser abc.mudcat.io.

  • --local-addr <ip>

    Esta opción especifica la dirección local (IPv4) para el reenvío UDP. El valor predeterminado es 127.0.0.1.

    Sin embargo, el valor no necesariamente apunta a la dirección de red interna. Si desea apuntar a otra IP pública remota, puede especificar esa IP.

  • --local-port <port>

    Especifica el puerto local al que se reenvía UDP. Si se omite, se utiliza el valor de --remote-port <port>.

  • --node-cc <cc>

    Puede especificar el código de país del servidor de retransmisión mudcat que desea utilizar. Por ejemplo, si especifica el código de país como JP, el servidor de retransmisión mudcat en Japón se asignará automáticamente.

  • --node-id <nid>

    Puede especificar el ID único del servidor de retransmisión mudcat que desea utilizar. La identificación única de cada servidor de retransmisión se puede obtener mediante el comando mudcat node.

  • --remote-port <port>

    Especifica el puerto UDP en el que escuchará el servidor de retransmisión de mudcat.

Notas de la versión​

0.0.3 (2023-01-21)​

  • Se han agregado recientemente las siguientes opciones.

    • --domain
    • --node-id

0.0.2 (2023-01-20)​

  • Se ha corregido un problema de funcionamiento en Windows.

0.0.1 (2023-01-18)​

  • Esta es la primera versión. Incluye una implementación básica, pero esperamos que aún haya errores y muchos aspectos que mejorar. Seguiremos mejorándola poco a poco.