JJ_MKVMaker/lib/ui
RyuJongJin 94ecd7b25e WIP 89 Wi-Fi 공유: 고른 폴더를 같은 Wi-Fi 의 다른 기기 브라우저에서 보기 · 받기 (읽기 전용) (검토 대기)
사용자 결정 (10/9): 기본 꺼짐 · 읽기 전용 · 접속 비밀번호. 관리자 지시 (10/17) 대로:
- 앱 안 작은 HTTP 서버 (dart:io, 새 서버 패키지 없음). 켤 때마다 6자리 코드를 새로 만들고 주소 · QR · 코드를 화면에
- 고른 폴더 밖은 막음: ../ · 역슬래시 · 드라이브 · ':' · 링크 · junction (목록에도 안 보임), 실제 경로가 폴더 안인지 다시 확인
- GET · HEAD 만 (그 밖은 405). 올리기 · 지우기 · 이름 바꾸기 없음
- 저절로 끄기: 설정 10 / 30 (처음 값) / 60 / 120분 / 끄지 않음, [+30분]. 앱을 끄면 함께 꺼짐
- 접속 기록은 화면에만 (파일에 남기지 않음). 작업 기록에는 켜고 끈 것만, 코드 · 주소 없음. 로그인 뒤 주소에서 코드를 뺌
- Android: 켜져 있는 동안 작업 알림 서비스 ("Wi-Fi 공유 켜짐" - 코드 · 주소는 잠금 화면에 보일 수 있어 넣지 않음)
- 탐색기: 폴더 길게 누르기 [Wi-Fi 로 공유] (이 기기의 폴더만) · ⋮ 메뉴 · 버튼 구성, 켜져 있는 동안 위에 "Wi-Fi 공유 중" 줄 ([끄기])

내 판단 (보안):
- 코드를 틀리면 한 기기는 5번에 1분 막고, 모두 30번이면 공유를 끔 (6자리 무작위 대입 막기)
- 사설망 · 링크 로컬 · Tailscale (100.64/10) · 이 기기에서 온 요청만 받음
- 공유한 파일은 격리해 보냄 (CSP sandbox · nosniff, HTML · SVG · JS 는 내려받기로). 앱 화면에도 스크립트 없음 (CSP)
- 쿠키는 HttpOnly · SameSite=Strict, 코드 비교는 시간 차가 없게

