KnightLoader

KnightLoader

Docker app from junkerderprovinz's Repository

Overview

A download manager for hosters, debrid services, torrents, Usenet, videos and streams, all in one web interface. Hoster links go through the debrid service you already pay for. Torrents go to the built-in client or to a debrid service, .nzb files to your own Usenet servers with par2 repair, videos and streams to yt-dlp. Anything left over goes to a headless JDownloader, which KnightLoader sets up by itself. Links wait in the collector first. It checks each one and shows what will fetch it, and rules sort links into packages and folders. When a download finishes, archives are unpacked and checksums checked. Sonarr and Radarr see it as qBittorrent or SABnzbd. The Android app, the browser extension and your other instances reach it from other networks with twelve words, without an account, a domain or a port forward. Set a password under Settings, Security, where two-factor authentication and passkeys live too. Until then anyone who can reach the port can use it, so keep it on your LAN. Fill in the App key below, so that a copy of the appdata folder alone opens nothing. The manual is at https://junkerderprovinz.github.io/knightloader/

KnightLoader

Build  Lint  Docker Pulls  Image Size  Arch  Go  Web stack  Wails desktop  Gopeed  JDownloader  yt-dlp  Languages  License: AGPL-3.0  Documentation  Downloads


KnightLoader downloads everything. Yes, everything.
Hosters, debrid services, torrents, Usenet, videos and streams: one download manager handles the lot, and it doesn't look like it was built in 2005. Run it on your server or your desktop, feed it links from the web, your phone or your browser, then go do something more fun.


In development, testers welcome: report a bug


Android testers wanted: join the Google Play closed test

[!IMPORTANT] Android testers wanted. Google Play only lists an app from a new developer account after at least 12 testers have kept it installed for 14 days. If you have an Android phone:

  1. Open the tester group, sign in with the Google account your phone uses and click Join group.
  2. Open the test page and tap Become a tester.
  3. Install KnightLoader from Google Play and keep it for 14 days. Using it for real helps most, and anything that goes wrong is welcome as an issue.

Install from Unraid's Community Applications   Run it with Docker   Download the source archive   Read the documentation


Download for WindowsDownload for Windows on ARM   Download for macOS   Download for LinuxDownload for Linux on ARM


On Google Play soon   Download the Android app
Always downloads the latest build


Install the extension for Chrome   Install the extension for Edge   Install the extension for Brave   Install the extension for Opera

Install the extension for Vivaldi   Install the add-on for Firefox


Get ParleyPort, the relay for KnightLoader and BombVault


A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no ads and no paid tier, and KnightLoader collects nothing about you. One caveat: the phone app's QR scanner comes from Google and sends Google usage diagnostics when it scans a code. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


Table of Contents

  1. Screenshots
  2. What it does
  3. How it compares
  4. Getting started
  5. Documentation
  6. How AI is used here
  7. Support this project

1. Screenshots

The downloads, hosts and accounts in these pictures are made up.

The web interface of the container in a browser, on the overview page
The web interface from the container, in any browser on your network.


The desktop app showing the download list with running, failed and unpacked downloads
The same interface as a desktop app for Windows, macOS and Linux.


The Android app: adding links, all instances on one screen and connecting with the twelve words
The Android app: a remote for every KnightLoader you run.


The browser extension's popup over a film page, ready to send the page to an instance
The browser extension sends the page you are on, a link or a Click'n'Load button to the instance you pick.


Overview with what needs you, the total speed, the way from hoster to disk and the latest downloads
Overview: what needs you comes first, then the speed and where the downloads come from.


Download list grouped by package, with running downloads, a failed file and an unpacked archive
Downloads, grouped by package, under the queue controls and the speed curve.


The quick settings open over the download list
Quick settings: the limits you change most often, one click from the download list.


The link collector with a YouTube video split into its variants
The link collector: one YouTube link as video, audio, thumbnail, subtitles and description. Format and quality are picked on the row.


