An interactive, plugin-driven download framework for browsing, collecting, and organizing media from authenticated websites.
Optimized for image collections and gallery-based workflows.
Status: Early release. Core workflows are usable, but the Plugin API may change before v1.0.
Browse an artist’s works, select multiple galleries, sign in when required, and automatically organize the results.
Instead of dealing with ad-hoc scripts or managing separate tools for different sites, CLI-Downloader provides a single cohesive interface.
Install Plugin → Login → Search → Select → Download → Resume Later
While yt-dlp focuses on video extraction and gallery-dl excels at headless gallery scraping on supported sites, CLI-Downloader focuses on persistent and interactive collection workflows. We treat the downloader as an interactive hub where plugins act as mini-applications.
Inspect Item and Batch hierarchies, progress, queue state, and available lifecycle actions without losing persisted work after restarting the application.
Browse installed, Official, and Community plugins; inspect package metadata; and identify updates or restart requirements from one screen.
Plugins can expose list and search operations with keyboard selection and pagination while Core remains responsible for creating and controlling download tasks.
CLI-Downloader Core does not bundle website-specific downloaders. Installed plugins classify URLs, resolve website data, and declare supported operations; Core owns task creation, scheduling, retries, storage, downloads, and history.
flowchart LR
URL["URL or Plugin Operation"] --> Core["CLI-Downloader Core"]
Core --> Plugin["External Site Plugin"]
Plugin --> Task["Item or Batch Tasks"]
Task --> Direct["Direct Download"]
Task --> Torrent["Torrent Client"]
Task --> History["Durable History"]
- Interactive Plugin Pages: Plugins can provide search pages, paginated lists, forms, actions, and multi-selection workflows directly in the terminal interface.
- Browser Login Sessions: Sign in through an isolated browser session without manually extracting or copying cookies.
- Folder Templates: Automatically organize downloaded files into customized structures. For example:
Output:
{author_name}/{artwork_id}-{title}Artist Name/12345-Illustration Title/ - Persistent Tasks: Download progress, queues, and task states are saved. Close the app at any time and resume exactly where you left off.
- Multiple Download Strategies: Select between direct file downloads or hand off jobs to an integrated Torrent client.
- Automation Ready: Prefer scripts over the TUI? Every command supports
--jsonoutput for headless automation.
CLI-Downloader Core itself does not contain website scrapers. Website support is installed separately through the Plugin Marketplace.
Currently available repository official plugins:
- Pixiv (Images, Illustrations)
- EHentai (Gallery, Torrent)
- X / Twitter (Images, Videos)
- Douyin (Images, Videos)
Browse and install plugins directly inside the application using the Plugin Marketplace tab, or via the command line: clid plugins install pixiv.
Download the latest windows-x64-setup.exe from GitHub Releases. It adds CLI-Downloader to your PATH and doesn't require administrator privileges.
Download windows-x64-portable.zip. Run CLI-Downloader.exe to open the interactive shell, or use clid.cmd for command-line arguments.
Open the interactive shell:
clidOr use the command line directly:
clid plugins list
clid download <url> --dry-run
clid download <url>This project includes a ready-to-use Agent Skill (skills/cli-downloader). Use it to supercharge your AI assistants (like Claude Code or Codex).
Ask an Agent to: research a website, scaffold a plugin, implement routing, add tests, and generate documentation.
See the Agent Skill documentation for installation instructions.
Is this a replacement for yt-dlp? No. If your primary goal is video extraction from YouTube and video platforms, yt-dlp is superior. CLI-Downloader is designed for gallery aggregation, image collections, and authenticated browsing workflows.
Are plugins sandboxed? No. Activated plugins are trusted local Python code. You should only install plugins from trusted sources.
Can it use browser login sessions? Yes. You can invoke a browser-based login flow that securely persists your session state, eliminating the need to copy-paste cookies.
CLI-Downloader is an open-source download framework provided "AS IS". We do not endorse or guarantee the lawfulness of third-party plugins.
- For security practices and vulnerability reporting, see SECURITY.md.
- For complete terms, limitations of liability, and plugin warnings, read DISCLAIMER.md.
Released under the MIT License.



