Skip to content

bundled plugins

Alexander Herling edited this page Oct 12, 2026 · 9 revisions

Bundled plugins

Seventy-two signed WebAssembly components ship with the release, in plugins/ next to the executable. Only the ones you use are installed: you choose them by service in the setup assistant's Your services step, and serve keeps what is installed up to date at every start.

Choosing what is installed

  • A fresh installation starts with the services that need no account or destination — link lists and folder crawlers, the account-less hosters (XFileSharing, MediaFire, KrakenFiles), metadata and post-processing — so it works before anybody opens the assistant.
  • Your services in the setup assistant installs the ones you tick and removes an installed one you untick; a service you removed is not installed again at a later start. A service is every plugin that belongs to it: MEGA is its downloads, its sign-in, its folders and its login check.
  • Settings → Plugins → Catalogue lists every bundled service, installed or not, by category and with a search; Install adds one with one click. A plugin you removed shows up here again rather than coming back on its own.
  • An update never installs something new. It brings newer versions of what is installed; a plugin that is new in the release is listed as available.
  • The repository comes first. Both install each plugin of a service from the plugin repository when it offers the bundle's version or a newer one, signed with the same key and asking for no more permissions, and from the bundle beside the program otherwise — without a network, for example. See Installing and trust.
  • To install every bundled plugin, start the service with --install-all-bundled-plugins (Docker: RDOWNLOADER_INSTALL_ALL_BUNDLED_PLUGINS=true).

When a newly installed plugin starts to run is described in Installing and trust.

A new plugin version does not always mean new behaviour. When the shared library the bundled plugins are built with changes, every one of them gets a new patch version with no change of its own. It is installed at the next start; nothing needs to be done.

Resolvers (27)

Hoster, cloud-storage and multihoster resolvers. Each exists only as a plugin — nothing is compiled into the application as a fallback.

Plugin Type Does
ddownload Hoster DDownload, via account credentials or an API key
rapidgator Hoster Rapidgator, premium account or the free flow
nitroflare Hoster Nitroflare, premium key or the free flow
katfile Hoster KatFile, across its mirror domains
onefichier Hoster 1fichier with an API key
keep2share Hoster Keep2Share with a premium account
filejoker Hoster FileJoker, with account cookies
turbobit Hoster Turbobit as a guest through the site's captcha and countdown, or with an account
hitfile Hoster HitFile as a guest through the site's captcha and countdown, or with an account
krakenfiles Hoster KrakenFiles without an account, through the file page's download form and its Cloudflare Turnstile
mediafire Hoster Public MediaFire file links, through the documented API and the file page
pixeldrain Hoster Pixeldrain files, without an account or with an optional API key
xfs-generic Hoster XFileSharing installations across 211 domains — takes no account at all
dropbox Hoster Dropbox files and shared links, through the official Dropbox API
google-drive Hoster Google Drive files, shared links and Workspace exports, through the official Drive API
onedrive Hoster OneDrive and SharePoint files and sharing links, through Microsoft Graph
box Hoster Box files and shared links, through the official Content API, pinned to the file version
pcloud Hoster pCloud files, in either of pCloud's two data centres
putio Hoster Files in a Put.io account
seedr Hoster Files in a Seedr account, with the account's e-mail address and password
torbox Debrid service TorBox's own download addresses, renewing the short-lived link on every attempt
premiumize Multihoster Resolves other hosters' links through Premiumize.me
alldebrid Multihoster Resolves other hosters' links through AllDebrid
debridlink Multihoster Resolves other hosters' links through Debrid-Link
linksnappy Multihoster Resolves other hosters' links through LinkSnappy
realdebrid Multihoster Resolves other hosters' links through Real-Debrid
offcloud Multihoster Resolves other hosters' links through Offcloud

The cloud-storage resolvers sign in through their provider's own OAuth plugin, listed below. See Hosters and accounts for credentials and the free flow.

Folder crawlers (12)

Turn one address that stands for many files into those files. The folder each file sat in becomes the package suggestion.

Plugin Lists
premiumize-crawler A Premiumize.me cloud folder or item address
mega-crawler A public MEGA folder link, or a folder of the signed-in account, with names, sizes and structure — at most a thousand files, or a refusal saying so
google-drive-crawler A Google Drive folder or shared-drive address
dropbox-crawler A Dropbox folder or shared-folder link
onedrive-crawler A OneDrive or SharePoint folder sharing link
box-crawler A Box folder or shared link
pcloud-crawler A pCloud folder of your own drive, or a public link
pixeldrain-crawler A Pixeldrain list (/l/…), one file per entry under the list's title
mediafire-crawler A public MediaFire folder link, or a list of file keys
nextcloud-crawler A public Nextcloud or ownCloud folder share, including a password-protected one
peeplink-crawler The hoster links behind a PEEPLink or AlfaLink entry page
directory-index-crawler An open directory listing of Apache, nginx, Caddy or lighttpd

Auth providers (5)

