// the take
dedao-dl is a Go CLI (with an optional bundled web UI) for pulling courses, audiobooks, and ebooks out of the Chinese '得到' learning app and converting them to PDF, markdown, mp3, or epub. It's for people with a paid 得到 account who want their purchased content saved locally outside the app, and increasingly for AI agents thanks to its bundled Skill definition.
It covers the full pipeline, not just scraping metadata: login via QR or cookie, listing purchased content, and actual format conversion (wkhtmltopdf for PDF, ffmpeg for audio muxing, custom html2epub). The web UI (Gin backend + React/TS frontend) gives a real alternative to the CLI with a download queue and progress tracking, which most scraper tools skip. Shipping a SKILL.md with documented `--json` output and a command reference is a genuinely useful touch for agent-driven automation rather than just human CLI use.
The whole thing rides on reverse-engineered, undocumented endpoints of a commercial platform; there's no abstraction or test coverage around that layer, so a backend change on 得到's side breaks logins or downloads with no upstream fix path. The README admits PDF generation triggers a '496 NoCertificate' captcha under normal use and the workaround is a manual sleep between requests, not real backoff — expect intermittent failures in bulk downloads. It exists specifically to extract paid content a user has already bought, which sits in a legal gray zone the project only addresses with a disclaimer, not a enforced personal-use mechanism. Test coverage is limited to isolated utils (epub/pdf/badger); there's nothing exercising the auth or download flows that actually break when the vendor ships changes.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →