Skip to content

About

Fast, open-source download manager for Windows: up to 32 connections, multi-mirror, pick files inside remote ZIP/RAR, browser capture, Defender scan. Portable, no telemetry.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

VortexDownloader logo

VortexDownloader

A fast, open-source download manager for Windows. Segmented downloads, browser capture, and file picking inside remote ZIP/RAR archives, with no ads or telemetry.

Latest release Downloads Platform .NET 9 CI License

Portable · single .exe · no .NET runtime needed · or install with one command: irm https://raw.githubusercontent.com/Armone0/VortexDownloader/main/install.ps1 | iex


Demo: a new download starts, eight connections fill the chunk map at 25 MB/s, and the finished file gets a SHA-256 hash and a Defender 'Clean' badge

Features · Quick start · Browser extension · Security · Build · FAQ · Türkçe


✨ Highlights

  • Up to 32 connections per file. When a connection finishes early, the largest remaining piece is split in half so idle connections help finish the tail.
  • Take only what you need from an archive. Open a remote .zip or .rar, tick the files you want, and only those bytes are downloaded through HTTP Range requests.
  • Works with your browser. The Chrome/Edge/Brave extension sends downloads to Vortex together with the page's cookies, so files behind a login (such as Moodle) work too.
  • Checks every file. Finished downloads get a SHA-256 hash and a Windows Defender scan, and the card shows a "Clean" or "Threat found" badge.

🚀 Features

⚡ Segmented engine 1–32 connections, dynamic chunk splitting, pooled buffers (ArrayPool<byte>), and HTTP/1.1 and HTTP/2 via SocketsHttpHandler.
⇄ Multi-mirror Add mirror URLs for the same file. Chunks are spread across every valid mirror so speeds add up, and if one drops its chunks move to the others.
🗜️ ZIP & RAR file picking Lists an archive's contents without downloading it. Picked files are fetched by Range, CRC-32 checked, and never overwrite existing files. RAR5 (RAR4 via the library, untested) and solid archives are supported.
🎮 PS4 PKG info See a .pkg's title, Title ID, content ID, version, required firmware, icon, file list and PARAM.SFO, even before downloading it. Unencrypted entries can be extracted; encrypted content is never decrypted.
🐙 GitHub releases Paste a repo URL to browse its releases and pick assets. GitHub's SHA-256 digest is checked automatically after download.
📱 Send from phone Scan a QR code and send a link from your phone on the same Wi-Fi. Off by default, runs only while the window is open (max 10 min), and every link needs your OK on the PC.
⏰ Scheduler & tools Start a download at a set time, check it against an expected SHA-256, remux video to MP4 or pull out the audio with ffmpeg, and sort downloads into folders by type.
🔁 Expired-link resume When a signed link expires, the downloaded data is kept. Download the file again from the page and Vortex continues where it stopped, checking the size and ETag/Last-Modified first.
🎮 Game mode While a fullscreen game, film or presentation runs, downloads slow to 256 KB/s – 1 MB/s. Your own limit comes back afterwards.
🛡️ Integrity & safety SHA-256 hash, Windows Defender scan, resume integrity checks (ETag, Last-Modified, length), and a disk-space check before each download.
🌐 Browser capture A Manifest V3 extension for Chrome, Edge and Brave (Firefox 121+ experimental) catches downloads and sends cookies, referrer and user agent. A one-time pairing in the app is required. A floating button grabs page videos.
📋 Clipboard links Optional: copy a direct file link anywhere and Vortex asks whether to download it. Plain web pages are ignored. Off by default.
🔑 Logins & proxy Username/password for sites that ask for one (sent only to that site, stored encrypted), and a system / none / manual proxy with optional login.
🔔 Update notice Once a day, Vortex asks GitHub for the latest version number and shows a small notice when there is a new one. Nothing is downloaded or run; it can be turned off.
🎬 Media Video and audio downloads through yt-dlp and ffmpeg (for example YouTube). Both are downloaded automatically the first time you use media.
📋 Queue & batch Paste many URLs at once. Set how many downloads run at once (1–5 or unlimited), pause or resume them all, and filter by category.
🎯 Speed limiter Token-bucket limit (1 / 5 / 10 MB/s or unlimited), applied across all downloads.
💾 Crash-safe state Progress is saved atomically to %APPDATA%\VortexDownloader, so interrupted downloads resume without corruption.
🎨 Polished UI Dark and light themes, English and Turkish, tray icon, Windows 11 taskbar progress, and options to stop sleep or shut down when done.