The Appearance page in Settings
Appearance: corners, labels, motion, colours and the theme.


Accounts with four debrid services, two Usenet servers and a hoster login
Accounts: debrid services, your own Usenet servers and hoster logins.


Packagizer rules in the order they run, and the test box with a sample link
Rules & categories: rules sort links as they arrive, and the test box shows what they would do to one.


The Apps page with the desktop apps, the phone app, the browser extensions and the bookmarklet
The Apps page: the desktop builds, the phone app, the browser extension and the bookmarklet.


Instances: this one, one at home, one through the relay and one found on the network
Instances: your other KnightLoaders, at home or through the relay, and the ones found on your network.


2. What it does

KnightLoader is one Go process. The download engine, the API, the web interface and the Click'n'Load listener live in the same binary, so there is nothing to install beside it.

  • Hosters, torrents, Usenet and video. Hoster links go through the debrid service you already pay for, torrents to the built-in client or a debrid service, .nzb files to your own Usenet servers, with par2 repair, or to TorBox or Premiumize.me, videos and streams to yt-dlp, and whatever is left to a headless JDownloader. Getting links in
  • A look before anything downloads. The collector checks each link and shows which backend will take it, and Packagizer rules sort links into packages and folders as they arrive. A link nothing can fetch stays in the list, with the reason. What it does
  • Links from anywhere. Paste them, click a site's Click'n'Load button, send them from the browser extension or the phone's share sheet, drop them in a watched folder, or let Sonarr and Radarr send them, since they see KnightLoader as qBittorrent or SABnzbd. Bookmarklet, extension and share target
  • When a download finishes. Archives are unpacked and checksums checked, files land in folders built from templates, and a media library can be told to rescan. Where files land
  • Twelve words instead of a port forward. Instances, the phone app and the browser extension find each other with a phrase, across networks, without an account or a domain. Connecting instances and apps
  • Wherever you need it. A container for your server or Unraid, a desktop app for Windows, macOS and Linux, an Android app and a browser extension. Installing
  • Coming from JDownloader? KnightLoader takes over your accounts, rules, archive passwords and the open download list, with a preview first. Moving over from JDownloader

Reconnect, captcha accounts, programs on events and the rest are listed area by area under What it does.


3. How it compares

Every cell about another program comes from its own documentation, source code or forum as of autumn 2026. If one has changed, please open an issue.

KnightLoader JDownloader 2 pyLoad rdt-client
Stable release ✅ ✅ ❌ ✅
Open source ✅ ⚠️ partly ✅ ✅
No runtime to install ✅ ⚠️ Java ❌ Python ❌ .NET
Web interface ✅ ⚠️ online ✅ ✅
Desktop app ✅ ✅ ❌ ❌
Languages 42 ~38 1 1
Docker image ✅ ⚠️ community ⚠️ community ✅
Remote access without an account ✅ ❌ ⚠️ DIY ⚠️ DIY
Several instances in one place ✅ ⚠️ account ❌ ❌
Debrid services ✅ ✅ ✅ ⚠️ one
File hosters ⚠️ via debrid ✅ ✅ ❌
Premium hoster logins ⚠️ via JD ✅ ✅ ❌
Reconnect ✅ ✅ ⚠️ script ❌
Video sites ✅ ✅ ⚠️ few ❌
Torrents ✅ ❌ ⚠️ via debrid ✅
Usenet ✅ ⚠️ no repair ⚠️ via debrid ⚠️ via debrid
Click'n'Load ✅ ✅ ⚠️ add-on ❌
DLC, CCF, RSDF ✅ ✅ ⚠️ via JD ❌
Watched folder ✅ ⚠️ add-on ⚠️ add-on ✅
Browser extension ✅ ⚠️ outdated ⚠️ third-party ⚠️ third-party
Phone app ✅ ✅ ✅ ❌
Captchas by hand ✅ ✅ ✅ ➖
Paid captcha solvers ✅ ✅ ✅ ➖
Unpacking ✅ ✅ ⚠️ needs unrar ✅
Checksums ✅ ✅ ⚠️ add-on ❌
Link rules ✅ ✅ ⚠️ basic ⚠️ basic
Event scripts ✅ ✅ ✅ ⚠️ one event
Sonarr and Radarr ✅ ❌ ❌ ✅

