All apps · 0 apps
KnightLoader
Docker app from junkerderprovinz's Repository
Overview
Readme
View on GitHub
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.
[!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:
- Open the tester group, sign in with the Google account your phone uses and click Join group.
- Open the test page and tap Become a tester.
- 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.
Always downloads the latest build
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.
Table of Contents
- Screenshots
- What it does
- How it compares
- Getting started
- Documentation
- How AI is used here
- Support this project
1. Screenshots
The downloads, hosts and accounts in these pictures are made up.
The web interface from the container, in any browser on your network.
The same interface as a desktop app for Windows, macOS and Linux.
The Android app: a remote for every KnightLoader you run.
The browser extension sends the page you are on, a link or a Click'n'Load button to the instance you pick.
Overview: what needs you comes first, then the speed and where the downloads come from.
Downloads, grouped by package, under the queue controls and the speed curve.
Quick settings: the limits you change most often, one click from the download list.
The link collector: one YouTube link as video, audio, thumbnail, subtitles and description. Format and quality are picked on the row.
Appearance: corners, labels, motion, colours and the theme.
Accounts: debrid services, your own Usenet servers and hoster logins.
Rules & categories: rules sort links as they arrive, and the test box shows what they would do to one.
The Apps page: the desktop builds, the phone app, the browser extension and the bookmarklet.
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,
.nzbfiles 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:
- Installing the container, a desktop app, the Android app or the browser extension
- What it does, area by area
- Configuration: the environment variables
- Getting links in: watched folders, container files, your own servers, header profiles
- Moving over from JDownloader: accounts, rules, passwords and the open download list
- Click'n'Load and the browser extension
- Connecting instances and apps with the twelve words
- Where files land: folder templates and library rescans
- Architecture and building and testing
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.
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
Related apps
Explore more like this
Explore allLinks
Details
junkerderprovinz/knightloader:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8749]/- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--restart unless-stopped --user 99:100
Template configuration
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
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
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
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
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
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
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