📦 Quick start

One command (PowerShell). It downloads the latest release, checks its SHA-256, installs it to %LOCALAPPDATA%\Programs\VortexDownloader and adds a Start menu shortcut. Run it again to update.

irm https://raw.githubusercontent.com/Armone0/VortexDownloader/main/install.ps1 | iex

Or by hand:

  1. Download VortexDownloader-vX.Y.Z-win-x64.zip from the latest release.
  2. Extract it anywhere and run VortexDownloader.exe.
  3. (Optional) Install the browser extension (see below) so downloads from your browser go to Vortex.

Note

The binary is not code-signed, so Windows SmartScreen may say "Windows protected your PC" on first run. Click More info → Run anyway. Every release has a .sha256 file you can use to verify the download.

🧩 Browser extension

The extension lives in the extension/ folder of the repository and is included in the release ZIP.

  1. Open chrome://extensions (Edge: edge://extensions, Brave: brave://extensions).
  2. Turn on Developer mode.
  3. Click Load unpacked and select the extension folder.
  4. Keep VortexDownloader.exe running. On first use the app asks you to approve the extension (one-time pairing).

Firefox (experimental, version 121 or newer). Not yet tested in a real Firefox.

  1. Open about:debugging#/runtime/this-firefox and click Load Temporary Add-on, then pick extension/manifest.json.
  2. In about:addons → VortexDownloader → Permissions, turn on access to all websites (Firefox does not grant it on install).
  3. A temporary add-on is removed when Firefox restarts. A permanent install needs the add-on signed by Mozilla (free, through addons.mozilla.org).

If the app is closed, the browser downloads the file normally. Nothing is lost.

🔒 Security & privacy

  • No telemetry, no accounts, no ads. Vortex only connects to the servers you download from, plus two things you can see and control: the first time you use media downloads it fetches yt-dlp (from GitHub) and ffmpeg (from gyan.dev), and the update check below asks GitHub for the latest version number.
  • Local bridge hardening. The bridge listens only on 127.0.0.1:19741. It checks the Host header (to block DNS rebinding), blocks cross-site Sec-Fetch-Site requests, and allows only extension origins.
  • Per-install pairing. Each install generates a random 256-bit token, and only extensions you approved in the app can queue downloads. Tokens are compared in constant time.
  • Safe file writes. File names are sanitized, archive paths can't escape the target folder (zip-slip protection), existing files are never overwritten, and decompressed output has a size cap.
  • Cookies stay with their site. In multi-mirror downloads, the main site's cookies and referrer are never sent to other mirror hosts.
  • Update check and clipboard watching. The update check only fetches the latest version number from GitHub (at most once a day), never downloads or runs anything, and can be turned off in Settings. Clipboard link watching is off by default and always asks before downloading.
  • Send from phone is opt-in. It listens on your private LAN address only while its window is open, needs a fresh random token, accepts only private-network clients, and never downloads without your confirmation.

Found a vulnerability? Please open a private security advisory on GitHub instead of a public issue.

🛠️ Architecture
flowchart LR
    subgraph Browser["Browser (Chrome / Edge / Brave)"]
        EXT["Extension<br/>(MV3 service worker)"]
    end
    subgraph App["VortexDownloader (.NET 9 / WPF)"]
        BRIDGE["Loopback bridge :19741<br/>pairing token · host/origin checks"]
        PROMPT["Download prompt<br/>(ZIP/RAR picker)"]
        ENGINE["DownloadEngine<br/>chunks · mirrors · resume checks"]
        LIMIT["Speed limiter<br/>(+ game mode)"]
        WORKERS["Chunk workers<br/>(Range requests)"]
        STATE["StateStore<br/>(%APPDATA%)"]
        CHECK["SHA-256 + Defender"]
    end
    SERVERS["Web servers / mirrors"]

    EXT -->|paired POST| BRIDGE --> PROMPT --> ENGINE --> LIMIT --> WORKERS
    WORKERS <-->|parallel Range| SERVERS
    ENGINE --> STATE
    WORKERS --> CHECK