✅ yes · ⚠️ partly · ❌ no · ➖ not needed, the debrid service fetches everything


4. Getting started

On a server, one container is enough. Every release tag publishes ghcr.io/junkerderprovinz/knightloader for amd64 and arm64:

docker run -d --name knightloader \
  --restart unless-stopped \
  -p 8749:8749 \
  -v /path/to/appdata:/data \
  -v /path/to/downloads:/data/downloads \
  -e TZ=Europe/Berlin \
  ghcr.io/junkerderprovinz/knightloader:latest

On Unraid, add --user 99:100 and -e UMASK=000, so the account you use over SMB can move and delete what KnightLoader downloads.

Then open http://<host>:8749. The desktop apps, the Android app and the browser extension are the buttons above. Reverse proxies, updates and building it yourself are covered in the installation guide.


5. Documentation

The manual lives at junkerderprovinz.github.io/knightloader:


6. How AI is used here

One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.

You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.


7. Support this project

A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no ads and no paid tier, and KnightLoader collects nothing about you. One caveat: the phone app's QR scanner comes from Google and sends Google usage diagnostics when it scans a code. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto

Problems, wishes or suggestions? Don't hesitate to open an issue. On Unraid there is also the support thread.

The code and the knight logo are licensed under AGPL-3.0. The RSDF and CCF readers follow JDownloader's GPL-3.0 container plugins. The KnightLoader name and logo stay my trademarks, so a fork needs a name and logo of its own.

Categories

Download Statistics

4,118
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
junkerderprovinz/knightloader:latest
Last Updated2026-10-13
First Seen2026-10-14

Runtime arguments

Web UI
http://[IP]:[PORT:8749]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart unless-stopped --user 99:100

Template configuration

WebUI PortPorttcp

The port of the web interface. Until a password is set under Settings, Security, anyone who can reach it can use it, so do not forward it from the internet.

Target
8749
Default
8749
Value
8749
AppdataPathrw

The database, the settings, the encrypted accounts, the list of instances and the headless JDownloader KnightLoader sets up on its first start.

Target
/data
Default
/mnt/user/appdata/knightloader
Value
/mnt/user/appdata/knightloader
DownloadsPathrw

Where downloads land. The download folder in Settings is /data/downloads unless you change it there.

Target
/data/downloads
Default
/mnt/user/downloads
Value
/mnt/user/downloads
App keyVariable

64 hexadecimal characters. Open a terminal, run openssl rand -hex 32 and paste the result here. The password hash, the stored accounts and tokens and the backups you download are then sealed with it, so a copy of the appdata folder opens nothing. Keep it with your other passwords: KnightLoader does not start on sealed data with a different key or with none.

Target
KL_APP_KEY
Watched folderPathrw

Drop a .txt link list, a .magnet, a JDownloader .crawljob, a .torrent, a container file or an .nzb here and KnightLoader takes it. Set the watched folder in Settings to /watch to switch it on.

Target
/watch
Default
/mnt/user/downloads/knightloader-watch
Value
/mnt/user/downloads/knightloader-watch
Base pathVariable

Only for a reverse proxy that serves KnightLoader in a folder of another host name, for example /kl for https://example.com/kl/. Leave it empty for a host name of its own or the LAN address.

Target
KL_BASE_PATH
File permission maskVariable

The umask for every file and folder KnightLoader creates. With 000, downloads land as nobody:users with mode 0666 and folders with 0777, the way an Unraid share expects, so the account you use over SMB can move, rename and delete them. Set 022 for restrictive permissions.

Target
UMASK
Default
000
Value
000