Stellar

Stellar Download Manager 🌌

GitHub Release GitHub Repo stars GitHub Issues or Pull Requests GitHub License GitHub last commit GitHub Release Date

A clean-room reimplementation of Internet Download Manager for Windows and Linux, with a built-in torrent client and yt-dlp support for downloading from YouTube and other video sites. Written in C++ and Qt.

UI

Status

Work in progress, but fully functional

Features

Auditing

How to audit the browser extension yourself I understand installing random browser extensions from GitHub can be uncomfortable. You do not have to trust me. The extension is plain JavaScript. Every line you run is a line you can read. This shows you how to check it yourself. ### Chrome 1. On the `chrome://extensions` page, find the **ID** field for Stellar and copy it. 2. In a normal browser tab, open these addresses one at a time, putting your ID where shown: - `chrome-extension://YOUR-ID/service-worker.js` - `chrome-extension://YOUR-ID/content.js` - `chrome-extension://YOUR-ID/page-bridge.js` - `chrome-extension://YOUR-ID/popup.js` - `chrome-extension://YOUR-ID/shared/messaging.js` - `chrome-extension://YOUR-ID/shared/interceptor.js` 3. Each one shows the raw file, audit the code. ### Firefox 1. Download the `StellarFirefox.xpi` file. 2. Rename `.xpi` to `.zip` and extract. 3. View the `.js` files.
How to audit the release binaries yourself Every release is built by a public GitHub Actions workflow ([`release.yml`](.github/workflows/release.yml)) running on GitHub's own runners, straight from the public source - no private build machine. The build logs the SHA256 of each installer, so you can confirm the file you downloaded is exactly what the workflow produced from the public verifiable code. 1. Open the **Actions** tab, find the **Release** run for your version, and open its log. 2. Expand the **Compute SHA256** step and copy the printed `sha256:` value. 3. Hash your downloaded file and compare: - Windows: `Get-FileHash StellarSetup-VERSION.exe -Algorithm SHA256` - Linux: `sha256sum stellar_VERSION_amd64.deb` 4. Matching hashes prove the asset wasn't altered after the build. The same hashes are also committed to `update.json`. The log shows the exact commit checked out and every command run, so nothing is built outside the public source.

How to Install πŸ“¦

Grab the latest installer from the Releases page.

How to Uninstall πŸ—‘οΈ

How to remove Stellar - Windows: uninstall from **Settings β†’ Apps β†’ Installed apps**, or run the `unins000.exe` in the install folder. - Linux (Debian / Ubuntu / Mint / Pop!_OS / …): ```bash sudo apt remove stellar ``` - Linux (Fedora / RHEL / Rocky / Alma / openSUSE / …): ```bash sudo dnf remove stellar # Fedora / RHEL family sudo zypper remove stellar # openSUSE ``` > **KDE Plasma note:** right-clicking the app in the start menu and choosing **Uninstall** opens Discover and will fail with *"no entry for appstream://…"*. This is a known Plasma limitation for any package installed manually (i.e. not from a repository Discover tracks)

Building πŸ”¨

Requires CMake, Ninja, Qt 6 (Core, Quick, Network, QuickControls2, LinguistTools), Boost, and OpenSSL. libtorrent and libmaxminddb are not bundled - see Third-party source dependencies below for how to obtain them.

You will also need to download a GeoIP database for the torrent world map to work. See the GeoIP database section below.

Third-party source dependencies

These libraries must be placed under third_party/ before configuring, or pointed to via CMake variables. The directory is excluded from version control.

libtorrent-rasterbar 2.0.13 (required for torrent/magnet support)

Download the release tarball from GitHub and extract it:

mkdir -p third_party
curl -L https://github.com/arvidn/libtorrent/releases/download/v2.0.13/libtorrent-rasterbar-2.0.13.tar.gz \
    | tar -xz -C third_party/
# Result: third_party/libtorrent-rasterbar-2.0.13/

On Windows, download from https://github.com/arvidn/libtorrent/releases/tag/v2.0.13 and extract to third_party\libtorrent-rasterbar-2.0.13\.

Alternatively, point CMake at an existing source tree or installed package:

cmake --preset windows-debug -DLIBTORRENT_SOURCE_DIR=C:\path\to\libtorrent
# or, if already installed system-wide:
cmake --preset linux-debug -DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar

Without libtorrent, torrent and magnet downloads are disabled; everything else works.

libmaxminddb (optional - enables GeoIP world map)

Linux: install the system package - no manual step needed:

sudo apt install libmaxminddb-dev      # Debian / Ubuntu
sudo dnf install libmaxminddb-devel    # Fedora / RHEL

Windows / manual build: clone and place under third_party/:

git clone https://github.com/maxmind/libmaxminddb.git third_party/libmaxminddb

Linux 🐧

sudo apt install build-essential cmake ninja-build \
    qt6-base-dev qt6-declarative-dev qt6-tools-dev qt6-tools-dev-tools \
    qml6-module-qtquick qml6-module-qtquick-controls qml6-module-qtquick-layouts \
    qml6-module-qtquick-dialogs qml6-module-qtquick-window \
    libboost-all-dev libssl-dev libmaxminddb-dev \
    python3 patchelf npm

Then:

cmake --preset linux-debug
cmake --build --preset linux-debug
./build/linux-debug/Stellar

For a release build use linux-release instead.

Windows πŸͺŸ

Install:

Set environment variables before configuring:

set QTDIR=C:\Qt\6.8.0\msvc2022_64
set BOOST_ROOT=C:\path\to\boost
set OpenSSL_ROOT_DIR=C:\path\to\openssl

Then from a β€œx64 Native Tools Command Prompt for VS 2022”:

cmake --preset windows-debug
cmake --build --preset windows-debug
build\windows-debug\Stellar.exe

GeoIP database

Command Line

Stellar accepts IDM-compatible flags. Both /d and -d style prefixes work.

Stellar /d URL [/p path] [/f filename] [/q] [/n] [/a]
Stellar /s
Stellar <file.torrent> [/p path] [/q] [/n] [/a]
Stellar <magnet:?xt=urn:btih:...> [/p path] [/q] [/n] [/a]
Flag Meaning
/d URL Download the URL (also accepts .torrent paths and magnet: URIs)
/p path Save to this directory
/f name Save as this filename
/q Quit after the download finishes
/n Silent: no dialogs, no foreground
/a Add to queue but do not start
/s Start the queue scheduler

.torrent files and magnet: URIs can also be passed directly as bare arguments (no /d needed).

License πŸ“œ

Copyright (C) 2026 Ninka_. Stellar is free software released under the GNU General Public License v3.0. You may redistribute and modify it under the terms of that license. See LICENSE for the full text.

Third-party software πŸ’Ώ

Stellar bundles or invokes the following third-party components. Full license texts are in THIRD-PARTY-NOTICES.txt.