Skip to content

feat: 외부 HTTPS 터널 통합 (ngrok / cloudflared) — Local Hosting 실 디바이스 검증 #29

Description

@manjees

배경

현재 Local Hosting Simulation은 127.0.0.1에만 바인딩되어 있어, 실제 Android 디바이스에서 pm verify-app-links로 검증할 수 없다. 이는 보안상 의도된 선택이지만, "시뮬레이션 ≠ 검증"이라는 한계가 명확하다. 개발자는 결국 production 도메인에 assetlinks.json을 올린 뒤에야 진짜 검증이 가능하다.

제안

infrastructure/tunnel/ 아래에 외부 터널 wrapper를 추가하고, Local Hosting 화면에 토글을 노출한다.

  • ngrok (가장 흔함, 무료 티어 충분) 또는 cloudflared (계정 불필요한 옵션)
  • 사용자가 ngrok authtoken을 Settings에 한 번 등록 → LinkOps가 ngrok http <port> 자동 실행 → 외부 HTTPS URL 회수
  • Local Hosting 화면에 "공개 URL: https://abc123.ngrok-free.app" 표시 + 디바이스에서 이 URL을 검증

왜 우선순위 #1

  • 기존 Local Hosting 기능의 가장 큰 한계 해결
  • 새 화면 추가 없이 기존 기능 가치가 크게 상승
  • 신규 화면 작업이 거의 없음 (Local Hosting ViewModel + 인프라 wrapper 추가)

성공 기준

  • ngrok authtoken 등록 후 토글 ON → 외부 HTTPS URL 노출
  • 실 Android 디바이스에서 해당 URL로 pm verify-app-links --re-verify 통과 가능
  • 터널 종료 시 서버도 깔끔히 정리 (포트 점유 잔존 없음)
  • 보안 경고: "외부에 노출됨" 명시 UI

범위 외 (다음 이터레이션)

  • ngrok 외 cloudflared, localtunnel 등 멀티 백엔드 동시 지원
  • 터널 사용 통계

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions