Home/Projects/Thunder Download Manager
Thunder Download Manager

Thunder Download Manager

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.

Thunder Download Manager (ThunderDM)

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.

Go Version Wails v3 React 19 Tailwind CSS v4 Platforms
Chrome Web Store Firefox Add-on


🚀 Overview

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.


✨ Key Features

⚡ Multi-Threaded Dynamic File Segmentation

  • Up to 500% Acceleration: Splits downloadable files into dynamic concurrent byte-range segments to saturate bandwidth.
  • Connection Pooling & Zero-Alloc Buffers: Low memory footprint with real-time connection pooling and dynamic chunk reallocation.
  • Full Lifecycle Controls: Seamless pause, resume, cancel, and restart with automated integrity verification on completion.

📦 Advanced Batch Download Engine & Recursive Crawler

  • Pattern & Sequence Generator: Generate dozens or hundreds of sequential URLs using single wildcards (*) or bracket expressions ([01-50], [01-50:2], [a-z:2]).
  • Multi-Wildcard (*_*) Cartesian Product: Combine multiple independent wildcards in a single template (e.g. season_*_episode_*.mp4) with dedicated configuration tabs.
  • Custom Interval / Step Settings: Generate odd/even sequences (1, 3, 5, 7... with step 2), custom intervals (0, 5, 10, 15... with step 5), or alphabetical sequences (a, c, e...).
  • Bulk URL List & File Ingestion: Paste multi-line URL lists directly or import plain .txt files with automated sanitization.
  • Recursive Directory Crawler: Crawls BDIX, FTP, Apache/Nginx auto-indexes, h5ai, and Alist server directories across multiple levels (depth 1 to 5).
  • Recreate Subfolders on Disk: Automatically mirrors the remote folder structure on local storage (e.g., <DownloadFolder>/Season 01/Episode 01.mkv).

🎬 High-Resolution Video & Media Stream Capture

  • 1,000+ Sites Supported: Capture and extract media from YouTube, Facebook, TikTok, Instagram, Twitter / X, Vimeo, Dailymotion, and more.
  • Interactive Quality Picker: Choose desired format and resolution (4K, 1080p, 720p, 480p, or MP3/Audio-only) with automatic stream remuxing via FFmpeg.

📺 Native HLS / m3u8 Stream Downloader

  • Custom high-speed .m3u8 playlist parser, AES-128 decryptor, and multi-segment stream assembly engine for live and VOD streams.

🎨 Appearance & 9 Handcrafted Themes

  • 9 Built-in Themes: Zinc (Monochrome), OLED (Pure Black), Midnight (Deep Navy), Violet, Emerald, Rose, Amber, Cyan, and Classic Blue.
  • Typography & UI Scaling: Select any installed system font with live preview, adjust base font size (9px – 18px), and toggle compact top bar and icon labels.

💾 Pure Go SQLite Database Engine

  • Zero JSON Config Files: 100% centralized persistence using pure Go SQLite (~/.thunderdm/thunderdm.db).
  • Atomic ACID transactions, automatic schema migrations, and WAL mode for high-throughput reads/writes without corruption.

🌐 System Proxy, PAC & SOCKS5 Routing

  • Multiple Routing Modes: Direct, System Proxy (Windows Registry & OS auto-detection), PAC (Proxy Auto-Configuration with in-memory caching), and Manual SOCKS5 / HTTP.
  • Granular Bypass Lists: CIDR and wildcard domain bypass (localhost, 127.0.0.1, 192.168.0.0/16, *.local).
  • Built-in Proxy Tester: Real-time proxy connection verification with latency and external IP feedback.

🍪 Browser Cookie & Site Credentials Vault

  • Cookie Forwarding: Passes session cookies (HttpOnly & client-side) to download private repository assets, authenticated media, and password-protected files.
  • Encrypted Credentials Vault: Secure local storage for Basic/Bearer authentication credentials that auto-match target hostnames during downloads and crawler sessions.

🛡️ Antivirus Verification & File Integrity Checksums

  • CI/CD ClamAV Scanned: All official release binaries are scanned with ClamAV antivirus on automated pipelines.
  • Multi-Algorithm Checksums: Built-in validator supporting SHA-256, SHA-512, MD5, SHA-1, and CRC32 hashes to guarantee downloaded file integrity.

⏳ Queue Manager & Scheduler

  • Create and prioritize multiple download queues with custom concurrency limits.
  • Context-menu queue assignment, instant "Without Queue" execution, and automated scheduled start/stop timers.
  • One-Click Stop All: Instantly halts all active queues and pending/running downloads with immediate background stream cancellation.

🔔 Bandwidth Limiter & System Tray Integration

  • Granular global and per-download speed throttling to preserve network bandwidth.
  • Minimize-to-tray background service with native desktop notifications.
  • Single-instance protection with automatic window restore and CLI argument forwarding.
  • Native system boot autostart across Windows, macOS, and Linux.

🌐 Browser Companion Extension

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 Web Store Firefox Add-on

Key Extension Capabilities:

  • Automatic Interception: Seamlessly captures browser downloads (chrome.downloads API) and direct file links (.zip, .rar, .iso, .exe, .mp4, etc.) and dispatches them to ThunderDM.
  • Smart Video Sniffer & Floating Badge: Renders an in-page floating download badge over detected HTML5 video players for instant one-click media capture.
  • Cookie Forwarding: Forward active session cookies for downloading private files from authenticated websites.
  • Fallback In-Page Modal: Graceful fallback dialog offering standard browser download if the desktop client is offline.

🏗️ Tech Stack & Architecture

┌─────────────────────────────────────────────────────────────┐
│                 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

🛠️ Getting Started & Development

Prerequisites

  • Go: v1.25 or higher (Download)
  • Node.js: v18 or higher (Download)
  • Wails CLI: v3.0.0-beta or higher (go install github.com/wailsapp/wails/v3/cmd/wails3@latest)
  • Task Runner (Optional): Taskfile (go install github.com/go-task/task/v3/cmd/task@latest)

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/showayebDev/ThunderDownloadManager.git
    cd ThunderDownloadManager
  2. Install frontend dependencies:

    cd frontend
    npm install
    cd ..
  3. Install Go dependencies:

    go mod tidy

Running in Development

Start 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 9245

Building Production Binaries

Compile production packages for your operating system:

# Build binary for the current host platform
wails3 task build

# Package single installer / standalone executable
wails3 task package

Building the Browser Extension

Build the Chromium and Firefox extension packages (dist/ directory):

wails3 task ext

# Or run directly via Node.js:
node extension/build.js

📡 Desktop Integration Protocol

ThunderDM 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

📜 Taskfile Commands Reference

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

📄 License

This project is open-source and licensed under the MIT License.