JJ_MKVMaker/integration_test
RyuJongJin 0d1ea93fd3 Tor 브라우저 (컴포넌트) · DNS 강제 (기본 8.8.8.8 / 8.8.4.4)
사용자 요청 (10/10): "Tor 브라우저를 현재 브라우저 옆에 추가 · 설정에서 컴포넌트처럼 추가 ·
DNS 주소를 강제로 내가 설정한 주소로, 기본 8.8.8.8" (보조 8.8.4.4 는 관리자 결정).

DNS 강제 (환경 설정 > 네트워크 · DNS: 시스템 DNS (끄기) / 직접 지정 (기본) / DNS over HTTPS)
- 앱 안 HTTP 프록시 (127.0.0.1, CONNECT + http) 가 정한 서버로 이름을 푼다 (UDP, 잘리면 TCP, DoH,
  TTL 동안 기억). 닿지 않으면 기기 DNS 로 몰래 바꾸지 않고 502 + 알림 [시스템 DNS 로 바꾸기].
- 따르는 것: 앱의 HttpClient (HttpOverrides: 업데이트 · 컴포넌트 · AI 모델 · WebDAV · 번역 · 자막),
  Edge (--proxy-server) · Chrome 엔진 (webview_cef 패치 6), Android 웹 뷰 (ProxyController),
  yt-dlp --proxy, aria2 --all-proxy (+ c-ares 가 있으면 --async-dns-server).
- IP 주소 · 같은 집 안 이름 (점 없는 이름, *.local, Tailscale *.ts.net 등) 은 기기 DNS (내 판단: NAS · WebDAV 가 그대로 열리게).

Tor 브라우저 (컴포넌트 'tor', 처음 꺼짐, 화면은 웹 브라우저 바로 뒤)
- Windows: 공식 Tor Expert Bundle 15.0.24 (tor 0.4.9.13) 을 받아 SHA-256 확인
  (e9dc6ccc…2b65) → 앱 데이터 components/tor. Android: 같은 판의 libTor.so 를 APK 에 (tool/fetch_tor_android.ps1).
- tor 를 자식 프로세스로 (SOCKS · 제어 포트는 빈 포트, 쿠키 인증, __OwningControllerProcess), Tor 화면을 닫으면 끔.
- 웹 뷰 → Tor 다리 (HTTP 프록시 → SOCKS5, 이름은 Tor 에 넘김). Tor 100% · 프록시 적용 · 전용 프로필이
  모두 된 뒤에만 웹 뷰를 만든다. WebRTC 끔, 권한 거절, 검색은 DuckDuckGo.
- Windows: 따로 WebView2 환경 (tor_webview, InPrivate). Android: 웹 뷰 프록시가 앱 전체라 Tor 화면이
  열려 있는 동안 일반 브라우저도 Tor (안내 띠, 관리자 결정), androidx.webkit 프로필 'jj_tor'
  (flutter_inappwebview_android 패치 jjProfile). 기능이 없으면 화면을 열지 않음.
- 상태 줄 (연결 중 % / 연결됨 / 실패 + 다시 시도), [새 경로] (NEWNYM), 처음 열 때 "공식 Tor Browser 아님" 안내.
- 라이선스: TOR_LICENSES.txt (Tor BSD-3 · Libevent · OpenSSL · zlib · zstd), tor 실행 파일은 GPL 빌드 → GPL-3.0.

