DownloadMedia — YouTube → MP3/MP4
  • Python 59.2%
  • HTML 39%
  • Dockerfile 1.8%
Find a file
bunko c3bd22ff92 Route YouTube traffic through residential proxy to beat datacenter bot-block
YouTube began returning "Sign in to confirm you're not a bot" (LOGIN_REQUIRED
at the player API) for all requests from the VPS. Root cause: our Hostinger
datacenter IP (AS47583) is hard-flagged — confirmed by every player client
failing identically, anonymous and cookie-authenticated alike, including for
guaranteed-public videos. No yt-dlp/cookie/JS-runtime change fixes that on its
own; the request never reaches the cookie or PO-token stage.

Fix: route yt-dlp egress through a SOCKS5 proxy on ms-01 (reached over the
tailnet, exits via a Cox residential IP) using a new DLM_PROXY env var, applied
in _common_args(). Proven end-to-end: preview + full MP3 download now succeed.

Also modernize the stack so it keeps working against current YouTube:
- yt-dlp 2026.3.17 -> 2026.6.9
- Switch JS runtime from Node to Deno (pinned bin-2.8.2); newer yt-dlp's EJS
  framework no longer supports Node (reported "unsupported"), which by itself
  was breaking signature/n-param solving. Drop the nodejs apt package.
- Clearer failure messages: distinguish "ms-01 proxy unreachable" from the raw
  bot-check text when no proxy is configured.

DLM_PROXY (with credentials) lives in the gitignored .env; compose passes it
through via ${DLM_PROXY:-}.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 16:01:36 -05:00
app Route YouTube traffic through residential proxy to beat datacenter bot-block 2026-06-10 16:01:36 -05:00
.gitignore Initial scaffold: youtube → mp3 with last-3 archive 2026-05-22 21:33:52 -05:00
docker-compose.yml Route YouTube traffic through residential proxy to beat datacenter bot-block 2026-06-10 16:01:36 -05:00