Sign an account in through the provider itself, instead of pasting an API key.

Plugin Flow
alldebrid-auth PIN flow
debridlink-auth OAuth device flow
premiumize-auth OAuth device flow
torbox-auth Checks a pasted TorBox API key
mega-auth Signs a MEGA account in with its e-mail address and password; the application computes the values MEGA's sign-in needs, so the password never enters the plugin

All of them report a refusal with a stated reason — consent refused, the code expired, an unreadable answer — and repeat nothing the provider wrote, so a leaked credential in an error answer never reaches the interface or the log.

OAuth providers (7)

Authorization code with PKCE, or a device code, with automatic renewal from stored refresh material.

Plugin Signs in to
google-drive-oauth Google, through Google's own authorization endpoint
onedrive-oauth Microsoft, by browser or by device code
dropbox-oauth Dropbox, through Dropbox's own authorization endpoint
box-oauth Box, with your own application's client id and secret
pcloud-oauth pCloud, with your own application's key and secret
putio-oauth Put.io, with your own application's client id and secret
realdebrid-auth Real-Debrid, by device code — the account's Connect with a code sign-in

rdownloader plugin new --type oauth scaffolds the starting point for a provider whose token expires. See Developing a plugin.

Remote jobs (6)

Work that runs at a provider and outlives the call that started it.

Plugin Does
realdebrid-torrents Runs magnets and .torrent files on a Real-Debrid account, and asks which files you want
torbox-jobs Runs magnets, .torrent and .nzb files and ordinary links on a TorBox account
premiumize-transfers Runs magnets, ordinary links and container files on a Premiumize.me account
putio-transfers Runs magnets and .torrent files on a Put.io account
offcloud-cloud Runs magnets and ordinary links in an Offcloud account's cloud
seedr-jobs Runs magnets and .torrent files on a Seedr account

Such a job is followed on the Remote jobs page: it keeps running while this machine does not, and the account keeps it afterwards until somebody deletes it. Only Real-Debrid stops to ask which files you want; the others hand every finished file to the LinkGrabber, where you pick. See Remote jobs.

Stream transforms (1)

A provider that encrypts on the client hands over an address and a description of how its bytes become a file. The bytes never leave the application, and the key never reaches the provider.

Plugin Does
mega Resolves MEGA file links — public ones and files of the signed-in account — and describes how the host decrypts their bytes. It also carries the MEGA account row

Examples, not bundled

Three example plugins — example-oauth, example-stream-transform and example-transfer — are in the repository's plugins/ folder but do not ship. No transfer backend is bundled. The starting point for a plugin of your own is the scaffold of its type; see Developing a plugin.

Intake parsers (2)

Turn a file format the built-in scanner does not understand into LinkGrabber candidates.

Plugin Reads
metalink-intake RFC 5854 .meta4 and Metalink 3.0 .metalink: each listed file with its name and size under its best-ranked HTTP mirror; every mirror and hash becomes one of the download's sources — see Metalink
crawljob-intake JDownloader .crawljob files, turning packageName into a grouping hint. It reads only text, packageName and filename — never a download folder or a command to run afterwards

Metadata enrichers (2)

Plugin Does
sponsorblock-enricher Reports how much of a YouTube video is sponsor, self-promotion or intro, before the download starts. It sends a video id and nothing else
metadata-enricher Reads the film or series out of a release name and adds rating, year, genre and runtime

Off by default, like every enricher — an enricher reaches a service outside your machine.

Notification destinations (6)

One service each, so they can be updated and switched off separately.

Plugin Delivers to
ntfy-notifier An ntfy topic on ntfy.sh or on your own server, with an optional bearer token
discord-notifier A Discord webhook — the token is kept in the vault even though it is part of the address
telegram-notifier A Telegram bot chat, by bot token plus chat id
plex-notifier Refreshes the Plex libraries when a package finishes; with a library section and a path mapping only the package's folder is scanned. The token is optional for a server that admits its own network
jellyfin-notifier Refreshes the Jellyfin libraries when a package finishes, with an API key; with a path mapping it scans the folder that holds the package instead of every library
emby-notifier Refreshes the Emby libraries when a package finishes, with an API key; with a path mapping it scans the folder that holds the package instead of every library

See Notifications.

Post-processing steps (3)

Run after cleanup and before a user script. Installing one changes nothing until it is enabled, globally or per category.

Plugin Does
sha256-postprocess Verifies .sha256 sidecar files
md5-postprocess Verifies .md5 sidecar files
rename-postprocess Tidy file names — replaces spaces with dots and collapses runs of separators. Leaves extensions and hidden files' leading dots alone, renames a file inside the folder it is in and never the folder, and reports skipped when a package is already tidy

Upload destination (1)

Plugin Does
webdav-storage Creates a folder per package and the package's own folders inside it, uploads each file, and confirms each one with a PROPFIND before anything local is deleted

Set the post-processing upload target to plugin:<plugin-id>/<destination> to use it. See Post-processing.

Related pages

Clone this wiki locally