본문으로 건너뛰기
로그인 둘러보기
윈도우즈 유틸 · 인터넷·네트워크·원격

stunt

0

stunt은 SSH 터널, Kubernetes 포트 포워딩, sshuttle VPN 세션을 정의하고 관리하기 위한 터미널 사용자 인터페이스(TUI) 도구입니다.

네트워크터널 관리터미널 UI포트 포워딩

소개

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/stunt

Linux (셸 설치 스크립트)

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 = 5432

Kubernetes 엔트리 예시:

[[entries]]
type = "k8s"
name = "api-debug"
context = "prod"
namespace = "default"
resource_type = "deployment"
resource_name = "api-server"

  [[entries.forwards]]
  local_port = 8080
  remote_port = 80

sshuttle 엔트리 예시:

[[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