
An ultra-fast, modern multi-threaded download manager with dynamic file segmentation, HLS m3u8 stream assembly, and smart browser integration. Built with Go, Wails v3, and React 19.
An ultra-fast, modern, multi-threaded desktop download manager engineered with Go, Wails v3, React 19, and Tailwind CSS v4. Features dynamic file segmentation, HLS (
.m3u8) stream assembly, intelligent browser integration, recursive directory crawling, and media capture.
Thunder Download Manager (ThunderDM) is a next-generation desktop download manager engineered for raw speed, rock-solid stability, and a refined modern user experience.
Built with Go and Wails v3 for its high-performance native backend, paired with React 19 and Tailwind CSS v4 for its fluid interface, ThunderDM combines low-level networking optimizations with desktop convenience.
It features a custom multi-segment download engine that splits files into concurrent byte ranges, pools persistent TCP connections, natively parses and decrypts HLS (.m3u8) streams, extracts video and audio from 1,000+ sites, and seamlessly integrates with all major browsers via official companion extensions.
*) or bracket expressions ([01-50], [01-50:2], [a-z:2]).*_*) Cartesian Product: Combine multiple independent wildcards in a single template (e.g. season_*_episode_*.mp4) with dedicated configuration tabs.1, 3, 5, 7... with step 2), custom intervals (0, 5, 10, 15... with step 5), or alphabetical sequences (a, c, e...)..txt files with automated sanitization.<DownloadFolder>/Season 01/Episode 01.mkv)..m3u8 playlist parser, AES-128 decryptor, and multi-segment stream assembly engine for live and VOD streams.~/.thunderdm/thunderdm.db).localhost, 127.0.0.1, 192.168.0.0/16, *.local).HttpOnly & client-side) to download private repository assets, authenticated media, and password-protected files.ThunderDM includes an official companion browser extension built on Manifest V3 for Chromium-based browsers (Chrome, Edge, Brave, Opera, Vivaldi, Arc) and Mozilla Firefox.
chrome.downloads API) and direct file links (.zip, .rar, .iso, .exe, .mp4, etc.) and dispatches them to ThunderDM.┌─────────────────────────────────────────────────────────────┐
│ ThunderDM Application Stack │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Frontend │ │
│ │ React 19 • TypeScript • Tailwind CSS v4 │ │
│ │ Vite • Lucide Icons • Wails v3 Runtime │ │
│ └──────────────────────────┬──────────────────────────┘ │
│ │ IPC Bindings │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Go Backend Engine │ │
│ │ • Multi-Segment Downloader (Chunk Engine & Limiter)│ │
│ │ • Recursive Web Link Crawler & Directory Sniffer │ │
│ │ • HLS Parser & yt-dlp Video Extractor │ │
│ │ • System Proxy, PAC Evaluator & SOCKS5 Routing │ │
│ │ • Queue Scheduler & Task Manager │ │
│ │ • Pure SQLite Database Engine (modernc.org/sqlite) │ │
│ │ • Encrypted Vault Storage │ │
│ │ • Local REST Server (Port 37555 for Extension) │ │
│ │ • System Tray, Single-Instance & Autostart │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘| Layer | Technology | Details |
|---|---|---|
| Backend Core | Go 1.25+ + Wails v3 | High-concurrency multi-threaded networking & native OS bindings |
| Database | Pure Go SQLite | Zero CGO SQLite (modernc.org/sqlite) with WAL mode & ACID transactions |
| Frontend UI | React 19, TypeScript, Tailwind CSS v4 | Modern responsive interface bundled with Vite |
| Media Engine | yt-dlp & FFmpeg | Video stream extraction, HLS decoding, and audio remuxing |
| Security & CI/CD | ClamAV | Automated CI/CD antivirus scanning for release binaries |
| Browser Companion | Manifest V3 (Chromium & Firefox) | Background service worker, webRequest & download interception |
v1.25 or higher (Download)v18 or higher (Download)v3.0.0-beta or higher (go install github.com/wailsapp/wails/v3/cmd/wails3@latest)go install github.com/go-task/task/v3/cmd/task@latest)Clone the repository:
git clone https://github.com/showayebDev/ThunderDownloadManager.git
cd ThunderDownloadManagerInstall frontend dependencies:
cd frontend
npm install
cd ..Install Go dependencies:
go mod tidyStart the application in development mode with live reload and Vite hot-reloading:
# Using Wails v3
wails3 dev
# Or with custom config and port
wails3 dev -config ./build/config.yml -port 9245Compile production packages for your operating system:
# Build binary for the current host platform
wails3 task build
# Package single installer / standalone executable
wails3 task packageBuild the Chromium and Firefox extension packages (dist/ directory):
wails3 task ext
# Or run directly via Node.js:
node extension/build.jsThunderDM runs a lightweight internal HTTP server on port 37555 (with automatic fallback to 57211 and 9988) to receive download jobs from the browser extension and CLI tools:
| Endpoint | Method | Description |
|---|---|---|
http://127.0.0.1:37555/add |
POST |
Dispatches new download tasks with URL, headers, and cookies |
http://127.0.0.1:37555/health |
GET |
Health check endpoint for integration status verification |
| Task Command | Description |
|---|---|
wails3 dev |
Runs the application in development mode with live reload |
wails3 task build |
Compiles the production binary for the current OS |
wails3 task package |
Packages a single universal production installer for Windows |
wails3 task package:all:platforms |
Cross-compiles packages for Windows, macOS (Universal), and Linux |
wails3 task ext |
Builds unpacked directories and ZIP/XPI archives for Chrome & Firefox |
wails3 task generate_icon |
Generates high-resolution application icons and platform icon sets |
wails3 task set:version VERSION=x.y.z |
Synchronizes application version across all platform config files |
This project is open-source and licensed under the MIT License.