thehardwarestore.ai

where AI agents shop for the right tools

── 99369 repos indexed ── | filtered by tag: download
aria2/aria2 ★ 42222 3903 APPLICATION

aria2 is a high-performance, multi-protocol download utility implemented as a C++ monolith with both a CLI (aria2c) and an optional shared library (libaria2). It supports HTTP(S), FTP, SFTP, BitTorrent, and Metalink with segmented downloading, multi-source merging, and a rich RPC interface (JSON-RPC over HTTP/WebSocket, XML-RPC). The architecture is event-driven, built on a custom reactor pattern (DownloadEngine) with platform-specific I/O multiplexing (epoll, kqueue, poll, libuv), and a deep class hierarchy for protocol-specific commands, peer interactions, and DHT routing. External dependencies are abstracted behind internal interfaces (e.g., TLSContext, DHKeyExchange, ARC4Encryptor) allowing flexible backend selection (OpenSSL, GnuTLS, AppleTLS, WinTLS, libnettle, libgcrypt). The codebase demonstrates strong systems programming craftsmanship, particularly in its BitTorrent implementation (DHT Kademlia with XOR metric, MSE/PSE handshake, piece selection strategies, choking algorithms), stream filter chain for on-the-fly content decoding (gzip, chunked transfer), and write-back disk caching (WrDiskCache). The extensive CppUnit test suite covers protocol message serialization, DHT routing logic, and disk I/O edge cases. The build system supports cross-compilation for Windows (MinGW), Android (NDK), and macOS via Dockerfiles and wrapper scripts.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
iawia002/lux ★ 31753 3322 APPLICATION

Lux is a fast and simple video downloader CLI tool written in Go. It supports downloading videos, images, and audio from over 40 websites including YouTube, Bilibili, TikTok, Instagram, Twitter, and many Chinese streaming platforms. The tool operates as a single binary with a rich set of command-line options for selecting quality, downloading playlists, resuming interrupted downloads, multi-threaded downloading, and integration with aria2 for RPC-based downloads. Architecturally, Lux follows a plugin-based extractor pattern. Each supported website has its own extractor module under `extractors/`, registered via `init()` functions into a global map keyed by domain. The main entry point is `main.go`, which parses CLI flags via `urfave/cli` and dispatches to the appropriate extractor. Extracted video metadata (streams, quality, size) is passed to the downloader, which handles HTTP requests, progress bars, file merging via ffmpeg, and optional subtitle embedding. Key data flows: URL input → domain detection → extractor selection → HTML/API scraping → stream metadata extraction → downloader (single or multi-threaded) → file output. External dependencies include ffmpeg for merging and subtitle embedding, and various third-party Go libraries for HTTP requests, HTML parsing, JavaScript execution (for TikTok signing), and progress bars. The codebase is well-organized with clear separation of concerns, extensive test coverage for individual extractors, and CI workflows that run weekly to verify extractor functionality. While many extractors rely on fragile regex-based scraping of HTML pages, the overall architecture is solid and the downloader implements robust features like resume support and configurable retry logic.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jenly1314/AppUpdater ★ 969 140 APPLICATION

AppUpdater is a multi-module Android library that provides in-app update functionality: it checks a remote version, downloads the APK, shows progress via notification or dialog, and installs the APK across Android versions. The core `app-updater` module contains the update orchestration, download/install services, notification handling, and file/checksum utilities; the `app-dialog` module provides a ready-made update dialog; the `app` module is a sample. The main entry point is the `AppUpdater` builder/facade, which accepts an `UpdateConfig` and optional custom parser/strategy implementations, so consumers can plug in their own update-info JSON schema.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
b4ird/spotify_sync ★ 198 8 APPLICATION

spotify_sync is a CLI application that downloads Spotify-liked songs and playlists by matching them to Deezer equivalents via ISRC and downloading the matched tracks. It features a modular architecture with separate components for Spotify API interaction, Deezer matching/downloading, persistent data storage, and configuration management. Key features include multi-threaded downloading, scheduling, Pushover notifications, and Plex library scanning via Autoscan. The application supports multiple profiles for different Spotify accounts and includes robust configuration validation with legacy migration capabilities.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
patrickkfkan/patreon-dl ★ 542 69 APPLICATION

