크라우니메신저 v3 Phase 2 — 실동작 서버 + E2E + 통화 + 디자인
개요
Phase 1(한선씨 7,326줄)에 이어 실제 동작하는 Node.js 서버, 웹 클라이언트 SPA, E2E 암호화, 음성/영상 통화, 푸시 알림, 스티커팩, 크라우니디자인표준2026 적용까지 완료.
결과: 36개 파일 12,982줄+ / 서버 3포트 가동 / 통합테스트 13/13 PASS
새로 추가된 파일
서버 (JS)
서버/ws-server-v3.js (1,227줄) — WS(9751)+HTTP(9754)+SPA(9752) 3중 서버서버/signaling.js (357줄) — WebRTC 시그널링 서버서버/crypto-bridge.js (253줄) — E2E 암호화 TCP 브릿지 (9760)한선씨 (새로 작성)
암호화.한선(374줄) — Signal Protocol E2E: X25519, AES-GCM, Double Ratchet통화.한선(408줄) — 음성/영상 통화: WebRTC, 그룹통화, 통화기록푸시알림.한선(293줄) — 브라우저 푸시: 구독, 무음시간, 이벤트 분기스티커.한선(375줄) — 20개 기본팩, 검색, 최근사용
웹 클라이언트
웹v3/index.html(1,133줄) — SPA: 대화목록, 채팅, 다크모드, 모바일반응형웹v3/통화UI.한선(317줄) — 통화 UI HTML/CSS/JS 생성웹v3/스티커UI.한선(246줄) — 스티커 선택 패널웹v3/sw.js(92줄) — Service Worker 푸시 알림
테스트
테스트/통합테스트.sh(482줄) — 13개 E2E 테스트 (HTTP+SPA+WS)
인프라
start-v3.sh업데이트 — node/toau 듀얼 모드- 게이트웨이 등록: msg.crowny.org(9752), msg-api.crowny.org(9754), msg-ws.crowny.org(9751)
포트
| 서비스 | 포트 | 도메인 |
|---|---|---|
| WebSocket | 9751 | msg-ws.crowny.org |
| HTTP API | 9754 | msg-api.crowny.org |
| SPA | 9752 | msg.crowny.org |
| Crypto Bridge | 9760 | (내부) |
기술 스택
- 서버: 순수 Node.js (외부 의존성 없음, raw TCP WebSocket)
- 한선씨: hanseonc_high → TOAU 컴파일 (28개 전수 OK)
- 프로토콜: CMP v3 JSON 엔벨로프 + v2 파이프 하위 호환
- 암호화: Signal Protocol (X25519 + AES-256-GCM + Double Ratchet)
- 통화: WebRTC (STUN: stun.l.google.com:19302)
- 디자인: 크라우니디자인표준2026 (8px 그리드, 크라우니 블루 #0066CC)
잔여 이슈
- E2E 암호화: crypto-bridge.js 서버 별도 가동 필요 (포트 9760)
- WebRTC: TURN 서버 미구축 (NAT 환경 통화 제한)
- 스티커: 실제 이미지 에셋 없음 (텍스트 이모지만)
- 관리 콘솔 UI 미구현 (API만 존재)