Mudcat (mudcat)
概要
Mudfish Networksに 提供するHTTP/TCP/UDPポート共有サービスです。 https://ngrok.io に似た目的のサービスを提供することを目指しています。
このサービスを使用して、内部ネットワーク上のサービスを外部で共有するのを簡単に実行できます。現在、次のプロトコルをサポートしています。
-
HTTP
-
TCP
-
UDP
1命令で簡単に設置・利用できます。
ダウンロード
https://www.mudcat.io/ からプログラムをダウンロードできます。
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を指定できます。例えば
--domain abcと指定した場合、割り当てられるドメインアドレスはabc.mudcat.ioになります。 -
--local-addr <ip>この オプションは、HTTP 転送するローカル・アドレス (IPv4) を指定します。デフォルト値は127.0.0.1です。
ただし、必ずしもその値が内部ネットワークアドレスを指す必要はありません。リモートの他のパブリック IPを指す場合は、そのIPを指定できます。
-
--local-port <port>HTTP転送するローカルポートを指定します。デフォルト値は80です。
-
--node-cc <cc>使用したい mudcat 中継サーバーの国コードを指定できます。たとえば、国コード
JPを指定すると、日本側の mudcat 中継サーバーが自動的に割り当てられます。 -
--node-id <nid>使用したいmudcat中継サーバーのユニークIDを指定できます。各中継サーバーの unique 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>このオプションの場合、以前に使用された remote port を再使用したい場合に使用できます。
通常、割り当てられたリモートポートを使用して接続を切断すると、そのリモートポートがリソースを解放されるまで使用できなくなります。
が古いConnection UUIDを知っている場合は、そのリモートポートをすぐに再利用できます。
-
--domain <domain>このオプションを指定すると、任意のドメインアドレス(通常は数字のアドレス)の代わりにユーザーが直接domainを指定できます。例えば
--domain abcと指定した場合、割り当てられるドメインアドレスはabc.mudcat.ioになります。 -
--local-addr <ip>このオプションは、TCP 転送するローカル・アドレス (IPv4) を指定します。デフォルト値は127.0.0.1です。
ただし、必ずしもその値が内部ネットワークアドレスを指す必要はありません。リモートの他のパブリック IPを指す場合は、そのIPを指定できます。
-
--local-port <port>TCP転送するローカルポートを指定します。このオプションが指定されていない場合
--remote-port <port>の値はポート情報を使用します。 -
--node-cc <cc>使用したい mudcat 中継サーバーの国コードを指定できます。たとえば、国コード
JPを指定すると、日本側の mudcat 中継サーバーが自 動的に割り当てられます。 -
--node-id <nid>使用したいmudcat中継サーバーのユニークIDを指定できます。各中継サーバーの unique ID は
mudcat node命令で取得できます。 -
--remote-port <port>mudcat中継サーバーでリスニングするTCPポートを指定します。
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>このオプションの場合、以前に使用された remote port を再使用したい場合に使用できます。
通常、割り当てられたリモートポートを使用して接続を切断すると、そのリモートポートがリソースを解放されるまで使用できなくなります。
が古いConnection UUIDを知っている場合は、そのリモートポートをすぐに再利用できます。
-
--domain <domain>このオプションを指定すると、任意のドメインアドレス(通常は数字のアドレス)の代わりにユーザーが直接domainを指定できます。例えば
--domain abcと指定した場合、割り当てられるドメインアドレスはabc.mudcat.ioになります。 -
--local-addr <ip>このオプションは、UDP転送するローカルアドレス(IPv4)を指定します。デフォルト値は127.0.0.1です。
ただし、必ずしもその値が内部ネットワークアドレスを指す必要はありません。リモートの他のパブリック IPを指す場合は、そのIPを指定できます。
-
--local-port <port>UDP転送するローカルポートを指定します。このオプションが指定されていない場合
--remote-port <port>の値はポート情報を使用します。 -
--node-cc <cc>使用したい mudcat 中継サーバーの国コードを指定できます。たとえば、国コード
JPを指定すると、日本側の mudcat 中継サーバーが自動的に割り当てられます。 -
--node-id <nid>使用したいmudcat中継サーバーのユニークIDを指定できます。各中継サーバーの unique ID は
mudcat node命令で取得できます。 -
--remote-port <port>mudcat中継サーバーでリスニングするUDPポートを指定します。