Quasarr connects JDownloader with Radarr, Sonarr and LazyLibrarian. It also decrypts links protected by CAPTCHAs.
Reason this release was yanked:
reverted
Project description
Quasarr connects JDownloader with Radarr, Sonarr, Lidarr and LazyLibrarian. It also decrypts links protected by CAPTCHAs.
Quasarr pretends to be both Newznab Indexer and SABnzbd client. Therefore, do not try to use it with real usenet
indexers. It simply does not know what NZB files are.
Quasarr includes a solution to quickly and easily decrypt protected links. Active monthly Sponsors get access to SponsorsHelper to do so automatically. Alternatively, follow the link from the console output (or discord notification) to solve CAPTCHAs manually. Quasarr will confidently handle the rest. Some CAPTCHA types require Tampermonkey to be installed in your browser.
Instructions
- Set up and run JDownloader 2
- Configure the integrations below
- (Optional) Set up FlareSolverr 3 for sites that require it
Finding your Quasarr URL and API Key
Both values are shown in the console output under API Information, or in the Quasarr web UI.
Quasarr
⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but community-maintained lists are available via pastebin search ( login required).
Authentication is optional but strongly recommended.
- 🔐 Set
USERandPASSto enable form-based login (30-day session)- 🔑 Set
AUTH=basicto use HTTP Basic Authentication instead
JDownloader
⚠️ If using Docker: JDownloader's download path must be available to Radarr/Sonarr/Lidarr/LazyLibrarian with identical internal and external path mappings! Matching only the external path is not sufficient.
- Start and connect JDownloader to My JDownloader
- Provide your My JDownloader credentials during Quasarr setup
Fresh install recommended
Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable Radarr/Sonarr/Lidarr/LazyLibrarian integration.
Categories & Mirrors
You can manage categories in the Quasarr Web UI.
- Setup: Add or edit categories to organize your downloads.
- Download Mirror Whitelist:
- Inside a download category, you can whitelist specific mirrors.
- If specific mirrors are set, downloads will fail unless the release is available from them.
- This does not affect search results.
- This affects the Quasarr Download Client in Radarr/Sonarr/Lidarr/LazyLibrarian.
- Search Hostname Whitelist:
- Inside a search category, you can whitelist specific hostnames.
- If specific hostnames are set, only these will be searched by the given search category.
- This affects search results.
- This affects the Quasarr Newznab Indexer in Radarr/Sonarr/Lidarr/LazyLibrarian.
- Custom Search Categories: You can add up to 10 custom search categories per base type (Movies, TV, Music, Books). These allow you to create separate hostname whitelists for different purposes.
- Emoji: Will be used in the Packages view on the Quasarr Web UI.
Radarr / Sonarr / Lidarr
⚠️ Sonarr users: Set all shows (including anime) to the Standard series type. Quasarr cannot find releases for shows set to Anime/Absolute.
Add Quasarr as both a Newznab Indexer and SABnzbd Download Client using your Quasarr URL and API Key.
Be sure to set a category in the SABnzbd Download client (default: movies for Radarr, tv for Sonarr and music
for Lidarr).
Show download status in Radarr/Sonarr/Lidarr
Activity → Queue → Options → Enable Release Title
Prowlarr
Add Quasarr as a Generic Newznab Indexer.
- Url: Your Quasarr URL
- ApiKey: Your Quasarr API Key
Allowed search parameters and categories
Movies / TV:
- Use IMDb ID, Syntax:
{ImdbId:tt0133093}and pick category2000(Movies) or5000(TV) - Simple text search is not supported.
Music / Books / Magazines:
- Use simple text search and pick category
3000(Music) or7000(Books/Magazines).
LazyLibrarian
⚠️ Experimental feature — Report issues when a hostname returns results on its website but not in LazyLibrarian.
Setup instructions
SABnzbd+ Downloader
| Setting | Value |
|---|---|
| URL/Port | Your Quasarr host and port |
| API Key | Your Quasarr API Key |
| Category | docs |
Newznab Provider
| Setting | Value |
|---|---|
| URL | Your Quasarr URL |
| API | Your Quasarr API Key |
Fix Import & Processing
Importing:
- Enable
OpenLibrary api for book/author information - Set Primary Information Source to
OpenLibrary - Add to Import languages:
, Unknown(German users:, de, ger, de-DE)
Processing → Folders:
- Add your Quasarr download path (typically
/downloads/Quasarr/)
Docker
It is highly recommended to run the latest docker image with all optional variables set.
docker run -d \
--name="Quasarr" \
-p port:8080 \
-v /path/to/config/:/config:rw \
-e 'INTERNAL_ADDRESS'='http://192.168.0.1:8080' \
-e 'EXTERNAL_ADDRESS'='https://foo.bar/' \
-e 'DISCORD'='https://discord.com/api/webhooks/1234567890/ABCDEFGHIJKLMN' \
-e 'USER'='admin' \
-e 'PASS'='change-me' \
-e 'AUTH'='form' \
-e 'SILENT'='True' \
-e 'TZ'='Europe/Berlin' \
ghcr.io/rix1337/quasarr:latest
| Parameter | Description |
|---|---|
INTERNAL_ADDRESS |
Required. Internal URL so Radarr/Sonarr/Lidarr/LazyLibrarian can reach Quasarr. Must include port. |
EXTERNAL_ADDRESS |
Optional. External URL (e.g. reverse proxy). Always protect external access with authentication. |
DISCORD |
Optional. Discord webhook URL for notifications. |
USER / PASS |
Optional, but recommended! Username / Password to protect the web UI. |
AUTH |
Authentication mode. Supported values: form or basic. |
SILENT |
Optional. If True, silences all Discord notifications except SponsorHelper error messages. If MAX, blocks all Discord messages except SponsorHelper failure messages. |
TZ |
Optional. Timezone. Incorrect values may cause HTTPS/SSL issues. |
Manual setup
Use this only in case you can't run the docker image.
⚠️ Requires Python 3.12 (or later) and uv!
uv tool install quasarr
export INTERNAL_ADDRESS=http://192.168.0.1:8080
export EXTERNAL_ADDRESS=https://foo.bar/
export DISCORD=https://discord.com/api/webhooks/1234567890/ABCDEFGHIJKLMN
quasarr
DISCORDseeDISCORDdocker variableEXTERNAL_ADDRESSseeEXTERNAL_ADDRESSdocker variable
Philosophy
Complexity is the killer of small projects like this one. It must be fought at all cost!
We will not waste precious time on features that will slow future development cycles down. Most feature requests can be satisfied by:
- Existing settings in Radarr/Sonarr/Lidarr/LazyLibrarian
- Existing settings in JDownloader
- Existing tools from the *arr ecosystem that integrate directly with Radarr/Sonarr/Lidarr/LazyLibrarian
Roadmap
- Assume there are zero known issues unless you find one or more open issues in this repository.
- Still having an issue? Provide a detailed report here!
- There are no hostname integrations in active development unless you see an open pull request here.
- Pull requests are welcome! Especially for popular hostnames.
- A short guide to set up required dev services is found here.
- Always reach out on Discord before starting work on a new feature to prevent waste of time.
- Please follow the existing code style and project structure.
- Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new CAPTCHA types by integrating it in the Quasarr Web UI. The simplest CAPTCHA bypass involves creating a Tampermonkey user script.
- Please provide proof of functionality (screenshots/examples) when submitting your pull request.
SponsorsHelper
SponsorsHelper is a Docker image that solves CAPTCHAs and decrypts links for Quasarr.
Image access is limited to active monthly GitHub sponsors.
Why private / sponsor-only?
SponsorsHelper is intentionally distributed offsite as a private, paid component to increase friction for site owners who actively try to detect, fight, and break CAPTCHA-circumvention workflows.
🔑 GitHub Token Setup
- Start your sponsorship first.
- Open GitHub Classic Token Settings
- Name it (e.g.,
SponsorsHelper) and choose unlimited expiration - Enable these scopes:
read:packagesread:userread:org
- Click Generate token and copy it for the next steps
Scope details:
read:packages→ allows pulling the private SponsorsHelper image from GHCR.read:org→ allows checking access to the private sponsor org/repository.read:user→ allows validating that your GitHub account still has an active sponsorship.
🔐 Quasarr API Key Setup
- Open your Quasarr web UI in a browser
- On the main page, expand "Show API Settings"
- Copy the API Key value
- Use this value for the
QUASARR_API_KEYenvironment variable
Note: The API key is required for SponsorsHelper to communicate securely with Quasarr. Without it, all requests will be rejected with a 401/403 error.
🐋 Docker Login
⚠️ If not logged in, the image will not download.
echo "GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
USERNAME→ your GitHub usernameGITHUB_TOKEN→ the token you just created
▶️ Run SponsorsHelper
⚠️ Without a valid GitHub token linked to an active sponsorship, the image will not run.
docker run -d \
--name='SponsorsHelper' \
-e 'QUASARR_URL'='http://192.168.0.1:8080' \
-e 'QUASARR_API_KEY'='your_quasarr_api_key_here' \
-e 'APIKEY_2CAPTCHA'='your_2captcha_api_key_here' \
-e 'GITHUB_TOKEN'='ghp_123.....456789' \
-e 'FLARESOLVERR_URL'='http://10.10.0.1:8191/v1' \
ghcr.io/rix1337-sponsors/docker/helper:latest
| Parameter | Description |
|---|---|
QUASARR_URL |
Local URL of Quasarr (e.g., http://192.168.0.1:8080) |
QUASARR_API_KEY |
Your Quasarr API key (found in Quasarr web UI under "API Settings") |
APIKEY_2CAPTCHA |
2Captcha account API key |
DEATHBYCAPTCHA_TOKEN |
DeathByCaptcha account token |
GITHUB_TOKEN |
Classic GitHub PAT with the scopes listed above |
FLARESOLVERR_URL |
Local URL of FlareSolverr |
- 2Captcha is the recommended CAPTCHA solving service.
- DeathByCaptcha can serve as a fallback or work on its own.
- If you set both
APIKEY_2CAPTCHAandDEATHBYCAPTCHA_TOKENboth services will be used alternately.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quasarr-4.0.1.tar.gz.
File metadata
- Download URL: quasarr-4.0.1.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fc060763d30ebb159803206e0668cd65085558d45c829ae66b0443c2e5ffc69
|
|
| MD5 |
7d2b722bf94d10c922936711c7d4921a
|
|
| BLAKE2b-256 |
58f785b9d33f77524df54c8f42c0774f93496530e3ddbb15547d19fdb422eb65
|
File details
Details for the file quasarr-4.0.1-py3-none-any.whl.
File metadata
- Download URL: quasarr-4.0.1-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c3a7a09b293c35c7bf1372b2af29ae3a5d9daf94b6ca6b6201fe8d559d61a9d
|
|
| MD5 |
0cd0ca40573314b3556202b06ee655ef
|
|
| BLAKE2b-256 |
3d7d50f545c04b35a4b4132f96e1b5e59748006243c2753b9b61a623478863a2
|