웹 브라우저에서 터미널을, 제로 설정으로!

by DD
4개월 전
조회수 44

VibeTunnel은 웹 브라우저를 터미널로 변환하여 원격 접근을 가능하게 함

SSH 키, 포트 포워딩(Port Forwarding) 없이 간편하게 터미널에 접속 가능

AI 에이전트를 모니터링하고, Git Follow Mode를 통해 작업 동기화 지원

macOS 앱, npm 패키지, iOS 앱을 지원하여 다양한 환경에서 사용 가능

Tailscale, ngrok, Cloudflare Quick Tunnel을 통한 안전한 원격 접근 제공

다중 인증 방식 지원

VibeTunnel은 다양한 인증 방식(Authentication Modes)을 지원하여 보안을 강화한다. 시스템 인증(System Authentication)을 통해 macOS 및 Linux 사용자 계정을 사용하거나, 환경 변수(Environment Variable)를 설정하여 간편하게 인증할 수 있다. 또한, SSH 키 인증(SSH Key Authentication)을 지원하여 보안성을 높이고, 개발 환경에서는 로컬 바이패스(Local Bypass)를 통해 인증 없이 접속할 수 있다.

Tailscale을 활용한 안전한 원격 접근

VibeTunnel은 Tailscale을 통해 안전한 원격 접근을 제공한다. Tailscale은 WireGuard 기반의 암호화된 VPN 터널(Encrypted WireGuard Tunnel)을 생성하여, 사용자의 기기를 동일한 로컬 네트워크에 있는 것처럼 연결한다. VibeTunnel은 Tailscale의 Private 및 Public 모드를 지원하며, HTTPS를 통해 안전하게 접속할 수 있다. 특히, Tailscale Funnel을 사용하면 공용 인터넷에서도 접근이 가능하다.

Git Follow Mode를 통한 작업 동기화

VibeTunnel의 Git Follow Mode는 개발 생산성을 향상시킨다. 이 기능은 Git worktree에서 작업하는 동안, 메인 레포지토리(Main Repository)가 자동으로 해당 브랜치를 따라가도록 동기화한다. Git hooks을 사용하여 worktree의 브랜치 변경을 감지하고, 메인 레포지토리를 자동으로 해당 브랜치로 체크아웃(Checkout)한다. 이를 통해 IDE, 서버, 기타 도구들이 중단 없이 최신 상태를 유지한다.

macOS 앱 아키텍처

VibeTunnel의 macOS 앱은 Swift로 개발되었으며, macOS 메뉴 바 앱, Node.js 서버, 웹 프론트엔드의 세 가지 주요 구성 요소로 이루어져 있다. macOS 메뉴 바 앱은 서버의 생명주기를 관리하고, Node.js 서버는 터미널 세션을 처리하며, 웹 프론트엔드는 Lit 컴포넌트(Lit Components)ghostty-web을 사용하여 사용자 인터페이스를 제공한다. 이러한 아키텍처는 뛰어난 성능과 최소한의 리소스 사용을 보장한다.

npm 패키지 빌드 및 배포 과정

VibeTunnel의 npm 패키지는 다양한 플랫폼을 지원하기 위해 Docker를 사용하여 크로스 컴파일(Cross-compile)을 수행한다. npm run build:npm 명령어를 통해 macOS, Linux(x64, arm64)용 바이너리를 생성하며, 특정 플랫폼 및 아키텍처를 지정하여 빌드할 수도 있다. 패키지 배포는 npm publish 명령어를 통해 이루어진다. 또한, 개발자는 Poltergeist를 사용하여 자동 빌드를 설정할 수 있다.

amantus-ai / vibetunnel