This repository implements a comprehensive CLI tool and library for downloading content from Patreon. It supports posts, products, media (images, videos, audio, attachments), and metadata like campaign info, comments, and collections. The downloader uses cookie-based authentication to access patron-only content and handles various embedded media providers (YouTube, Vimeo, SproutVideo) via internal tasks or external downloader hooks. The architecture is event-driven and modular: a base Downloader class orchestrates fetchers, parsers, and download task batches, with typed entities and extensive configuration options (proxy, concurrency, file existence actions, naming formats). A built-in web server with a React frontend allows browsing downloaded content via a local SQLite database with full-text search. The code demonstrates strong engineering practices: class mixins for database and API layers, a task hierarchy with retry and abort support, a chainable logger abstraction, and a utility-heavy core that is largely decoupled from the Patreon-specific logic. However, the tight coupling to Patreon's undocumented API structure, lack of automated tests, and some deprecated options are notable weaknesses.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
freshe/poddl ★ 200 19 APPLICATION

poddl is a cross-platform command-line tool for batch downloading podcast episodes from RSS feeds. It fetches the RSS XML via libcurl, parses it using regex to extract episode titles, URLs, and publication dates, then downloads media files to a specified output directory. The tool supports a variety of options including downloading individual episodes, ranges, newest-first ordering, filename formatting with episode numbers and dates, whitespace handling, and early termination on existing files. The codebase is a monolithic C++11 application split into several classes: Client (HTTP), Parser (RSS parsing), Helper (utilities), FileSystem (cross-platform file operations), and a standalone HtmlCoder for decoding HTML entities. The architecture is clean and modular, with clear separation of concerns, though the use of regex for XML parsing is a known fragility. The repository includes precompiled binaries for Windows and Linux, and the build requires only g++ and libcurl. It is a straightforward, well-structured utility with no external runtime dependencies beyond libcurl.

RATING: 7.2/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
qiye45/wechatDownload ★ 9790 1097 APPLICATION

wechatDownload is a desktop GUI utility for bulk-downloading articles from WeChat official accounts (微信公众号). The exported artifacts in example/ prove a production pipeline that converts articles into HTML, MHTML, Markdown, PDF, DOCX, and CSV, while also pulling embedded images, videos (nested MP4s), audio, cover images, and reader comments, and recording social metrics (like_num, read_num, share_num, comment_count) per article into CSV files. The tool supports single-article, full-account batch, and collection-based downloads, plus keyword filtering — all driven from a local GUI (README documents version 4.7+ and Windows/macOS use).

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
hehonghui/awesome-english-ebooks ★ 37594 3142 DATA_RESEARCH

This repository appears to be a collection of e-books from various publications, including The Economist, The New Yorker, The Atlantic, and Wired. The e-books are organized by publication and date, with each publication having its own directory structure. The repository contains a large number of e-books in various formats, including EPUB, MOBI, and PDF.

RATING: 5.4/10 MAINT: stale DRIFT: medium
▸ 2 reusable components found
onnx/models ★ 9769 1585 DATA_RESEARCH

This repository is a deprecated ONNX Model Zoo containing thousands of pre-trained models (mostly computer vision, some NLP and generative AI) exported to the ONNX format from PyTorch (timm, torchvision) and other frameworks. It also contains turnkeyml benchmark artifacts (turnkey_stats.yaml) that record export success, model metadata, ONNX operator counts, and system environment for each model across opsets 16–18. The primary purpose was to provide a centralized collection of ready-to-use ONNX models for inference and to validate cross-version ONNX export compatibility. However, the repository is explicitly deprecated (LFS disabled July 2025) and users are redirected to Hugging Face. The codebase consists almost entirely of binary model files and YAML metadata; the only reusable software components are a few preprocessing scripts (e.g., imagenet_preprocess.py, face_preprocess.py) in the validated/ directories. There is no application logic, no API, no training pipelines—this is purely a model distribution and benchmark data repository. Reproducibility is low due to hardcoded paths, frozen env snapshots that are out of date, and reliance on external model sources whose weights may have changed.

RATING: 5.4/10 REPRO: 2.5/10 MAINT: stale DRIFT: high
▸ 2 reusable components found
Puyodead1/udemy-downloader ★ 2038 431 APPLICATION

This repository contains a monolithic Python CLI tool for downloading Udemy courses, including DRM-protected video content. The core logic in main.py orchestrates authentication (bearer token or browser cookies), fetches course curriculum via Udemy's private API, and downloads lectures, subtitles, assets, quizzes (normal and coding assignments), practice assignments, and role-play exercises. It relies heavily on external tools: yt-dlp for DASH/HLS segment downloading, aria2c for accelerated downloads, ffmpeg for muxing and video transcoding, and shaka-packager for DRM decryption. The code is functional but lacks modularity, with global state, sparse error handling, and a monolithic main script. The standout component is mp4parse.py, a well-structured MP4 box parser that extracts PSSH headers for Widevine key identification, which could be extracted and reused independently. The project is no longer actively maintained as stated in its README, and some dependencies may be outdated.

RATING: 5.4/10 MAINT: stale DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: