Skip to content

rhwp-chrome: Google Drive HWP 파일 인라인 열기 (개인 Drive 우선) #497

@edwardkim

Description

@edwardkim

배경

Google Drive (drive.google.com) 웹 UI에서 .hwp / .hwpx 파일을 클릭하면 Google 의 기본 미리보기가 "미리보기 불가" 또는 빈 영역을 띄우고, 다운로드 메뉴를 거쳐야만 rhwp 확장의 다운로드 인터셉터가 동작한다.

OneDrive 와 동일한 결함 본질 — Google 도 HWP 형식을 네이티브 미리보기 미지원. 글로벌 클라우드 일반의 본질.

이슈 #242 와 동일 우회 패턴이 Google Drive 에도 적용 가능하다고 판단됨.

목표

개인 Google Drive (drive.google.com) 에서 HWP/HWPX 파일 클릭 시, 다운로드 대화상자·"미리보기 불가" 오버레이 없이 rhwp 뷰어 탭이 열려 즉시 렌더링되도록 한다.

비목표 (본 이슈 범위 외)

  • Google Workspace (G Suite) 기업 계정 — OAuth 2.0 / Drive API v3 스코프 처리가 독자적 난이도이므로 별도 후속 이슈
  • 편집 결과의 Google Drive 되저장 (읽기 전용 유지)
  • Safari 포팅 (후속)

접근 방향 (요약)

본 이슈와 #242 OneDrive 의 우회 패턴은 framework 으로 통합 가능:

  1. 클라우드 핸들러 framework (cloud-handlers/) — OneDrive / Google Drive 도메인별 핸들러 분리
  2. document 레벨 capture phase 로 click / dblclick / keydown Enter / 컨텍스트 메뉴 "열기" 이벤트 가로채기
  3. Service Worker 가 credentials: 'include' 로 파일 직접 fetch (사용자 인증 쿠키 사용)
  4. 매직 넘버·크기·도메인 화이트리스트 검증 후 뷰어 탭에 전달

보안 고려 (필수)

#242 와 동일:

  • C-01 오픈 프록시 방지: Google Drive 도메인 화이트리스트 (drive.google.com, *.googleusercontent.com)
  • C-02 URL 검증: 프로토콜·호스트·확장자·Content-Length 검증
  • DNS Rebinding / 리다이렉트 체이닝: redirect: 'manual' 강제 + Location 헤더 재검증
  • 매직 넘버 검증: HWP (D0 CF 11 E0) / HWPX (50 4B 03 04)
  • N-04 메모리 DoS: 50MB 상한 + 대용량 경고

성공 기준

  • 개인 Google Drive 웹에서 HWP/HWPX 클릭 → 다운로드 대화상자 없음, 미리보기 오버레이 없음
  • rhwp 뷰어 탭이 즉시 열려 문서 렌더링
  • click / dblclick / Enter 모두 동일 UX
  • 비-Google Drive 사이트의 배지·호버 기능 회귀 0
  • 기존 다운로드 인터셉터 정상 (.hwp 직접 링크)
  • OneDrive (#242) 회귀 0
  • 보안 하드닝 단위 테스트 그린
  • 작업지시자 실계정 수동 검증 통과

관련

마일스톤

v1.0.0 (M100)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions