소개
stunt은 SSH 터널, Kubernetes 포트 포워딩, sshuttle VPN 세션을 정의하고 관리하기 위한 터미널 사용자 인터페이스(TUI) 도구입니다. keathmilligan이 개발했으며, MIT 라이선스로 배포됩니다. 앱을 종료해도 터널 정의가 유지되고, 실행 중에는 활성 연결을 모니터링하고 유지합니다.
상세정보
SSH 터널 관리
stunt은 SSH 로컬/리모트/다이내믹 포워딩을 지원합니다. 각 터널은 이름, 호스트, 포트, 사용자, 인증 파일 등을 설정할 수 있으며, 여러 포워딩 규칙을 추가할 수 있습니다.
Kubernetes 포트 포워딩
kubectl port-forward를 래핑하여 Pod, Service, Deployment 리소스에 대한 포트 포워딩을 정의하고 관리합니다. 하나의 엔트리에 여러 포트 바인딩을 추가할 수 있으며, 단일 kubectl 프로세스로 실행됩니다.
sshuttle VPN 세션
sshuttle을 사용하여 VPN 세션을 정의하고 관리합니다. 호스트, 서브넷, 포트, 사용자, 인증 파일 등을 설정할 수 있습니다.
Windows (winget)
관리자 PowerShell에서 다음 명령으로 설치합니다:
winget install stunt설치 후 터미널에서 stunt 명령으로 실행합니다.
macOS (Homebrew)
brew tap keathmilligan/tap
brew install keathmilligan/tap/stuntLinux (셸 설치 스크립트)
curl -fsSL https://packages.keathmilligan.net/stunt/install.sh | sh이 스크립트는 ~/.local/bin에 설치합니다.
기본 사용법
TUI에서 n으로 새 엔트리를 추가하고, e로 편집, d로 삭제, Enter로 연결/해제합니다. j/k 또는 화살표 키로 목록을 탐색하고, q 또는 Ctrl+C로 종료합니다.
폼 모드에서는 Tab/Shift+Tab으로 필드를 이동하고, Ctrl+A로 포워딩/포트 바인딩을 추가, Ctrl+D로 삭제합니다. SSH 포워딩 유형은 Ctrl+T로 순환합니다.
설정 파일
설정은 TOML 파일에 저장됩니다:
- Linux:
~/.local/share/stunt/tunnels.toml - macOS:
~/Library/Application Support/stunt/tunnels.toml - Windows:
%APPDATA%stunttunnels.toml
SSH 엔트리 예시:
[[entries]]
type = "ssh"
name = "prod-db"
host = "bastion.example.com"
user = "deploy"
identity_file = "~/.ssh/id_ed25519"
auto_restart = true
[[entries.forwards]]
type = "local"
bind_port = 5432
remote_host = "db.internal"
remote_port = 5432Kubernetes 엔트리 예시:
[[entries]]
type = "k8s"
name = "api-debug"
context = "prod"
namespace = "default"
resource_type = "deployment"
resource_name = "api-server"
[[entries.forwards]]
local_port = 8080
remote_port = 80sshuttle 엔트리 예시:
[[entries]]
type = "sshuttle"
name = "corp-vpn"
host = "bastion.example.com"
subnets = ["10.0.0.0/8", "192.168.0.0/16"]활용 예시
SSH 터널을 사용하여 원격 데이터베이스에 안전하게 접근하거나, Kubernetes 클러스터의 서비스에 로컬 포트로 접근할 수 있습니다. sshuttle을 사용하면 여러 서브넷에 대한 VPN 연결을 쉽게 설정할 수 있습니다.
라이선스
MIT 라이선스로 배포됩니다.
시스템 요구사항
Windows 11 · x64 · winget


