3-8. 보안과 프로토콜 확장 2026-03-10 ~ 03-11
03-10: 보안 기능과 안정성
mTLS (클라이언트 인증서)
서버가 클라이언트 인증서를 요구하는 환경을 지원. 도메인별로 다른 인증서를 설정할 수 있고, PKCS12 형식도 지원.
SSL Proxying 모드
특정 도메인만 TLS 인터셉트하거나(화이트리스트), 특정 도메인을 제외하거나(블랙리스트).
프록시 인증
Bearer/ApiKey 인증 방식 지원. CONNECT 터널에서 인증이 우회되는 보안 이슈를 발견하고 즉시 수정.
연결 풀
프록시 연결을 재사용해서 성능 향상. 동시 연결 수 제한, 최대 바디 크기 제한도 함께.
안정성 대수술
안정성 감사를 실행해서 크리티컬 4건, HIGH 6건, MEDIUM 10건을 수정. 유닛테스트 13건 추가. STABILITY_AUDIT.md 보고서도 생성.
트러블슈팅: macOS 데드락 연쇄 삽질
이 날 데드락 관련 버그만 6커밋:
macOS의 WebKit은 메인 스레드에서만 UI 업데이트를 할 수 있다. Tauri의 app.emit()이 메인 스레드에서 호출되면, WebKit이 이미 메인 스레드를 잡고 있어서 데드락. 모든 blocking I/O를 spawn_blocking으로 옮기고, emit()을 run_on_main_thread()로 변경해서 해결.
코드 내보내기
캡처된 요청을 다양한 포맷으로 내보내기. cURL, fetch, HTTPie, Python requests.
기타
feat: Quick Settings에 No Gzip 토글 기능 추가feat: multipart/form-data 및 urlencoded 바디 뷰어 추가feat: 자동 세션 저장/복원 기능 구현feat(desktop): 찰스 프록시 스타일의 Proxy/Tools 네이티브 메뉴 추가refactor: React Hook Form + Zod 도입refactor: localStorage 직접 접근을 Zustand persist store로 통합
03-11: 프로토콜 확장
SSE 캡처
Server-Sent Events 스트리밍을 실시간 캡처. 이벤트별로 파싱해서 보여준다.
TLS 도메인별 세분화
도메인별로 TLS 버전, 암호화 스위트를 각각 설정할 수 있다. 레거시 서버와 최신 서버를 같이 다룰 때 유용.
Eager/Lazy 연결 전략
- Lazy — 요청이 올 때 서버에 연결 (기본)
- Eager — 미리 연결해서 인증서를 가져옴 (빠름)
- EagerWithFallback — Eager 시도 후 실패하면 Lazy로 폴백
SSL Proxying 모드 확장
tauri-store 전환
모든 Zustand store의 persist backend를 tauri-plugin-store로 통합. Rust에서 store 파일을 직접 읽어서 프록시 시작 시 설정을 자동 동기화.
설정 페이지 리팩토링
설정 페이지를 사이드바 네비게이션 + 통합 Save 버튼 구조로 전면 개편.
CONNECT 터널 토글
프록시를 쓰면 CONNECT 요청이 엄청 많이 나온다. 이걸 숨길 수 있는 토글.
트레이 패널 부활 삽질
03-08에서 문제가 많았던 트레이 패널을 Rust 백엔드 중개 방식으로 다시 구현.
03-10에 mTLS, 프록시 인증, 연결 풀, 안정성 대수술(크리티컬 4+HIGH 6+MEDIUM 10건)을 하고, 03-11에 SSE 캡처, TLS 도메인별 설정, Eager/Lazy 전략, tauri-store 전환을 완료했다.