미꾸라지

미꾸라지

  • 포럼
  • 위키

›미꾸라지 사이트

미꾸라지 사이트

  • GDN
  • 진흙고양이
  • 진흙개
  • 미꾸라지 MyIP
  • 미꾸라지 Ping

진흙고양이 (mudcat)

소개

미꾸라지 네트웍스에 제공하는 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 로 되어 있습니다.

    다만, 반드시 해당 값이 내부망 주소를 가르킬 필요는 없습니다. 만약 원격의 다른 Public IP 를 가르키고자 하신다면 해당 IP 를 지정하실 수 있습니다.

  • --local-port <port>

    HTTP 포워딩하고자 하는 로컬 포트를 지정합니다. 기본값은 80 입니다.

  • --node-cc <cc>

    사용하고자 하는 mudcat 중계 서버의 국가 코드를 지정할 수 있습니다. 예를 들어 국가 코드를 JP 로 지정한다면 일본 쪽에 있는 mudcat 중계 서버가 자동 할당되게 됩니다.

  • --node-id <nid>

    사용하고자 하는 mudcat 중계 서버의 unique 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 를 재사용하고자 할 때, 사용할 수 있습니다.

    보통 할당된 remote port 를 사용한 후 연결을 끊게 되면, 해당 remote port 가 리소스 해제되기 전까지 사용할 수 없게 됩니다.

    하지만 이전 Connection UUID 를 알고 있다면 해당 remote port 를 즉시 재사용할 수 있습니다.

  • --domain <domain>

    이 옵션을 지정할 경우, 임의로 도메인 주소 (보통 숫자로 이루어진 주소) 대신 사용자가 직접 domain 을 지정할 수 있습니다. 예를 들어 --domain abc 라고 지정을 하였을 때, 할당되는 도메인 주소는 abc.mudcat.io 가 됩니다.

  • --local-addr <ip>

    이 옵션은 TCP 포워딩하고자 로컬 주소 (IPv4)를 지정합니다. 기본값은 127.0.0.1 로 되어 있습니다.

    다만, 반드시 해당 값이 내부망 주소를 가르킬 필요는 없습니다. 만약 원격의 다른 Public IP 를 가르키고자 하신다면 해당 IP 를 지정하실 수 있습니다.

  • --local-port <port>

    TCP 포워딩하고자 하는 로컬 포트를 지정합니다. 만약 이 옵션이 지정되어 있지 않다면 --remote-port <port> 의 값을 포트 정보를 사용합니다.

  • --node-cc <cc>

    사용하고자 하는 mudcat 중계 서버의 국가 코드를 지정할 수 있습니다. 예를 들어 국가 코드를 JP 로 지정한다면 일본 쪽에 있는 mudcat 중계 서버가 자동 할당되게 됩니다.

  • --node-id <nid>

    사용하고자 하는 mudcat 중계 서버의 unique ID를 지정할 수 있습니다. 각 중계 서버의 unique ID 는 mudcat node 명령어를 통해서 획득할 수 있습니다.

  • --remote-port <port>

    mudcat 중계 서버에서 listening 을 할 TCP port 를 지정합니다.

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 를 재사용하고자 할 때, 사용할 수 있습니다.

    보통 할당된 remote port 를 사용한 후 연결을 끊게 되면, 해당 remote port 가 리소스 해제되기 전까지 사용할 수 없게 됩니다.

    하지만 이전 Connection UUID 를 알고 있다면 해당 remote port 를 즉시 재사용할 수 있습니다.

  • --domain <domain>

    이 옵션을 지정할 경우, 임의로 도메인 주소 (보통 숫자로 이루어진 주소) 대신 사용자가 직접 domain 을 지정할 수 있습니다. 예를 들어 --domain abc 라고 지정을 하였을 때, 할당되는 도메인 주소는 abc.mudcat.io 가 됩니다.

  • --local-addr <ip>

    이 옵션은 UDP 포워딩하고자 로컬 주소 (IPv4)를 지정합니다. 기본값은 127.0.0.1 로 되어 있습니다.

    다만, 반드시 해당 값이 내부망 주소를 가르킬 필요는 없습니다. 만약 원격의 다른 Public IP 를 가르키고자 하신다면 해당 IP 를 지정하실 수 있습니다.

  • --local-port <port>

    UDP 포워딩하고자 하는 로컬 포트를 지정합니다. 만약 이 옵션이 지정되어 있지 않다면 --remote-port <port> 의 값을 포트 정보를 사용합니다.

  • --node-cc <cc>

    사용하고자 하는 mudcat 중계 서버의 국가 코드를 지정할 수 있습니다. 예를 들어 국가 코드를 JP 로 지정한다면 일본 쪽에 있는 mudcat 중계 서버가 자동 할당되게 됩니다.

  • --node-id <nid>

    사용하고자 하는 mudcat 중계 서버의 unique ID를 지정할 수 있습니다. 각 중계 서버의 unique ID 는 mudcat node 명령어를 통해서 획득할 수 있습니다.

  • --remote-port <port>

    mudcat 중계 서버에서 listening 을 할 UDP port 를 지정합니다.

릴리즈 노트

0.0.3 (2023-01-21)

  • 다음과 같은 옵션을 새롭게 추가하였습니다.

    • --domain
    • --node-id

0.0.2 (2023-01-20)

  • 윈도우에서 제대로 동작하지 않는 이슈를 해결함.

0.0.1 (2023-01-18)

  • 첫번째 릴리즈입니다. 기본적인 구현을 한다고 했는데, 여전히 개선점도 많고 버그도 많을 것으로 예상됩니다. 조금씩 나아져가는 모습을 보이도록 하겠습니다.
← GDN진흙개 →
  • 소개
  • 다운로드
  • mudcat 실행 옵션
    • mudcat http 명령어
    • mudcat node 명령어
    • mudcat tcp 명령어
    • mudcat udp 명령어
  • 릴리즈 노트
    • 0.0.3 (2023-01-21)
    • 0.0.2 (2023-01-20)
    • 0.0.1 (2023-01-18)
미꾸라지
미꾸라지 VPN
미꾸라지 앱 (Android 용)미꾸라지 앱 (iOS 용)미꾸라지 Cloud VPN미꾸라지 DNS Client미꾸라지 HTTP 와 SOCKS 프록시미꾸라지 브라우저 확장 기능
기술 지원
미꾸라지 포럼
기타
미꾸라지 홈페이지
Copyright © 2011-2024 미꾸라지 네트웍스