Saltar para o conteúdo principal

Mudcat (mudcat)

Introdução​

Este serviço de partilha de portas HTTP/TCP/UDP é fornecido pela Mudfish Networks. Tem como objetivo oferecer um serviço com uma finalidade semelhante a https://ngrok.io.

Permite disponibilizar facilmente no exterior serviços de uma rede interna. Atualmente, suporta os protocolos seguintes.

  • HTTP

  • TCP

  • UDP

Pode instalar e utilizar facilmente o serviço com um único comando.

Transferência​

Pode descarregar o programa em https://www.mudcat.io/.

Do ponto de vista do utilizador, mudcat é composto por um único executável, pelo que é fácil de descarregar e executar.

Opções de execução de mudcat​

Ao executar mudcat, verá um ecrã semelhante ao seguinte. A utilização varia consoante o 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.

Atualmente, são suportados os comandos seguintes.

  • http

    Permite encaminhar uma porta HTTP.

  • node

    Apresenta informações dos servidores de retransmissão mudcat disponíveis para encaminhamento.

  • tcp

    Permite encaminhar uma porta TCP.

  • UDP

    Permite encaminhar uma porta UDP.

Execute ./mudcat <command> -h para consultar a ajuda adicional de cada comando.

Comando mudcat http​

Este comando permite disponibilizar um serviço de encaminhamento HTTP. É normalmente utilizado para expor no exterior, de forma simples, um serviço em desenvolvimento numa rede 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.

São suportadas as opções seguintes.

  • --domain <domain>

    Esta opção permite definir um domínio em vez de utilizar um endereço aleatório, normalmente numérico. Por exemplo, se indicar --domain abc, o domínio atribuído será abc.mudcat.io.

  • --local-addr <ip>

    Esta opção define o endereço local (IPv4) para o encaminhamento HTTP. O valor predefinido é 127.0.0.1.

    Este valor não tem de ser um endereço da rede interna. Se pretender utilizar outro IP público remoto, pode indicar esse IP.

  • --local-port <port>

    Define a porta local para encaminhamento HTTP. O valor predefinido é 80.

  • --node-cc <cc>

    Pode definir o código de país do servidor de retransmissão mudcat a utilizar. Por exemplo, se indicar JP, será atribuído automaticamente um servidor mudcat no Japão.

  • --node-id <nid>

    Pode definir o ID único do servidor de retransmissão mudcat a utilizar. Pode obter o ID de cada servidor com o comando mudcat node.

Comando mudcat node​

Este comando obtém informações dos servidores de retransmissão mudcat.

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

O comando ./mudcat node apresenta a lista de servidores de retransmissão mudcat em funcionamento. São suportadas as opções seguintes.

  • --json-raw

    Apresenta a lista de servidores de retransmissão em formato JSON.

Comando mudcat tcp​

Este comando permite disponibilizar um serviço de encaminhamento 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.

São suportadas as opções seguintes.

  • --conn-uuid <uuid>

    Esta opção permite reutilizar uma porta remota utilizada anteriormente.

    Normalmente, depois de utilizar uma porta remota atribuída e desligar, não pode voltar a utilizá-la até os respetivos recursos serem libertados.

    No entanto, se conhecer o Connection UUID anterior, pode reutilizar imediatamente a porta remota.

  • --domain <domain>

    Esta opção permite definir um domínio em vez de utilizar um endereço aleatório, normalmente numérico. Por exemplo, se indicar --domain abc, o domínio atribuído será abc.mudcat.io.

  • --local-addr <ip>

    Esta opção define o endereço local (IPv4) para encaminhamento TCP. O valor predefinido é 127.0.0.1.

    Este valor não tem de ser um endereço da rede interna. Se pretender utilizar outro IP público remoto, pode indicar esse IP.

  • --local-port <port>

    Define a porta local para encaminhamento TCP. Se não indicar esta opção, é utilizado o valor de --remote-port <port> como porta.

  • --node-cc <cc>

    Pode definir o código de país do servidor de retransmissão mudcat a utilizar. Por exemplo, se indicar JP, será atribuído automaticamente um servidor mudcat no Japão.

  • --node-id <nid>

    Pode definir o ID único do servidor de retransmissão mudcat a utilizar. Pode obter o ID de cada servidor com o comando mudcat node.

  • --remote-port <port>

    Define a porta TCP em que o servidor de retransmissão mudcat fica à escuta.

Comando mudcat udp​

Este comando permite disponibilizar um serviço de encaminhamento 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.

São suportadas as opções seguintes.

  • --conn-uuid <uuid>

    Esta opção permite reutilizar uma porta remota utilizada anteriormente.

    Normalmente, depois de utilizar uma porta remota atribuída e desligar, não pode voltar a utilizá-la até os respetivos recursos serem libertados.

    No entanto, se conhecer o Connection UUID anterior, pode reutilizar imediatamente a porta remota.

  • --domain <domain>

    Esta opção permite definir um domínio em vez de utilizar um endereço aleatório, normalmente numérico. Por exemplo, se indicar --domain abc, o domínio atribuído será abc.mudcat.io.

  • --local-addr <ip>

    Esta opção define o endereço local (IPv4) para encaminhamento UDP. O valor predefinido é 127.0.0.1.

    Este valor não tem de ser um endereço da rede interna. Se pretender utilizar outro IP público remoto, pode indicar esse IP.

  • --local-port <port>

    Define a porta local para encaminhamento UDP. Se não indicar esta opção, é utilizado o valor de --remote-port <port> como porta.

  • --node-cc <cc>

    Pode definir o código de país do servidor de retransmissão mudcat a utilizar. Por exemplo, se indicar JP, será atribuído automaticamente um servidor mudcat no Japão.

  • --node-id <nid>

    Pode definir o ID único do servidor de retransmissão mudcat a utilizar. Pode obter o ID de cada servidor com o comando mudcat node.

  • --remote-port <port>

    Define a porta UDP em que o servidor de retransmissão mudcat fica à escuta.

Notas de versão​

0.0.3 (2023-01-21)​

  • Foram adicionadas as opções seguintes.

    • --domain
    • --node-id

0.0.2 (2023-01-20)​

  • Foi corrigido um problema de funcionamento no Windows.

0.0.1 (2023-01-18)​

  • Esta é a primeira versão. A implementação básica está concluída, mas é provável que ainda existam muitos aspetos a melhorar e erros a corrigir. Continuaremos a melhorar o programa gradualmente.