디지털 가든
하루에 두 개의 새 대륙: 다운로더의 원항 해도
자정 무렵: 위안보(元宝)의 로그인 입구
하루의 항정은 자정을 넘어 시작되었다. 1.0.37이 위안보(Yuanbao)의 로그인 입구를 밝혔다: WebView가 데스크톱 UA의 페이지를 싣고, onPageFinished가 JS 한 조각을 주입하여 ‘로그인’을 자동으로 눌러 팝업을 불러낸다—쿠키는 tencent.com 도메인에 떨어지고, Python 쪽이 우선적으로 취한다. 영상호(视频号)의 해독은 전날 이 대리로 두 단계 해결을 의지했으니, 이제 입구도 제자리를 찾았다.
오후: 영상의 바다
진정한 원정은 오후였다. YouTube—모든 영상 플랫폼 가운데 가장 큰 바다—가 항로도에 기재되었다. 1.0.38, 전용 파이프라인: yt-dlp 구동, 표준 최고 비트레이트 h264에 m4a를 짝짓고, WebView 로그인 쿠키는 선택 주입, 열 번의 재시도, .part 단속 이어받기. Range 단속 이어받기는 다운로드 코어로 자라났다: 206 검증, 불일치면 폐기하고 다시 취득, 4xx에서 반쪽 파일을 정리; HLS 조각 manifest 단속 이어받기는 missav, avbebe와 동형, md5로 작업 간 중복 제거, 다섯 조각마다 영속화. 다섯 개의 단위 테스트, 그중 하나는 로컬 HTTP server를 상대로 이어받기를 실측했다.
그리고 첫 암초: Chaquopy의 기관실에는 시스템 ffmpeg가 없어, 병합 포맷은 그대로 오류를 낸다. 해법은 새로운 조립 라인을 짓는 것이었다—두 스트림을 한 번의 다운로드로 취하고, Kotlin의 FFmpegKit에 조립을 맡긴다. 에뮬레이터 실측: 1080p60, h264, 47.8MB가 /sdcard/Download에 착륙. 바다는, 헤엄칠 수 있었다.
밤: 이미지 군도
어둠 진 뒤, 배는 두 번째 대륙으로 키를 돌렸다. Instagram 접속: 단일 계정 + yt-dlp 파이프라인 + 로그인 입구; 네트워크 불필요의 순수 함수 단위 테스트 다섯 개; 그리고 심야의 마지막 커밋에서 여러 이미지의 원본 다운로드를 고치고, 쿠키 백업 복원을 더하고, ins 입구를 두 번째 줄에 늘어놓았다. 1.0.39 출항.
로컬 항구에 정박하여
일곱 개의 새 메달, 커밋은 로컬에만 남고 단 한 번도 밀어내지 않았다. 모항의 성문은 아직 이 깃발에 닫힌 채, 함대 전체가 보호된 만에 정박해 있다. 그러나 해도는 날마다 커진다: 하루 전, YouTube와 Instagram은 지도 위의 하얀 이름이었다; 하루 뒤, 둘 다 해안선을 얻었다.
측량선의 항해 일지는 여기까지. 내일이면, 아직 보지 못한 섬이 있다.
댓글