라이선스: qr 3.0.2 (BSD-3-Clause, 원래 간접 의존성) 를 직접 의존성으로 - 두 고지 · licenses_test.
시험: wifi_share_test 8 (401 · 429 · 끄기 · 403/404 · 링크 · Range · 격리 · 저절로 끄기 · 사설망), wifi_share_page_test (412 폭),
keep_alive · licenses. analyze 문제 없음, l10n 빠짐 0, test_temp_check: jj_wifi* 흔적 0 (같은 때 cd 의 explorer 시험 폴더가 섞여 보임).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:20:24 +09:00
..
added_to_mkv_notice.dart WIP 다운로드 줄이 자동 추가로 빠질 때 이유 알림 · [보기] (931 관리자 판단) (검토 대기) 2026-10-17 09:49:18 +09:00
ai_dialog.dart WIP 259 번역 모델 (NLLB 912MB) 은 번역이 실제로 필요할 때만 받기 - 자동 감지 + 한 언어면 감지한 원어가 다를 때 (검토 대기) 2026-10-17 09:49:26 +09:00
ai_image_page.dart 라이선스 고지 (62 · 63 · 64) · AI 릴리스 전 수정 (152 · 156 · 157 · 159) 2026-10-09 16:20:15 +09:00
ai_settings.dart WIP 86 압축: ZIP 만들기 · 풀기, 7z · RAR 풀기 (Windows - 7-Zip 25.01 동봉), 풀기 전 검사 + 품질 올리기 다듬기 정도 설정 (검토 대기) 2026-10-17 14:38:26 +09:00
ai_subtitle_models.dart WIP 260 환경 설정 > 자막: 받은 AI 자막 모델 (Whisper · NLLB) 크기 · [지우기], 작업 중에는 못 지움 (검토 대기) 2026-10-17 09:49:27 +09:00
ai_upscale_ui.dart WIP 관리자 결정: 거절 기록은 방식 주소:포트만 · DoH 주소는 호스트만 · 시험 임시 폴더 흔적 0 + 검사 (검토 대기) 2026-10-17 16:53:56 +09:00
all_files_guide.dart WIP 다음 판: 199 권한 앱 목록 안내 · 188 버튼 글 맞춤 · 206 이동 버튼 · 181 · 182 mp3 재생 · 184 직접 파일 일반 받기 · 185 [계속 받기] (검토 대기) 2026-10-17 09:48:44 +09:00
android_file_browser.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
app_actions.dart WIP 253 글자 크게 (1.6배) 해도 넘치지 않게: 탐색기 줄 높이 · 설정 고르기 상자 · 위 막대 · 인코딩 · 모니터링 · 언어 · 화면 전체 시험 (검토 대기) 2026-10-17 09:49:12 +09:00
app_drop.dart 화면 언어: 한국어 · English · 日本語 · 简体中文, 언어 추가 (AI 자동 번역) · 삭제, 바꾸면 화면 전체가 바로 그 언어로 2026-10-04 14:13:02 +09:00
archive_ui.dart WIP 릴리스 전 점검 (지시 8): DNS 실패 기록에서 사이트 이름 뺌 · archive 고지 · 큰 글자 넘침 3곳 (검토 대기) 2026-10-17 16:18:14 +09:00
audio_now_playing.dart WIP 다음 판: 199 권한 앱 목록 안내 · 188 버튼 글 맞춤 · 206 이동 버튼 · 181 · 182 mp3 재생 · 184 직접 파일 일반 받기 · 185 [계속 받기] (검토 대기) 2026-10-17 09:48:44 +09:00
batch_rename_dialog.dart WIP 릴리스 전 점검 (지시 8): DNS 실패 기록에서 사이트 이름 뺌 · archive 고지 · 큰 글자 넘침 3곳 (검토 대기) 2026-10-17 16:18:14 +09:00
bookmark_ui.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
browser_page.dart 248 다듬기: 아래 DNS 알림은 상태가 풀리면 닫고, 같은 안내를 보이는 화면 (브라우저 덮개 · 설정 DNS 칸) 에서는 띄우지 않음 2026-10-12 07:47:50 +09:00
cef_setup.dart Chrome 엔진: 관리자 권한이면 시작 안 함 (설정으로 허용) · 20초 안전망 · 인증 없는 숨긴 문 (207) · DNS 강제를 앱 시작 맨 앞에 2026-10-12 00:23:20 +09:00
cleanup_dialog.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
component_settings.dart 통합: tor_dns (Tor 브라우저 · DNS 강제 · 228 · 247~249) 를 묶음5 (aa7a1af) 에 합침 2026-10-12 01:53:32 +09:00
confirm.dart WIP 다음 판: 199 권한 앱 목록 안내 · 188 버튼 글 맞춤 · 206 이동 버튼 · 181 · 182 mp3 재생 · 184 직접 파일 일반 받기 · 185 [계속 받기] (검토 대기) 2026-10-17 09:48:44 +09:00
copy_sync_settings.dart 폰 세로 모니터링 버튼 줄 넘침 (257) · 지운 쌍의 "동기화 멈춤" 알림이 남던 것 (258) 2026-10-12 08:15:38 +09:00
dav_external.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
downloads_page.dart WIP 263 다운로드: DNS 서버에 닿지 않아 실패하면 줄에 이유 · [시스템 DNS 로 바꾸기] (검토 대기) 2026-10-17 09:55:14 +09:00
encode_notice.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
existing_output_dialog.dart MKV 다시 만들기: 임시 이름에 만들고 다 됐을 때만 바꿔 넣음 · 이미 있으면 묻기 · 묶음 집계 · 끝난 뒤 취소 무시 (P0, 931) 2026-10-12 07:31:41 +09:00
exit_dialog.dart 화면 언어: 한국어 · English · 日本語 · 简体中文, 언어 추가 (AI 자동 번역) · 삭제, 바꾸면 화면 전체가 바로 그 언어로 2026-10-04 14:13:02 +09:00
exit_guard.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
explorer_bookmarks.dart 파일 탐색기 즐겨찾기 (73): 지금 폴더 넣기 · 창 위에서 한 번에 · Rsync 짝 2026-10-11 18:49:03 +09:00
explorer_drag.dart WIP 82 파일 탐색기 창 사이 끌어 놓기: 마우스 8px 끌기 · 터치 ≡ 손잡이, 놓을 곳 강조, 묻기 (복사 · 이동), 이동 [되돌리기] (검토 대기) 2026-10-17 13:12:04 +09:00
explorer_look.dart WIP 84 파일 탐색기 정렬: 열 머리를 누르면 그 기준 · 다시 누르면 거꾸로, 설정 "정렬을 폴더마다 기억" (검토 대기) 2026-10-17 11:53:38 +09:00
explorer_page.dart WIP 89 Wi-Fi 공유: 고른 폴더를 같은 Wi-Fi 의 다른 기기 브라우저에서 보기 · 받기 (읽기 전용) (검토 대기) 2026-10-17 23:20:24 +09:00
explorer_search.dart WIP 15 캡처 지적 ①~④: 영어 단수 · 좁은 화면 풀 곳 세로 목록 · 찾기/분석 줄은 시작한 폴더 기준 짧은 경로 · 캡처 DEBUG 띠 끔 (검토 대기) 2026-10-17 15:57:25 +09:00
file_error.dart 오류 메시지 안쪽을 화면 언어로 (59) 2026-10-10 01:11:17 +09:00
folder_picker.dart AI 그림 1차 (123) · WebDAV 안내 (133 · 134 · 142 · 143) · 긴 경로 휴지통 보호 · AI 화면 작은 것 (139 · 140 · 141) 2026-10-09 14:35:57 +09:00
home_page.dart WIP MKV 화면 ②③ 보충 (15 확인 · 관리자 판단): [›] 뒤 바탕 · 폰 세로 빈 작업 기록은 한 줄 높이 (검토 대기) 2026-10-17 10:50:01 +09:00
key_hint.dart 단축키 안내 '(Alt+←)' 등은 PC 에서만 - 태블릿 · 폰은 이름만 (194) 2026-10-12 06:01:43 +09:00
language_settings.dart WIP 253 글자 크게 (1.6배) 해도 넘치지 않게: 탐색기 줄 높이 · 설정 고르기 상자 · 위 막대 · 인코딩 · 모니터링 · 언어 · 화면 전체 시험 (검토 대기) 2026-10-17 09:49:12 +09:00
license_texts.dart WIP 86 압축: ZIP 만들기 · 풀기, 7z · RAR 풀기 (Windows - 7-Zip 25.01 동봉), 풀기 전 검사 + 품질 올리기 다듬기 정도 설정 (검토 대기) 2026-10-17 14:38:26 +09:00
master_prompt.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
migration_notice.dart 193 dnsForced 알림: 8.8.8.8 이 막힌 회사 · 학교망에서는 [시스템 DNS 로 바꾸기] 를 누르라고 한 줄 더 2026-10-12 06:29:25 +09:00
monitor_page.dart WIP 253 글자 크게 (1.6배) 해도 넘치지 않게: 탐색기 줄 높이 · 설정 고르기 상자 · 위 막대 · 인코딩 · 모니터링 · 언어 · 화면 전체 시험 (검토 대기) 2026-10-17 09:49:12 +09:00
network_settings.dart WIP 266 폰 세로 MKV 화면: DNS 닿지 않음 줄을 한 줄로 (글 줄임 · 길게 누르면 전체 · 버튼 같은 줄) - 세부 정보의 자막 버튼이 밀려나지 않게 (검토 대기) 2026-10-17 09:49:36 +09:00
path_label.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
player_page.dart WIP 다음 판: 199 권한 앱 목록 안내 · 188 버튼 글 맞춤 · 206 이동 버튼 · 181 · 182 mp3 재생 · 184 직접 파일 일반 받기 · 185 [계속 받기] (검토 대기) 2026-10-17 09:48:44 +09:00
quick_look.dart WIP 81 보충 (15 지적 · 관리자 판단): 빠른 보기의 글 미리 보기가 CP949 · UTF-16 · UTF-8 BOM 도 읽게 (검토 대기) 2026-10-17 13:19:23 +09:00
reader_page.dart WIP AI 해상도 올리기: 배율 "1배 (선명하게)" · 보기 화면 [품질 올리기] (그림 → 그림 약하게 + 해상도 올리기, 처음 숨김) (검토 대기) 2026-10-17 14:05:26 +09:00
rsync_setup.dart 좁은 화면 (접은 폴드 · 휴대폰 세로) 배치 정리 2026-10-08 14:10:04 +09:00
schedule_editor.dart 복사 모니터링 · 복사 기억 · lsync 일정 (cron + 격자 편집) 2026-10-05 11:16:05 +09:00
scroll_more.dart WIP MKV 화면 ②③ 보충 (15 확인 · 관리자 판단): [›] 뒤 바탕 · 폰 세로 빈 작업 기록은 한 줄 높이 (검토 대기) 2026-10-17 10:50:01 +09:00
secret_issue.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
security_settings.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
setting_tile.dart WIP 253 글자 크게 (1.6배) 해도 넘치지 않게: 탐색기 줄 높이 · 설정 고르기 상자 · 위 막대 · 인코딩 · 모니터링 · 언어 · 화면 전체 시험 (검토 대기) 2026-10-17 09:49:12 +09:00
settings_page.dart WIP 82 파일 탐색기 창 사이 끌어 놓기: 마우스 8px 끌기 · 터치 ≡ 손잡이, 놓을 곳 강조, 묻기 (복사 · 이동), 이동 [되돌리기] (검토 대기) 2026-10-17 13:12:04 +09:00
settings_problem.dart 설정 파일: 안전하게 저장 · 깨지면 백업으로 되살리고 알림 2026-10-08 23:54:30 +09:00
setup_dialog.dart 좁은 화면 (접은 폴드 · 휴대폰 세로) 배치 정리 2026-10-08 14:10:04 +09:00
storage_page.dart WIP 15 캡처 지적 ①~④: 영어 단수 · 좁은 화면 풀 곳 세로 목록 · 찾기/분석 줄은 시작한 폴더 기준 짧은 경로 · 캡처 DEBUG 띠 끔 (검토 대기) 2026-10-17 15:57:25 +09:00
subtitle_editor_page.dart 단축키 안내 '(Alt+←)' 등은 PC 에서만 - 태블릿 · 폰은 이름만 (194) 2026-10-12 06:01:43 +09:00
subtitle_language_picker.dart 환경 설정 > MKV 만들기 > 기본 자막 언어 (MKV 기본 자막 트랙 · 플레이어가 먼저 켜는 자막) 2026-10-10 02:41:14 +09:00
subtitle_search_dialog.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
sync_alert.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
sync_preview_view.dart robocopy 복사도 링크 · junction 을 따라가지 않음 (/XJ 처음 값) 2026-10-12 00:51:43 +09:00
theme.dart 66-2 화면 옮기기: 지금 화면 아이콘 파랗게 · 민 쪽으로 미끄러지는 전환 · 처음으로 / 끝 알림 · 브라우저 안내 한 줄 (한 번) 2026-10-09 20:16:08 +09:00
timeline.dart 화면 언어: 한국어 · English · 日本語 · 简体中文, 언어 추가 (AI 자동 번역) · 삭제, 바꾸면 화면 전체가 바로 그 언어로 2026-10-04 14:13:02 +09:00
toast_status.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
tor_page.dart 통합: 묶음5 의 마지막 끝 (433f5b1: 192 · 193 · 194 · 196~198) 을 합침 · 194 · 193 을 Tor · DNS 에도 2026-10-12 06:19:59 +09:00
translate_dialog.dart 라이선스 원문 (175): 네이티브 구성 요소 · 받는 AI 모델의 저작권 줄과 허가 문구를 그 판 그대로 2026-10-10 00:29:19 +09:00
update_dialog.dart 닿지 않는 DNS: 새 버전 확인 실패를 사용자 글로 · 안내는 닫을 때까지 · 상태를 설정 · 작업 현황에 (247 · 248 · 249) 2026-10-12 01:27:00 +09:00
version_restore.dart P0 Android 되돌리기: 남는 것 / 사라지는 것을 사실대로 · 두 번 확인 · 받은 AI 모델 복사해 두었다가 되살리기 2026-10-09 18:03:47 +09:00
video_adjust_dialog.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
webdav_settings.dart AI 그림 1차 (123) · WebDAV 안내 (133 · 134 · 142 · 143) · 긴 경로 휴지통 보호 · AI 화면 작은 것 (139 · 140 · 141) 2026-10-09 14:35:57 +09:00
wifi_share_page.dart WIP 89 Wi-Fi 공유: 고른 폴더를 같은 Wi-Fi 의 다른 기기 브라우저에서 보기 · 받기 (읽기 전용) (검토 대기) 2026-10-17 23:20:24 +09:00
work_panel.dart 폰 세로 MKV 위 막대 진행: "2/3 · 37%" 짧은 꼴 · 폭을 미리 잡아 [+ 동영상 추가] 를 가리지 않게 2026-10-12 08:15:38 +09:00
zip_page.dart WIP 86 압축: ZIP 만들기 · 풀기, 7z · RAR 풀기 (Windows - 7-Zip 25.01 동봉), 풀기 전 검사 + 품질 올리기 다듬기 정도 설정 (검토 대기) 2026-10-17 14:38:26 +09:00