QUIC 전송, 홀 펀칭, 릴레이 대체 경로를 통해 IP 주소와 관계없이 피어를 연결하는 Rust 라이브러리
tailscale/tailcat
Tailscale의 암호화 데이터 플레인을 통해 계정 없이 두 머신 간 TCP와 UDP를 터널링하는 netcat형 CLI 및 Go 라이브러리입니다.
대체할 수 있는 제품:ngrok
Magic Wormhole
- 스타
- 8,405
- 포크
- 377
- 열린 이슈
- 29
- 마지막 커밋
- 11일 전
어떤 프로젝트인가요?
Tailcat은 Tailscale의 오픈소스 네트워킹 구성 요소로 만든 WireGuard 암호화 P2P 터널을 통해 두 머신이 통신할 수 있게 합니다. 한쪽에서 서버를 실행하면 짧은 tailcat 주소가 표시되고, 다른 쪽에서는 그 주소로 연결합니다. 연결 메타데이터는 별도 경로로 교환하므로 Tailscale control plane이나 계정, root 권한, 시스템 라우팅 및 DNS 변경이 필요하지 않습니다.
트래픽은 먼저 DERP 릴레이를 통해 연결을 시작한 다음, magicsock이 NAT 통과를 시도해 가능하면 직접 UDP 경로로 전환하고, 그렇지 않으면 릴레이를 계속 사용합니다. stdin/stdout을 연결하는 기능 외에도 포트 포워딩, SSH 서버 실행, SFTP 및 scp를 통한 파일 제공·수신, 연결별 명령 실행, 처리량 및 지연 시간 측정을 지원합니다. 동일한 기능을 제공하는 Go 라이브러리와 실험용 WebAssembly 브라우저 데모도 있습니다.
사전 공유 키가 포함된 주소는 비밀 정보로 취급해야 합니다. 따라서 서버를 DNS에 공개하기 전에 허용 목록이나 SSH 키 인증으로 접근을 제한해야 합니다.
핵심 기능
- 01암호화 터널을 통해 두 머신의 stdin/stdout을 연결합니다.
- 02로컬 TCP 포트를 원격 서비스로 포워딩하고, 터널을 통해 로컬 포트를 공개합니다.
- 03authorized_keys 또는 GitHub 키 인증을 지원하는 SSH 서버를 제공합니다.
- 04읽기 전용 또는 읽기·쓰기 제공 모드로 scp/SFTP를 통해 파일을 보내고 받습니다.
- 05터널을 통한 TCP 및 UDP 처리량과 지연 시간을 측정합니다.
- 06root 권한이나 Tailscale 계정 없이, 시스템 네트워크 설정을 변경하지 않고 실행됩니다.
활용 사례
- 인바운드 포트를 열지 않고 동료와 로컬 서비스나 파일을 빠르게 공유합니다.
- 네트워크 전체를 공개하지 않고 원격 LAN의 데이터베이스나 adb 포트에 접속합니다.
- 호스트에서 인바운드 포트를 열지 않은 채 DNS 이름으로 접속할 수 있는 SSH 서버를 실행합니다.
- 라이브러리를 사용해 Go 애플리케이션에 암호화된 P2P 연결 기능을 통합합니다.
토픽
자주 묻는 질문
- tailcat은(는) 무엇인가요?
- Tailscale의 암호화 데이터 플레인을 통해 계정 없이 두 머신 간 TCP와 UDP를 터널링하는 netcat형 CLI 및 Go 라이브러리입니다. Tailcat은 Tailscale의 오픈소스 네트워킹 구성 요소로 만든 WireGuard 암호화 P2P 터널을 통해 두 머신이 통신할 수 있게 합니다. 한쪽에서 서버를 실행하면 짧은 tailcat 주소가 표시되고, 다른 쪽에서는 그 주소로 연결합니다. 연결 메타데이터는 별도 경로로 교환하므로 Tailscale control plane이나 계정, root 권한, 시스템 라우팅 및 DNS 변경이 필요하지 않습니다.
- tailcat은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- tailcat은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- tailcat은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. tailcat의 마지막 커밋은 2026년 10월 7일입니다.
- tailcat은(는) 어디에 사용할 수 있나요?
- 인바운드 포트를 열지 않고 동료와 로컬 서비스나 파일을 빠르게 공유합니다. 네트워크 전체를 공개하지 않고 원격 LAN의 데이터베이스나 adb 포트에 접속합니다. 호스트에서 인바운드 포트를 열지 않은 채 DNS 이름으로 접속할 수 있는 SSH 서버를 실행합니다. 라이브러리를 사용해 Go 애플리케이션에 암호화된 P2P 연결 기능을 통합합니다.
- tailcat은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tailscale/tailcat
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
로컬 TCP 포트를 원격 서버에 연결해 localhost 서비스를 인터넷에 공개하는 미니멀한 Rust CLI입니다.
인터넷이나 외부 서버 없이 로컬 네트워크의 주변 기기와 파일 및 메시지를 주고받는 무료 오픈소스 앱입니다.
로그, 메트릭, 트레이스, 알림, 대시보드를 하나로 통합한 OpenTelemetry 기반 오픈소스 옵저버빌리티 플랫폼입니다.
Android 휴대전화를 SMS 게이트웨이로 바꿔 간단한 HTTP API로 문자 메시지를 주고받습니다.
CLI, Web, TUI, 데스크톱 앱으로 중국 및 해외 스트리밍 플랫폼에서 음악을 검색하고 다운로드하는 Go 도구입니다.