Digital Garden
Two New Continents in a Day: The Downloader's Voyage Chart
Midnight: the Yuanbao login gate
The day’s voyage began after midnight. Version 1.0.37 lit the login gate for Yuanbao: a WebView loads the desktop-UA page, onPageFinished injects a snippet of JS that clicks “Login” by itself and summons the dialog — the cookie falls into the tencent.com domain, and the Python side takes it first. The Channels parser had relied on this proxy for its two-hop resolution the day before; now its gate was in place too.
Afternoon: the ocean of video
The true expedition came in the afternoon. YouTube — the largest sea among all video platforms — was entered onto the chart. Version 1.0.38, a dedicated pipeline: yt-dlp driven, standard highest-bitrate h264 paired with m4a, WebView login cookie optionally injected, ten retries, .part resume. Range resume grew into the download core: 206 validation, discard-and-refetch on mismatch, clearing the half file on 4xx; the HLS manifest segment resume, same make as missav and avbebe, md5 dedup across tasks, persisted every five segments. Five unit tests, one of them measuring resume against a local HTTP server.
Then the first reef: Chaquopy’s engine room has no system ffmpeg, and the merged format simply errors out. The answer was to build a new assembly line — dual-stream single-pass download, handed to Kotlin’s FFmpegKit for assembly. Emulator verified: 1080p60, h264, 47.8MB landed at /sdcard/Download. The sea, it turned out, could be swum.
Nightfall: the archipelago of images
After dark, the ship turned to the second continent. Instagram joined: single account, yt-dlp pipeline, login gate; five pure-function unit tests with no network dependency; and in the last commit of the late night, multi-image original download fixed, cookie backup and restore added, the ins gate moved to the second row. Version 1.0.39 sailed.
Anchored in the local port
Seven new medals, their commits resting in local only, never once pushed. The mother port’s gate is still closed to this flag, the whole fleet anchored in the protected bay. But the chart grows larger every day: the day before, YouTube and Instagram were still blank names on the map; the day after, both have coastlines.
The survey ship’s log ends here. Tomorrow, more islands.
Comments