Setup, configure, debug and extend Quasarr — the bridge that connects JDownloader with Radarr, Sonarr and LazyLibrarian via a fake Newznab indexer and SABnzbd client interface. Also handles CAPTCHA-protected link decryption. Use this skill whenever the user mentions Quasarr, asks about connecting JDownloader with Radarr/Sonarr, needs help with hostname configuration, FlareSolverr, download categories, notifications, SponsorsHelper, or any Quasarr-related topic.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill quasarr --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Quasarr?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-quasarr)More formats (shields.io, HTML) on the badges page.
---
name: quasarr
description: Setup, configure, debug and extend Quasarr — the bridge that connects JDownloader with Radarr, Sonarr and LazyLibrarian via a fake Newznab indexer and SABnzbd client interface. Also handles CAPTCHA-protected link decryption. Use this skill whenever the user mentions Quasarr, asks about connecting JDownloader with Radarr/Sonarr, needs help with hostname configuration, FlareSolverr, download categories, notifications, SponsorsHelper, or any Quasarr-related topic.
---
# Quasarr Skill
**Repo:** https://github.com/rix1337/Quasarr
**Zweck:** Quasarr täuscht Radarr/Sonarr/LazyLibrarian vor, ein Newznab-Indexer **und** ein SABnzbd-Client zu sein. In Wirklichkeit scrapt es deutsche Hoster-Seiten und schickt die gefundenen Links via MyJDownloader an JDownloader weiter.
---
## Architektur im Überblick
```
Radarr/Sonarr ←→ Quasarr (Newznab + SABnzbd) ←→ JDownloader (via MyJD API)
↕
Scraper-Quellen (Hoster-Sites)
↕
FlareSolverr (für Cloudflare-Sites)
```
Quasarr **kennt keine echten NZB- oder Torrent-Dateien**. Es ist komplett Hoster-basiert.
---
## Deployment (Docker — empfohlen für Unraid/BigServer)
```yaml
services:
quasarr:
container_name: 'Quasarr'
image: 'ghcr.io/rix1337/quasarr:latest'
ports:
- '8080:8080'
volumes:
- '/mnt/user/appdata/quasarr/config:/config:rw'
environment:
- 'DOCKER=true'
- 'INTERNAL_ADDRESS=http://192.168.1.144:8080' # LAN-IP:Port → für Radarr/Sonarr
- 'EXTERNAL_ADDRESS=https://quasarr.deine-domain.de' # optional, für Web-UI
- 'USER=admin'
- 'PASS=sicheres-passwort'
- 'AUTH=form' # form | header | none
- 'TZ=Europe/Berlin'
# Optional: SponsorsHelper (nur für GitHub-Sponsoren)
sponsorshelper:
container_name: 'SponsorsHelper'
image: 'ghcr.io/rix1337/sponsors-helper:latest'
restart: unless-stopped
depends_on:
- quasarr
volumes:
- '/mnt/user/appdata/quasarr/sponsorshelper:/config'
environment:
- 'QUASARR_URL=http://192.168.1.144:8080'
- 'QUASARR_API_KEY=<api-key-aus-quasarr-ui>'
- 'FLARESOLVERR_URL=http://flaresolverr:8191/v1'
- 'APIKEY_2CAPTCHA=<2captcha-key>'
- 'TZ=Europe/Berlin'
```
**Wichtig:** `INTERNAL_ADDRESS` ist Pflicht bei Docker. Radarr/Sonarr müssen diese URL erreichen können.
### Pip-Installation (alternativ)
```bash
pip install quasarr
quasarr
```
---
## Ersteinrichtung (Reihenfolge)
1. **FlareSolverr** starten (für AL-Seite erforderlich): `http://host:8191/v1`
2. **JDownloader 2** starten & mit my.jdownloader.org verbinden
3. **Quasarr** starten → Web-UI öffnen
4. Im Web-UI:
- **Hostnames** setzen (mindestens eine Quelle)
- **FlareSolverr-URL** konfigurieren
- **JDownloader-Zugangsdaten** eintragen & Gerät auswählen
5. **Radarr/Sonarr** konfigurieren (siehe unten)
---
## Radarr / Sonarr Konfiguration
Quasarr als **Newznab-Indexer** hinzufügen:
- URL: `http://<INTERNAL_ADDRESS>`
- API Key: aus dem Quasarr-Web-UI
Quasarr als **SABnzbd-Download-Client** hinzufügen:
- URL/Port: aus `INTERNAL_ADDRESS` (Host + Port)
- API Key: gleicher API Key
**Wichtig für Sonarr:** Alle Serien auf Serientyp **Standard** setzen. Anime/Absolut wird nicht unterstützt.
---
## LazyLibrarian Konfiguration
SABnzbd+ Downloader:
- URL/Port aus `INTERNAL_ADDRESS`
- API Key: gleicher Key
- Kategorie: `docs` (verhindert Konflikte mit Radarr/Sonarr)
Newznab Provider:
- URL + API Key wie oben
- Test & Speichern
Unter Importing → `Enable OpenLibrary api` aktivieren, `OpenLibrary` als primäre Quelle setzen.
---
## Quellen / Hostnames
Quasarr unterstützt diese Quellen-Kürzel:
| Kürzel | Login nötig | Besonderheit |
|--------|-------------|--------------|
| `al` | ✅ Ja | Braucht FlareSolverr (Cloudflare) |
| `at` | ❌ Nein | |
| `by` | ❌ Nein | |
| `dd` | ✅ Ja | |
| `dj` | ✅ Ja | Teilt Credentials mit `sj` (JUNKIES-Section) |
| `dl` | ✅ Ja | |
| `dt` | ❌ Nein | |
| `dw` | ❌ Nein | |
| `he` | ❌ Nein | |
| `hs` | ❌ Nein | |
| `mb` | ❌ Nein | |
| `nk` | ❌ Nein | |
| `nx` | ✅ Ja | |
| `rm` | ❌ Nein | |
| `sf` | ❌ Nein | |
| `sj` | ✅ Ja | Teilt Credentials mit `dj` (JUNKIES-Section) |
| `sl` | ❌ Nein | |
| `wd` | ❌ Nein | |
| `wx` | ❌ Nein | |
Hostnames als reinen Domain-Namen eintragen, z.B. `example.com` (kein `https://`).
**Hostname-Import via URL:** Im Hostnames-UI kann eine URL eingegeben werden, die eine INI-ähnliche Liste enthält (`kürzel = domain.tld`). Quasarr parsed und validiert diese automatisch.
---
## Konfiguration (intern)
Alle Einstellungen werden verschlüsselt gespeichert (AES-128-CBC) in `config.ini` + SQLite-DBs im `/config`-Verzeichnis.
Konfig-Sektionen:
- `API` → API-Key
- `JDownloader` → user, password, device
- `Settings` → hostnames_url
- `Hostnames` → ein Key pro Quelle
- `FlareSolverr` → url
- `Notifications` → discord_webhook, telegram_bot_token, telegram_chat_id
- `AL`, `DD`, `DL`, `NX`, `JUNKIES` → user + password pro Login-Quelle
---
## Download-Kategorien
Standard-Kategorien: `movies`, `shows`, `docs`
Bis zu 10 eigene Kategorien hinzufügbar (nur Kleinbuchstaben + Zahlen, max. 20 Zeichen).
Jede Download-Kategorie kann bevorzugte **Mirrors** (Hoster) konfigurieren.
Radarr/Sonarr wählen die Kategorie beim Download automatisch. LazyLibrarian → Kategorie `docs` verwenden.
---
## Such-Kategorien (Newznab-Standard)
Quasarr meldet Radarr/Sonarr folgende Kategorien via `/api?t=caps`:
- Filme (2000)
- Serien / TV (5000 + Unterkategorien)
- Bücher (7000)
- Musik (3000)
- Anime (5070)
- Dokumentationen (5080)
Bis zu 10 benutzerdefinierte Such-Kategorien möglich (ID-Schema: `100000 + Basis-ID`).
Jede Such-Kategorie kann auf bestimmte Quellen (Kürzel) beschränkt werden.
---
## CAPTCHA-Handling
Bestimmte Links sind CAPTCHA-geschützt (meist via Filecrypt, al.vc, hide.sx).
- Quasarr zeigt wartende Links im Web-UI unter `/captcha`
- **Manuell:** User klickt Link, löst CAPTCHA im Browser
- **Automatisch (SponsorsHelper):** Nur für GitHub-Sponsoren; kombiniert FlareSolverr + 2captcha API
Notifications werden bei neuem CAPTCHA-Bedarf verschickt (Discord/Telegram konfigurierbar).
---
## Benachrichtigungen
Zwei Provider: **Discord** (Webhook-URL) und **Telegram** (Bot-Token + Chat-ID).
Konfigurierbare Ereignisse:
- `unprotected` – neue ungeschützte Links
- `captcha` – CAPTCHA erforderlich
- `solved` – CAPTCHA gelöst
- `disabled` – SponsorsHelper deaktiviert
- `failed` – SponsorsHelper Fehler
- `quasarr_update` – neue Quasarr-Version verfügbar
Jedes Ereignis kann pro Provider aktiviert/deaktiviert und auf "silent" (ohne Ping) gesetzt werden.
---
## Quasarr Web-UI Routen
| Route | Beschreibung |
|-------|-------------|
| `/` | Dashboard (JD-Status, Hostnames, API-Key) |
| `/packages` | Aktive Download-Pakete |
| `/statistics` | Statistiken |
| `/hostnames` | Hostname-Verwaltung |
| `/categories` | Kategorie-Verwaltung |
| `/captcha` | CAPTCHA-Warteschlange |
| `/regenerate-api-key` | API-Key neu generieren |
---
## Quasarr interne API-Endpunkte
Alle Endpunkte erfordern API-Key als Query-Parameter oder Header.
```
# Newznab Indexer (für Radarr/Sonarr)
GET /api?t=caps → Indexer-Fähigkeiten
GET /api?t=movie&imdbid=tt1234567 → Film-Suche per IMDb-ID
GET /api?t=tvsearch&imdbid=tt1234567&season=1&ep=1 → Serien-Suche
GET /api?t=book&author=...&title=... → Buch-Suche (LazyLibrarian)
GET /api?t=search&q=... → Freitext (LazyLibrarian/Lidarr)
# SABnzbd Client (für Radarr/Sonarr)
GET /api?mode=auth → Auth-Check
GET /api?mode=version → Version
GET /api?mode=get_cats → Kategorien-Liste
GET /api?mode=get_config → Konfiguration
GET /api?mode=queue → Download-Queue
GET /api?mode=history → Download-Verlauf
GET /api?mode=queue&name=delete&value=ID → Paket löschen
POST /api → Fake-NZB-Datei einreichen (Upload)
GET /api?mode=addurl&name=<encoded-url> → URL als Download hinzufügen
# JDownloader-Konfiguration (Web-UI intern)
POST /api/jdownloader/verify → Credentials prüfen
POST /api/jdownloader/save → Credentials + Gerät speichern
# Hostnamen
POST /api/hostnames → Hostnamen speichern
POST /api/hostnames/import-url → Hostnamen von URL importieren
POST /api/hostnames/check-credentials/<id> → Login-Session prüfen
# Benachrichtigungen
POST /api/notifications/settings → Einstellungen speichern
POST /api/notifications/test → Test-Nachricht senden
# Timeouts
POST /api/timeouts/settings → Slow-Mode konfigurieren
# Sonstiges
POST /api/restart → Quasarr neu starten
POST /api/flaresolverr → FlareSolverr-URL setzen
```
---
## Timeout / Slow-Mode
Quasarr hat für verschiedene Operationen konfigurierbare Timeouts.
Im Slow-Mode werden Timeouts mit einem Multiplikator verlängert — für langsame Seiten sinnvoll, verlängert aber die Suche.
---
## Häufige Probleme & Lösungen
| Problem | Ursache | Lösung |
|---------|---------|--------|
| Keine Suchergebnisse | Keine Hostnames gesetzt | Mindestens einen Hostname konfigurieren |
| AL-Seite funktioniert nicht | FlareSolverr fehlt oder falsch | FlareSolverr-URL prüfen (mit `/v1` am Ende) |
| JDownloader nicht verbunden | JD läuft nicht / nicht eingeloggt | JD starten, my.jdownloader.org Status prüfen |
| CAPTCHA-Links hängen | Manuelles Lösen nötig | `/captcha`-Route aufrufen und lösen |
| `INTERNAL_ADDRESS` falsch | Radarr/Sonarr kann Quasarr nicht erreichen | IP/Port prüfen, Firewall/Docker-Netzwerk checken |
| Sonarr findet keine Anime-Episoden | Serientyp falsch | Serientyp auf "Standard" setzen |
| Login-Fehler bei Quelle | Falsche Credentials oder Session abgelaufen | Im Hostnames-UI "Check & Save Session" |
---
## Eigene Hoster entwickeln
Quasarr erkennt neue Quellen **automatisch** per Plugin-Discovery. Es braucht zwei neue Python-Dateien:
```
quasarr/search/sources/<kürzel>.py → Suche + Feed (AbstractSearchSource)
quasarr/downloads/sources/<kürzel>.py → Link-Extraktion (AbstractDownloadSource)
```
Das Kürzel (`initials`) entspricht dem Dateinamen und erscheint automatisch im Hostnames-UI nach einem Neustart.
**Bei Login-Quellen zusätzlich:**
```
quasarr/providers/sessions/<kürzel>.py → Session/Login-Provider
quasarr/storage/config.py → "<KÜRZEL>" Section in _DEFAULT_CONFIG ergänzen
```
Vollständige Anleitung mit Templates: `references/custom_hoster_development.md`
---
## Referenz-Dateien
- `references/docker-compose-full.yml` — vollständiges Docker-Compose-Beispiel
- `references/custom_hoster_development.md` — Anleitung + Templates für eigene Hoster
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!