connect everything
Plays nicely with the rest of your stack
Marauder doesn't try to replace your torrent client, your notification system, your identity provider, or your indexer. It plugs into them. Here's the integration matrix.
Sonarr handoff
Sonarr grabs the initial release; Marauder takes over what Sonarr structurally can't — monitoring an updateable forum topic (RuTracker, Kinozal, …) for future torrent changes. Enable it under Integrations → Sonarr in the Marauder UI (admin only): point it at your Sonarr URL + API key, pick a default client and category, and Marauder reads Sonarr's grab history and auto-creates a monitored topic for every grab from a supported tracker. Run more than one Sonarr? Add multiple instances — e.g. one for TV and one for anime — each with its own client, category, and independent poll cursor.
Automatic takeover
A background poller matches each grab's topic URL to a Marauder tracker plugin and creates a monitored topic — go-forward on first enable (no historical flood) and idempotent (deduped by URL). Auto-created topics carry a Sonarr badge.
No category drift
Auto-created topics use the same download client and category Sonarr imports from, so future updates land where Sonarr already watches — Sonarr keeps importing completed files. The API key is encrypted at rest and never returned.
Full guide: docs/sonarr-integration.md
Torrent clients
When a topic updates, Marauder hands the magnet URI or .torrent bytes to one of these clients. Transmission and qBittorrent are the end-to-end-validated reference paths; the others are in beta, pending live validation. Transmission and qBittorrent also report live per-torrent download progress back into the Topics view.
Transmission
stableRPC with the X-Transmission-Session-Id 409 dance. Live download status by infohash.
qBittorrent
stableWebUI API v2 — qBittorrent 4.5+ and 5.x. Live download status by infohash, plus a category dropdown populated from your existing qBittorrent categories.
Deluge
alphaWeb JSON-RPC at /json. auth.login + web.connect + core.add_torrent_*.
µTorrent
alphaToken-based WebUI flow. Mocked-server tested.
Download folder
alphaWrite the .torrent or .magnet to a folder. Pair with SABnzbd / NZBGet for Usenet.
Notifications
Pick which events each notifier listens for — a new release or a topic error — and which channels they fire on. Mark a default notifier per type (one Telegram, one email, …); topics notify those defaults unless you override a single topic to route its alerts to one specific notifier (a separate chat, a dedicated webhook). Edit a notifier's channels, events, and default flag any time.
Telegram
stableBot token + chat ID. Markdown formatting. Tested against the live Bot API.
Email (SMTP)
alphaSTARTTLS + PLAIN auth via net/smtp.
Webhook
alphaPOST { source, title, body, link } JSON to any URL.
Pushover
alphaPush notifications to iOS, Android, and desktop via api.pushover.net.
Identity / SSO
Marauder ships with first-class OpenID Connect support. Bring your own provider — Keycloak, Authentik, Authelia, Auth0, Okta, Google, Microsoft Entra, anything that speaks OIDC discovery.
This is rare in the torrent stack. qBittorrent, Prowlarr, Sonarr, and Radarr have no native OIDC — the usual answer is to bolt Authelia, Authentik, or a reverse proxy in front for SSO. Marauder authenticates against your identity provider directly, so single sign-on works without an extra gateway hop in front of it.
Keycloak (bundled in dev compose)
The docker-compose.sso.yml overlay starts Keycloak 26
with a pre-imported marauder realm and an
alice / marauder test user. Click "Sign in with Keycloak"
on the login page and you're in.
Full guide: docs/oidc.md
Indexer aggregators
Marauder speaks Torznab and Newznab natively, which means everything in the *arr ecosystem is reachable from a single Marauder instance.
Jackett
~500 tracker definitions wrapped as Torznab. Copy the indexer URL
from Jackett and paste it as torznab+https://... in Marauder.
Prowlarr
Indexer manager for the *arr stack. Same flow: copy the Torznab feed
URL from any indexer, prefix with torznab+, paste in Marauder.
NZBHydra2
Aggregates Usenet (Newznab) and torrent (Torznab) sources behind one URL.
Marauder talks to whichever side you point it at via the newznab+
or torznab+ prefix.
NZBGeek, NZBPlanet, DOGnzb
Direct Newznab indexers. Use the newznab+ prefix and a
downloadfolder client pointed at your SABnzbd / NZBGet
watch directory.
Full guide: docs/torznab-newznab.md
Observability
Drop Marauder into your existing monitoring stack with zero changes.
Prometheus
/metrics with HTTP, scheduler, tracker, and client
collectors. Token-gated for safety.
Loki / Vector
Structured JSON logs via zerolog. Every request gets a
request_id for trace correlation.
Health checks
/health and /ready with standard
semantics. Both safe for k8s probes and load balancers.