시험: dns_proxy_test (가짜 DNS · 프록시 · SOCKS 다리), tor_test (새는 것 막기 · 번들 해시 · torrc),
integration_test/tor_dns_real_test (Windows 실제: 8.8.8.8 로 풀기, 닿지 않는 DNS 는 실패,
check.torproject.org "Congratulations").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 21:10:17 +09:00
..
ai_cancel_test.dart Android 작업 알림을 누르면 작업 현황 화면, 위쪽 작업 표시에 진행률 · 누르면 작업 현황, 앱 화면은 하나만 (singleTask). AI 음성인식 중 취소가 바로 먹히게 (whisper abort, Android 태그 포인터) 2026-10-04 20:18:27 +09:00
ai_e2e_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
ai_long_test.dart AI 자막: 말 없는 곳의 지어낸 되풀이 (ん · ん · ん) 정리, 짧은 말 (はい · えー · そうそう · 네 · yes …) 은 정해진 번역으로 2026-10-04 17:17:26 +09:00
av1_check_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
browser_keep_test.dart 웹 브라우저: MKV 화면과 오가도 보던 페이지 · 세션 · 뒤로 가기 기록 유지 (앱을 새로 켤 때까지) 2026-10-03 09:17:59 +09:00
browser_real_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
com_guard_test.dart v2026.09.30_002: 모든 화면 끌어다 놓기, 화면 크기 조절, 브라우저 COM 오류 수정 2026-09-30 22:28:00 +09:00
copy_sync_shot_test.dart 파일 탐색기: 복사 · 이동 방법 (현재 방식 · rsync · robocopy), 속도 제한, 실시간 동기화, 아래 진행 막대 2026-10-05 10:38:09 +09:00
explorer_shot_test.dart 파일 탐색기: 한 번 = 선택 · 두 번 = 실행, 스타일 (X-plore · Windows 탐색기 · Total Commander), 폴더 + 파일 목록 배치 2026-10-05 08:25:46 +09:00
full_player_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
monitor_shot_test.dart Rsync 화면 (파일 탐색기 옆) · 파일 탐색기에서 모니터링 · rsync · lsync 빼기 2026-10-05 18:28:32 +09:00
notify_windows_test.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
pdf_test.dart 이미지 · PDF · ZIP 보기 (컴포넌트 "viewer") 2026-10-08 15:24:47 +09:00
player_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
rsync_page_test.dart rsync 원본 파일 지우기 (--remove-source-files) · 빈 폴더 정리 · lsync 최종 정리 2026-10-05 21:47:20 +09:00
secret_store_platform_test.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
seek_repro_test.dart 플레이어: 건너뛴 뒤 다음 편으로 넘어가던 것 · 지운 WebDAV 서버를 보던 창 2026-10-08 13:42:47 +09:00
settings_shot_test.dart 환경 설정: 묶음별 정리 (일반 · 화면 · MKV 만들기 · 자막 · 재생 · 웹 브라우저 · 다운로드 · 실행 · 정보) + 맨 위 바로가기 2026-10-04 14:54:02 +09:00
shell_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
start_menu_real_test.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
tor_dns_real_test.dart Tor 브라우저 (컴포넌트) · DNS 강제 (기본 8.8.8.8 / 8.8.4.4) 2026-10-10 21:10:17 +09:00
translate_split_test.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
video_adjust_e2e_test.dart MKV 만들기: 화면 비율 (가로 16:9 · 세로 9:16 · 1:1 · 4:5, 채우기 · 맞추기 · 흐린 배경) · 회전 · 색 보정 (밝기 · 대비 · 채도 · 색온도), 미리보기 창 2026-10-04 15:19:35 +09:00
web_translate_test.dart 웹 브라우저: 페이지 자동 번역 · JavaScript 끄기 (환경 설정 > 웹 브라우저) 2026-10-05 01:58:53 +09:00
whisper_probe_test.dart 테스트 · 도구의 작업 폴더 경로: M:\jj_CapCut → M:\jj_MKVMaker 2026-10-05 00:00:34 +09:00
windows_662_shot_test.dart 49 탐색기 뒤로 키: 먼저 고른 것 풀기 → 상위 폴더 → 맨 위에서 화면 닫기 (위쪽 ← 는 늘 닫기) 2026-10-09 20:29:03 +09:00
windows_b3_shot_test.dart 휴지통 시험: 기본은 가짜 휴지통, 실제 휴지통은 JJ_TEST_REAL_RECYCLE=1 일 때만 2026-10-10 02:11:38 +09:00
windows_check_shot_test.dart 휴지통 시험: 기본은 가짜 휴지통, 실제 휴지통은 JJ_TEST_REAL_RECYCLE=1 일 때만 2026-10-10 02:11:38 +09:00
windows_i18n_shot_test.dart [MKV 만들기] 와 AI 버튼 구별 · AI 작업 전에 계획 보이기 (138) 2026-10-10 03:12:14 +09:00