Loading
Project What it holds
src/VortexDownloader.Core Engine, chunk scheduling, ZIP/RAR readers, speed limiter, state store (no UI)
src/VortexDownloader.UI WPF app, local bridge, dialogs, themes, localization
extension/ Chrome MV3 extension
tests/VortexDownloader.Tests xUnit tests (engine, mirrors, archives, security, extension)

🏗️ Build from source

Requirements: Windows 10 (19041+) or 11, .NET 9 SDK.

git clone https://github.com/Armone0/VortexDownloader.git
cd VortexDownloader
dotnet test
dotnet run --project src/VortexDownloader.UI -c Release

Single-file portable build:

dotnet publish src/VortexDownloader.UI -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish

🗺️ Roadmap

  • Update notice, clipboard links, proxy, site logins, Firefox (experimental) (v1.9.2)
  • PS4 PKG info, GitHub release picker, send from phone (QR), scheduler, memory soak test (v1.9)
  • ZIP & RAR file picking, multi-mirror, game mode (v1.8)
  • Expired-link resume, Defender + SHA-256, extension pairing (v1.7)
  • Run the soak test in CI
  • Chrome Web Store listing

See the full history in CHANGELOG.md.

❓ FAQ

Is this related to Internet Download Manager (IDM)?

No. VortexDownloader is an independent clean-room project with no code, binaries or assets from any commercial product. "Internet Download Manager" and "IDM" are trademarks of Tonec Inc. See DISCLAIMER.md.

Why is my download not faster with more connections?

Some servers limit connections per user or do not support Range requests. In that case the card shows "Range: No" and the file downloads with one connection. For most servers, 8 connections is enough.

Can I pick files from a password-protected RAR?

Not yet. Encrypted entries are listed but can't be picked. Download the whole archive and extract it with your archiver.

Does it run on macOS or Linux?

No. The UI is WPF and Windows-only.

🤝 Contributing

Bug reports, ideas and pull requests are welcome. Please read CONTRIBUTING.md and make sure dotnet test passes before opening a PR.

🇹🇷 Türkçe

VortexDownloader, Windows için açık kaynaklı ve hızlı bir indirme yöneticisidir.

Tek komutla kurmak için PowerShell'e yapıştır: irm https://raw.githubusercontent.com/Armone0/VortexDownloader/main/install.ps1 | iex

  • Dosyaları 32 bağlantıya kadar parçalayarak indirir ve birden fazla aynadan aynı anda çekebilir.
  • ZIP ve RAR arşivlerinin içinden yalnızca istediğin dosyaları indirir.
  • Oyun açıkken indirmeyi kendiliğinden yavaşlatır.
  • İnen her dosyayı Windows Defender ile tarar.
  • PS4 .pkg dosyalarının bilgisini (oyun adı, sürüm, gereken yazılım) indirmeden gösterir, GitHub sürümlerinden dosya seçtirir ve telefondan QR ile bağlantı almayı sağlar.
  • Panoya kopyalanan dosya linklerini yakalayabilir (isteğe bağlı), proxy ve şifreli siteleri destekler, yeni sürüm çıkınca haber verir.

Arayüz Türkçe ve İngilizce kullanılabilir. Son sürümü indir · Değişiklik günlüğü

📄 License

Apache License 2.0. Third-party: SharpCompress (MIT) for RAR reading, QRCoder (MIT) for the phone QR code, and yt-dlp (Unlicense) for media.

About

Fast, open-source download manager for Windows: up to 32 connections, multi-mirror, pick files inside remote ZIP/RAR, browser capture, Defender scan. Portable, no telemetry.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages