A high-performance, self-contained terminal media downloader for Windows, macOS, and Linux.
Installation | Commands | Examples | Configuration | Architecture | Changelog | Contributing
Interactive Shell Walkthrough · MP4 Video
Source code repository for DWDR. It contains the CLI engine, interactive terminal shell, and configuration manager.
-
Performance: Direct progressive stream downloading with multi-tier exact filesize resolution, real-time responsive visual progress bar featuring sub-character blocks (
▏▎▍▌▋▊▉█), TrueColor cyan-to-green gradients, EMA speed smoothing with 20-sample sparkline history (▁▂▃▅▇), Braille spinners, boxed summary cards, and strict MP4 audio/video merging. -
Reliability: Zero system pollution. Isolated engines (yt-dlp, FFmpeg) reside exclusively in
~/.dwdr/deps/without modifying system package directories. Process group isolation and signal handling terminate intermediate child processes cleanly on cancellation without orphans. Single-video safeguards (--no-playlist) prevent accidental multi-track playlist dumps, self-healing configuration handles corrupted settings automatically, active download locks prevent race conditions, duplicate detection protects existing files, anti-bot verification and platform authentication support browser cookies (Brave, Chrome, Edge, Firefox, Opera, Vivaldi, Chromium, Safari, auto, orcookies.txt) with Smart Fallback (probing anonymously first and authenticating only when challenged), and automated cleanup purges incomplete.partfiles on cancellation. -
Productivity: Pure terminal ergonomics featuring an interactive non-blocking REPL shell (inquire), concurrent background download queue with parallel capacity controls (
max_parallel_downloads), in-place real-time monitoring (statusandqueue live), clean format selection, native desktop folder selection dialogs (rfd) with headless fallback, and smart quality fallback. -
Portability: Built on pure Rust TLS (rustls) via reqwest, enabling zero-effort compilation across Linux, macOS, and Windows without OpenSSL dependencies. Features native ARM64 and x86_64 binary architecture detection, proxy environment routing, and exponential backoff retry.
Download any media stream directly:
dwdr "https://www.youtube.com/watch?v=VIDEO_ID"Or open the interactive shell to inspect formats and configure settings:
dwdrFor practical walkthroughs and real-world scenarios, see the Usage Examples.
If you want to build and install from source, see INSTALL.md.
Comprehensive topic guides covering every subsystem:
| Guide | Scope | Description |
|---|---|---|
| CLI Reference Guide | Syntax & Flags | CLI arguments, options, direct downloads, and exit codes. |
| Command Catalog | Command Matrix | Complete reference table of all CLI options, subcommands, and REPL actions. |
| Usage Examples | Practical Walkthroughs | Step-by-step scenarios: single downloads, audio extraction, GUI folder pickers, and troubleshooting. |
| Configuration Guide | Settings & Schema | config.toml structure, default resolutions, parallel thread limits, and self-healing recovery. |
| Architecture Deep Dive | Core Mechanics | Process streaming, dependency lifecycle, single-video safeguards, and cross-platform compilation architecture. |
| Architecture Decisions (ADR) | Decision Log | Historical context, rejected alternatives, and trade-offs for architectural choices. |
Feel free to contact me by email at raushansinghrajpoot687@gmail.com, on LinkedIn or on Twitter.
See CONTRIBUTING.md.
Please open an issue first to discuss proposed features or architectural modifications before submitting a pull request.
DWDR is distributed under the terms of the MIT license. See LICENSE for details.