awesome-tunneling: 터널링 소프트웨어와 서비스 목록
NAT나 제한된 네트워크 뒤의 로컬 서비스를 공개 도메인과 HTTPS로 노출하는 터널링 도구·서비스를 비교한 큐레이션 목록입니다. Cloudflare Tunnel, frp, Pangolin, WireGuard 기반 오버레이 VPN 등 수십 가지 선택지를 클라이언트 요구사항, 프로토콜, 자동 인증서, 셀프호스팅 여부와 함께 정리합니다.
본문
이 저장소는 NAT(Network Address Translation)나 방화벽처럼 외부에서 직접 접근하기 어려운 환경의 로컬 서비스를 인터넷에 노출하려는 개발자와 셀프호스터(self-hoster)를 대상으로 터널링 솔루션을 추적하고 비교합니다. 대표적인 사용 사례는 로컬 웹 서버를 공개 도메인으로 연결하고, 자동으로 HTTPS를 설정하며, 클라이언트에서 실행 중인 HTTP 또는 TCP 연결을 중계 서버를 통해 외부에 공개하는 것입니다.
목록이 해결하려는 요구사항
작성자가 처음부터 찾고 있던 도구는 네 가지 기능을 한 번에 제공하는 형태입니다. 첫째, 도메인을 등록하고 터널을 실행하는 서버를 가리키도록 DNS 레코드를 자동으로 설정해야 합니다. 둘째, 도메인과 서브도메인, 루트 도메인(apex domain)에 필요한 HTTPS 인증서를 자동으로 발급하고 관리해야 합니다. 셋째, 클라이언트에서 root 권한 없이 HTTP와 TCP 연결을 서버로 전달할 수 있어야 합니다. 넷째, 간단한 GUI에서 특정 도메인 또는 서브도메인을 특정 클라이언트의 포트에 매핑하고 해당 도메인으로 들어오는 연결을 프록시할 수 있어야 합니다.
목록의 결론은 이 네 가지를 모두 단순하게 통합한 도구를 아직 찾지 못했다는 것입니다. 일부 솔루션은 Let's Encrypt를 통한 인증서 자동 발급을 지원하지만, 도메인 등록과 DNS 관리까지 하나의 간단한 흐름으로 결합한 사례는 없다고 설명합니다. 현재 일반 사용자에게는 비공개 소스이지만 운영 품질이 높고 DNS·자동 HTTPS 등 Cloudflare의 다른 제품과 통합되는 Cloudflare Tunnel을 가장 가깝게 도달한 선택지로 권합니다. 셀프호스팅이 필요하면 Pangolin 또는 frp를, 개발자가 단순한 구성을 원하면 SirTunnel을 시작점으로 삼아 필요에 맞게 수정하는 방식을 제안합니다.
셀프호스팅 터널의 주요 선택지
frp는 ngrok의 포괄적인 오픈소스 대안으로 소개되며 HTTP뿐 아니라 UDP와 P2P 모드, TCP 멀티플렉싱, QUIC, KCP를 지원합니다. Pangolin은 완전한 셀프호스팅 터널 reverse proxy 관리 서버로, identity and access control, 자동 SSL 인증서, 대시보드 UI를 제공합니다. SirTunnel은 최소 구성과 설정 없이 동작하는 대안이며, sish와 비슷하지만 별도의 커스텀 서버 코드 대신 Caddy와 OpenSSH를 활용합니다.
chisel은 SSH를 내부 전송 방식으로 사용하면서도 별도의 클라이언트 바이너리를 제공하고 Let's Encrypt 자동 인증서를 지원합니다. rathole은 frp와 유사한 설정 형식을 사용하면서 성능과 낮은 리소스 사용량, hot reload를 강조하는 Rust 기반 도구입니다. sshuttle은 서버에서 root 권한이 필요하지 않지만 클라이언트에는 필요하며, TCP-over-TCP 문제를 피하도록 설계되어 있습니다. bore는 Rust로 작성된 최소한의 MIT 라이선스 터널이고, gost는 TCP·UDP 터널링과 TAP/TUN 장치, 로드 밸런싱, Web API를 함께 제공하는 포괄적인 선택지로 정리됩니다.
그 밖에도 HTTP/2 단일 연결에서 멀티플렉싱하는 go-http-tunnel, HTTP GET·POST 요청 위로 TCP를 전달하는 Crowbar, WebSocket을 통해 특정 프로토콜을 차단하는 네트워크를 통과하도록 설계된 wstunnel, HTTP/3와 QUIC 및 호스트 기반 라우팅을 제공하는 reverst가 포함되어 있습니다. tunelo는 단일 Rust 바이너리로 구성된 QUIC 터널이며 클라이언트, 셀프호스트 가능한 relay, 파일 서버와 웹 탐색기를 함께 제공합니다. Portal과 boringproxy는 계정이나 복잡한 설정 없이 공용 HTTPS URL을 제공하는 방향을 취하고, tunnelite·wireport·NPS Enhanced 등은 HTTP, TCP, UDP, WebSocket 또는 자동 TLS를 폭넓게 다룹니다.
WireGuard·오버레이 네트워크·P2P 방식
목록은 단순한 HTTP reverse tunnel뿐 아니라 사설 네트워크를 구성하는 오버레이 네트워크도 별도 선택지로 다룹니다. Tailscale은 WireGuard 기반이며 사용하기 쉽지만 control server는 비공개 소스입니다. headscale은 Tailscale 공식 클라이언트와 함께 사용할 수 있는 오픈소스 control server 구현입니다. NetBird는 SSO/MFA와 세밀한 접근 제어를 갖춘 WireGuard 기반 오버레이 VPN으로, 호스팅형과 셀프호스팅형을 제공하고 reverse proxy 기능을 통해 공개 HTTPS URL을 만들 수 있습니다.
Nebula는 Slack에서 개발·사용된 완전 오픈소스 P2P 오버레이 네트워크이며 WireGuard를 사용하지 않습니다. Netmaker는 커널 WireGuard를 사용하는 Layer 3 P2P 네트워크와 사설 DNS, 서버 및 관리자 UI를 제공합니다. Firezone은 커널 WireGuard 기반의 Layer 3/4 오버레이 네트워크이며 OIDC/SAML 기반 SSO를 지원합니다. ZeroTier는 Layer 2 오버레이 네트워크이고, OpenZiti는 네트워크가 아니라 애플리케이션 수준까지 zero trust를 확장하는 것을 목표로 합니다.
P2P 연결 자체에 초점을 둔 항목으로는 공개 키로 상대를 지정하는 QUIC 기반 iroh, STUN과 TURN을 통한 NAT traversal을 제공하는 WebRTC 기반 weron, libp2p와 DHT를 이용해 중앙 서버 없이 피어를 발견하는 EdgeVPN, QUIC·TCP와 relay를 사용하는 Anywherelan이 있습니다. gsocket은 NAT나 방화벽 뒤의 두 사용자가 TCP 연결을 수립하도록 하고, WebRTC 기반 BitBang은 브라우저와 컴퓨터가 P2P로 연결되어 셸, 파일 공유, HTTP/WebSocket 프록시를 단일 URL로 제공합니다. Tor를 이용하는 onionpipe와 ngtor, 임시 Tor hidden service를 만드는 ephemeral-hidden-service도 포함됩니다.
호스팅 서비스와 개발용 기능
ngrok 2.0은 TLS·TCP 터널을 포함한 기능과 root 권한 없는 클라이언트를 제공하는 대표적인 상용 서비스로 정리됩니다. Cloudflare Tunnel은 클라이언트가 Apache 2.0 라이선스의 Go 코드로 제공되며 Cloudflare DNS와 자동 HTTPS를 함께 사용할 수 있습니다. Microsoft Dev Tunnels는 셀프호스팅에는 적합하지 않고 커스텀 도메인을 지원하지 않으며 접속 시 경고가 표시되지만 개발 작업에는 쓸 만한 선택지로 설명합니다.
Webhook Relay는 비공개 서비스로 향하는 outbound client, 고정 호스트명, 커스텀 도메인과 자동 HTTPS, Kubernetes operator를 제공하지만 양방향 터널에는 계정과 유료 플랜이 필요합니다. Pinggy는 별도 다운로드 없이 SSH 한 줄로 HTTPS·TCP·TLS 터널을 만들고 터미널 인터페이스와 웹 디버거를 제공합니다. localhost.run, Serveo, tuns.sh, tunnl.gg, srv.us 등은 시스템의 OpenSSH 클라이언트를 이용하는 SSH 기반 서비스입니다. tuns.sh는 HTTP·WSS·TCP 터널과 커스텀 도메인, 미국·유럽 리전, 사이트별 분석을 제공하지만 유료 플랜이 필요합니다.
개발 과정의 요청 확인과 디버깅에 초점을 둔 항목도 있습니다. Beeceptor는 REST API mocking과 요청 가로채기, mock response 전송을 제공하고, Livecycle은 공유 HTTPS URL에 협업 대시보드와 디버깅·피드백 기능을 결합합니다. LocalCan은 HTTP·TCP 터널, 커스텀 도메인과 자동 HTTPS, mDNS 기반 로컬 도메인, 트래픽 검사와 replay를 제공하며 AI agent를 위한 MCP server도 포함합니다. Svix Play는 일반적인 운영용 터널보다 로컬 webhook endpoint를 자동 HTTPS URL로 열고 테스트하는 개발용 relay·debugger에 가깝습니다.
상태와 운영상 주의점
목록에는 기능뿐 아니라 프로젝트의 현재 상태도 함께 기록됩니다. Greenhouse는 호스팅 서비스가 현재 unavailable이고 2023년 이후 활동이 없어 유지보수가 중단된 것으로 보인다고 적혀 있습니다. reverst는 정식 릴리스가 없고 최신 태그가 v0.2.0(2024-05-27)이며 TLS와 DNS를 수동으로 설정해야 합니다. 일부 항목은 도메인 만료, 공개 서버 중단, archived 또는 미관리 상태로 표시됩니다. 따라서 이 목록은 모든 항목을 동일한 수준의 운영 대안으로 추천하는 표라기보다, 프로토콜·배포 방식·인증서 처리·접근 제어·프로젝트 상태를 비교하는 출발점으로 활용하는 편이 적절합니다.
2026년 2월 16일 업데이트에서는 터널링 도구의 민감한 성격을 이유로 새 GitHub 프로젝트를 추가할 때 최소 100 GitHub stars를 요구하기 시작했다고 밝혔습니다. GitHub 외부 프로젝트와 상용 서비스는 사안별로 처리하며, 2026년 8월 10일 업데이트에서는 backlog 정리에 AI를 자동화와 주석 작성에 활용했지만 추가·종료 여부는 직접 판단하려 했다고 설명합니다. 다만 일부 항목이 잘못 처리되었을 가능성이 있으므로 오류가 있으면 이슈나 PR에서 알려 달라고 요청합니다. Lobsters 게시물은 커뮤니티 점수 10점을 기록했으며 댓글은 없습니다.
원문: GitHub / 번역·요약: Trawling