quasarr 1.32.0__tar.gz → 2.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of quasarr might be problematic. Click here for more details.
- {quasarr-1.32.0 → quasarr-2.1.0}/PKG-INFO +47 -24
- {quasarr-1.32.0 → quasarr-2.1.0}/README.md +46 -23
- quasarr-2.1.0/quasarr/api/__init__.py +405 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/api/arr/__init__.py +56 -20
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/api/captcha/__init__.py +26 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/api/config/__init__.py +1 -1
- quasarr-2.1.0/quasarr/api/packages/__init__.py +435 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/api/sponsors_helper/__init__.py +4 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/__init__.py +96 -6
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/linkcrypters/filecrypt.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/linkcrypters/hide.py +45 -6
- quasarr-2.1.0/quasarr/providers/auth.py +250 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/html_templates.py +65 -10
- quasarr-2.1.0/quasarr/providers/obfuscated.py +121 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/shared_state.py +24 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/version.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/al.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/by.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/dd.py +2 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/dj.py +2 -2
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/dl.py +11 -4
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/dt.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/dw.py +6 -7
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/fx.py +4 -4
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/he.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/mb.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/nk.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/nx.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/sf.py +4 -2
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/sj.py +2 -2
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/sl.py +3 -3
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/wd.py +1 -1
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/wx.py +4 -3
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/storage/setup.py +12 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/PKG-INFO +47 -24
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/SOURCES.txt +2 -0
- quasarr-1.32.0/quasarr/api/__init__.py +0 -187
- quasarr-1.32.0/quasarr/providers/obfuscated.py +0 -119
- {quasarr-1.32.0 → quasarr-2.1.0}/LICENSE +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/api/statistics/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/linkcrypters/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/linkcrypters/al.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/packages/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/al.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/by.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/dd.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/dj.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/dl.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/dt.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/dw.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/he.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/mb.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/nk.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/nx.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/sf.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/sj.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/sl.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/wd.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/downloads/sources/wx.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/cloudflare.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/html_images.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/imdb_metadata.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/jd_cache.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/log.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/myjd_api.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/notifications.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/sessions/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/sessions/al.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/sessions/dd.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/sessions/dl.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/sessions/nx.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/statistics.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/utils.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/providers/web_server.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/search/sources/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/storage/__init__.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/storage/config.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr/storage/sqlite_database.py +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/dependency_links.txt +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/entry_points.txt +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/not-zip-safe +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/requires.txt +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/quasarr.egg-info/top_level.txt +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/setup.cfg +0 -0
- {quasarr-1.32.0 → quasarr-2.1.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quasarr
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: Quasarr connects JDownloader with Radarr, Sonarr and LazyLibrarian. It also decrypts links protected by CAPTCHAs.
|
|
5
5
|
Home-page: https://github.com/rix1337/Quasarr
|
|
6
6
|
Author: rix1337
|
|
@@ -25,7 +25,7 @@ Dynamic: license-file
|
|
|
25
25
|
Dynamic: requires-dist
|
|
26
26
|
Dynamic: summary
|
|
27
27
|
|
|
28
|
-
#
|
|
28
|
+
#
|
|
29
29
|
|
|
30
30
|
<img src="https://raw.githubusercontent.com/rix1337/Quasarr/main/Quasarr.png" data-canonical-src="https://raw.githubusercontent.com/rix1337/Quasarr/main/Quasarr.png" width="64" height="64" />
|
|
31
31
|
|
|
@@ -41,7 +41,8 @@ indexers. It simply does not know what NZB files are.
|
|
|
41
41
|
Quasarr includes a solution to quickly and easily decrypt protected links.
|
|
42
42
|
[Active monthly Sponsors get access to SponsorsHelper to do so automatically.](https://github.com/rix1337/Quasarr?tab=readme-ov-file#sponsorshelper)
|
|
43
43
|
Alternatively, follow the link from the console output (or discord notification) to solve CAPTCHAs manually.
|
|
44
|
-
Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonkey](https://www.tampermonkey.net/) to be
|
|
44
|
+
Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonkey](https://www.tampermonkey.net/) to be
|
|
45
|
+
installed in your browser.
|
|
45
46
|
|
|
46
47
|
# Instructions
|
|
47
48
|
|
|
@@ -56,9 +57,11 @@ Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonk
|
|
|
56
57
|
|
|
57
58
|
## FlareSolverr (Optional)
|
|
58
59
|
|
|
59
|
-
FlareSolverr is **optional** but **required for some sites** (e.g., AL) that use Cloudflare protection. You can skip
|
|
60
|
+
FlareSolverr is **optional** but **required for some sites** (e.g., AL) that use Cloudflare protection. You can skip
|
|
61
|
+
FlareSolverr during setup and configure it later via the web UI.
|
|
60
62
|
|
|
61
63
|
If using FlareSolverr, provide your URL including the version path:
|
|
64
|
+
|
|
62
65
|
```
|
|
63
66
|
http://192.168.1.1:8191/v1
|
|
64
67
|
```
|
|
@@ -69,18 +72,26 @@ http://192.168.1.1:8191/v1
|
|
|
69
72
|
|
|
70
73
|
## Quasarr
|
|
71
74
|
|
|
72
|
-
> ⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but
|
|
75
|
+
> ⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but
|
|
76
|
+
> community-maintained lists are available:
|
|
73
77
|
|
|
74
78
|
🔗 **[https://quasarr-host.name](https://quasarr-host.name)** — community guide for finding hostnames
|
|
75
79
|
|
|
76
|
-
📋 Alternatively, browse community suggestions via [pastebin search](https://pastebin.com/search?q=hostnames+quasarr) (
|
|
80
|
+
📋 Alternatively, browse community suggestions via [pastebin search](https://pastebin.com/search?q=hostnames+quasarr) (
|
|
81
|
+
login required).
|
|
82
|
+
|
|
83
|
+
> Authentication is optional but strongly recommended.
|
|
84
|
+
>
|
|
85
|
+
> - 🔐 Set `USER` and `PASS` to enable form-based login (30-day session)
|
|
86
|
+
> - 🔑 Set `AUTH=basic` to use HTTP Basic Authentication instead
|
|
77
87
|
|
|
78
88
|
---
|
|
79
89
|
|
|
80
90
|
## JDownloader
|
|
81
91
|
|
|
82
|
-
> ⚠️ If using Docker:
|
|
83
|
-
> JDownloader's download path must be available to Radarr/Sonarr/LazyLibrarian with **identical internal and external
|
|
92
|
+
> ⚠️ If using Docker:
|
|
93
|
+
> JDownloader's download path must be available to Radarr/Sonarr/LazyLibrarian with **identical internal and external
|
|
94
|
+
path mappings**!
|
|
84
95
|
> Matching only the external path is not sufficient.
|
|
85
96
|
|
|
86
97
|
1. Start and connect JDownloader to [My JDownloader](https://my.jdownloader.org)
|
|
@@ -89,7 +100,8 @@ http://192.168.1.1:8191/v1
|
|
|
89
100
|
<details>
|
|
90
101
|
<summary>Fresh install recommended</summary>
|
|
91
102
|
|
|
92
|
-
Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable
|
|
103
|
+
Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable
|
|
104
|
+
Radarr/Sonarr/LazyLibrarian integration.
|
|
93
105
|
|
|
94
106
|
</details>
|
|
95
107
|
|
|
@@ -97,7 +109,8 @@ Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloade
|
|
|
97
109
|
|
|
98
110
|
## Radarr / Sonarr
|
|
99
111
|
|
|
100
|
-
> ⚠️ **Sonarr users:** Set all shows (including anime) to the **Standard** series type. Quasarr cannot find releases for
|
|
112
|
+
> ⚠️ **Sonarr users:** Set all shows (including anime) to the **Standard** series type. Quasarr cannot find releases for
|
|
113
|
+
> shows set to Anime/Absolute.
|
|
101
114
|
|
|
102
115
|
|
|
103
116
|
Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using your Quasarr URL and API Key.
|
|
@@ -113,9 +126,11 @@ Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using
|
|
|
113
126
|
<summary>Restrict results to a specific mirror</summary>
|
|
114
127
|
|
|
115
128
|
Append the mirror name to your Newznab URL:
|
|
129
|
+
|
|
116
130
|
```
|
|
117
131
|
/api/dropbox/
|
|
118
132
|
```
|
|
133
|
+
|
|
119
134
|
Only releases with `dropbox` in a link will be returned. If the mirror isn't available, the release will fail.
|
|
120
135
|
|
|
121
136
|
</details>
|
|
@@ -131,27 +146,29 @@ Only releases with `dropbox` in a link will be returned. If the mirror isn't ava
|
|
|
131
146
|
|
|
132
147
|
### SABnzbd+ Downloader
|
|
133
148
|
|
|
134
|
-
| Setting
|
|
135
|
-
|
|
149
|
+
| Setting | Value |
|
|
150
|
+
|----------|----------------------------|
|
|
136
151
|
| URL/Port | Your Quasarr host and port |
|
|
137
|
-
| API Key
|
|
138
|
-
| Category | `docs`
|
|
152
|
+
| API Key | Your Quasarr API Key |
|
|
153
|
+
| Category | `docs` |
|
|
139
154
|
|
|
140
155
|
### Newznab Provider
|
|
141
156
|
|
|
142
|
-
| Setting | Value
|
|
143
|
-
|
|
144
|
-
| URL
|
|
145
|
-
| API
|
|
157
|
+
| Setting | Value |
|
|
158
|
+
|---------|----------------------|
|
|
159
|
+
| URL | Your Quasarr URL |
|
|
160
|
+
| API | Your Quasarr API Key |
|
|
146
161
|
|
|
147
162
|
### Fix Import & Processing
|
|
148
163
|
|
|
149
164
|
**Importing:**
|
|
165
|
+
|
|
150
166
|
- Enable `OpenLibrary api for book/author information`
|
|
151
167
|
- Set Primary Information Source to `OpenLibrary`
|
|
152
168
|
- Add to Import languages: `, Unknown` (German users: `, de, ger, de-DE`)
|
|
153
169
|
|
|
154
170
|
**Processing → Folders:**
|
|
171
|
+
|
|
155
172
|
- Add your Quasarr download path (typically `/downloads/Quasarr/`)
|
|
156
173
|
|
|
157
174
|
</details>
|
|
@@ -170,7 +187,10 @@ docker run -d \
|
|
|
170
187
|
-e 'INTERNAL_ADDRESS'='http://192.168.0.1:8080' \
|
|
171
188
|
-e 'EXTERNAL_ADDRESS'='https://foo.bar/' \
|
|
172
189
|
-e 'DISCORD'='https://discord.com/api/webhooks/1234567890/ABCDEFGHIJKLMN' \
|
|
173
|
-
-e 'HOSTNAMES'='https://quasarr-host.name/ini?token=123...'
|
|
190
|
+
-e 'HOSTNAMES'='https://quasarr-host.name/ini?token=123...' \
|
|
191
|
+
-e 'USER'='admin' \
|
|
192
|
+
-e 'PASS'='change-me' \
|
|
193
|
+
-e 'AUTH'='form' \
|
|
174
194
|
-e 'SILENT'='True' \
|
|
175
195
|
-e 'DEBUG'='' \
|
|
176
196
|
-e 'TZ'='Europe/Berlin' \
|
|
@@ -184,6 +204,8 @@ docker run -d \
|
|
|
184
204
|
* Must be a publicly available `HTTP` or `HTTPs` link
|
|
185
205
|
* Must be a raw `.ini` / text file (not HTML or JSON)
|
|
186
206
|
* Must contain at least one valid Hostname per line `ab = xyz`
|
|
207
|
+
* `USER` / `PASS` are credentials to protect the web UI
|
|
208
|
+
* `AUTH` is the authentication mode (`form` or `basic`)
|
|
187
209
|
* `SILENT` is optional and silences all discord notifications except for error messages from SponsorsHelper if `True`.
|
|
188
210
|
* `DEBUG` is optional and enables debug logging if `True`.
|
|
189
211
|
* `TZ` is optional, wrong timezone can cause HTTPS/SSL issues
|
|
@@ -226,7 +248,8 @@ Most feature requests can be satisfied by:
|
|
|
226
248
|
- There are no hostname integrations in active development unless you see an open pull request
|
|
227
249
|
[here](https://github.com/rix1337/Quasarr/pulls).
|
|
228
250
|
- **Pull requests are welcome!** Especially for popular hostnames.
|
|
229
|
-
- A short guide to set up required dev services is found
|
|
251
|
+
- A short guide to set up required dev services is found
|
|
252
|
+
in [/docker/dev-setup.md](https://github.com/rix1337/Quasarr/blob/main/docker/dev-setup.md)
|
|
230
253
|
- Always reach out on Discord before starting work on a new feature to prevent waste of time.
|
|
231
254
|
- Please follow the existing code style and project structure.
|
|
232
255
|
- Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new
|
|
@@ -248,11 +271,11 @@ Image access is limited to [active monthly GitHub sponsors](https://github.com/u
|
|
|
248
271
|
|
|
249
272
|
1. Start your [sponsorship](https://github.com/users/rix1337/sponsorship) first.
|
|
250
273
|
2. Open [GitHub Classic Token Settings](https://github.com/settings/tokens/new?type=classic)
|
|
251
|
-
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
274
|
+
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
252
275
|
4. Enable these scopes:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
276
|
+
- `read:packages`
|
|
277
|
+
- `read:user`
|
|
278
|
+
- `read:org`
|
|
256
279
|
5. Click **Generate token** and copy it for the next steps
|
|
257
280
|
|
|
258
281
|
---
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
#
|
|
2
2
|
|
|
3
3
|
<img src="https://raw.githubusercontent.com/rix1337/Quasarr/main/Quasarr.png" data-canonical-src="https://raw.githubusercontent.com/rix1337/Quasarr/main/Quasarr.png" width="64" height="64" />
|
|
4
4
|
|
|
@@ -14,7 +14,8 @@ indexers. It simply does not know what NZB files are.
|
|
|
14
14
|
Quasarr includes a solution to quickly and easily decrypt protected links.
|
|
15
15
|
[Active monthly Sponsors get access to SponsorsHelper to do so automatically.](https://github.com/rix1337/Quasarr?tab=readme-ov-file#sponsorshelper)
|
|
16
16
|
Alternatively, follow the link from the console output (or discord notification) to solve CAPTCHAs manually.
|
|
17
|
-
Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonkey](https://www.tampermonkey.net/) to be
|
|
17
|
+
Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonkey](https://www.tampermonkey.net/) to be
|
|
18
|
+
installed in your browser.
|
|
18
19
|
|
|
19
20
|
# Instructions
|
|
20
21
|
|
|
@@ -29,9 +30,11 @@ Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonk
|
|
|
29
30
|
|
|
30
31
|
## FlareSolverr (Optional)
|
|
31
32
|
|
|
32
|
-
FlareSolverr is **optional** but **required for some sites** (e.g., AL) that use Cloudflare protection. You can skip
|
|
33
|
+
FlareSolverr is **optional** but **required for some sites** (e.g., AL) that use Cloudflare protection. You can skip
|
|
34
|
+
FlareSolverr during setup and configure it later via the web UI.
|
|
33
35
|
|
|
34
36
|
If using FlareSolverr, provide your URL including the version path:
|
|
37
|
+
|
|
35
38
|
```
|
|
36
39
|
http://192.168.1.1:8191/v1
|
|
37
40
|
```
|
|
@@ -42,18 +45,26 @@ http://192.168.1.1:8191/v1
|
|
|
42
45
|
|
|
43
46
|
## Quasarr
|
|
44
47
|
|
|
45
|
-
> ⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but
|
|
48
|
+
> ⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but
|
|
49
|
+
> community-maintained lists are available:
|
|
46
50
|
|
|
47
51
|
🔗 **[https://quasarr-host.name](https://quasarr-host.name)** — community guide for finding hostnames
|
|
48
52
|
|
|
49
|
-
📋 Alternatively, browse community suggestions via [pastebin search](https://pastebin.com/search?q=hostnames+quasarr) (
|
|
53
|
+
📋 Alternatively, browse community suggestions via [pastebin search](https://pastebin.com/search?q=hostnames+quasarr) (
|
|
54
|
+
login required).
|
|
55
|
+
|
|
56
|
+
> Authentication is optional but strongly recommended.
|
|
57
|
+
>
|
|
58
|
+
> - 🔐 Set `USER` and `PASS` to enable form-based login (30-day session)
|
|
59
|
+
> - 🔑 Set `AUTH=basic` to use HTTP Basic Authentication instead
|
|
50
60
|
|
|
51
61
|
---
|
|
52
62
|
|
|
53
63
|
## JDownloader
|
|
54
64
|
|
|
55
|
-
> ⚠️ If using Docker:
|
|
56
|
-
> JDownloader's download path must be available to Radarr/Sonarr/LazyLibrarian with **identical internal and external
|
|
65
|
+
> ⚠️ If using Docker:
|
|
66
|
+
> JDownloader's download path must be available to Radarr/Sonarr/LazyLibrarian with **identical internal and external
|
|
67
|
+
path mappings**!
|
|
57
68
|
> Matching only the external path is not sufficient.
|
|
58
69
|
|
|
59
70
|
1. Start and connect JDownloader to [My JDownloader](https://my.jdownloader.org)
|
|
@@ -62,7 +73,8 @@ http://192.168.1.1:8191/v1
|
|
|
62
73
|
<details>
|
|
63
74
|
<summary>Fresh install recommended</summary>
|
|
64
75
|
|
|
65
|
-
Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable
|
|
76
|
+
Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable
|
|
77
|
+
Radarr/Sonarr/LazyLibrarian integration.
|
|
66
78
|
|
|
67
79
|
</details>
|
|
68
80
|
|
|
@@ -70,7 +82,8 @@ Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloade
|
|
|
70
82
|
|
|
71
83
|
## Radarr / Sonarr
|
|
72
84
|
|
|
73
|
-
> ⚠️ **Sonarr users:** Set all shows (including anime) to the **Standard** series type. Quasarr cannot find releases for
|
|
85
|
+
> ⚠️ **Sonarr users:** Set all shows (including anime) to the **Standard** series type. Quasarr cannot find releases for
|
|
86
|
+
> shows set to Anime/Absolute.
|
|
74
87
|
|
|
75
88
|
|
|
76
89
|
Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using your Quasarr URL and API Key.
|
|
@@ -86,9 +99,11 @@ Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using
|
|
|
86
99
|
<summary>Restrict results to a specific mirror</summary>
|
|
87
100
|
|
|
88
101
|
Append the mirror name to your Newznab URL:
|
|
102
|
+
|
|
89
103
|
```
|
|
90
104
|
/api/dropbox/
|
|
91
105
|
```
|
|
106
|
+
|
|
92
107
|
Only releases with `dropbox` in a link will be returned. If the mirror isn't available, the release will fail.
|
|
93
108
|
|
|
94
109
|
</details>
|
|
@@ -104,27 +119,29 @@ Only releases with `dropbox` in a link will be returned. If the mirror isn't ava
|
|
|
104
119
|
|
|
105
120
|
### SABnzbd+ Downloader
|
|
106
121
|
|
|
107
|
-
| Setting
|
|
108
|
-
|
|
122
|
+
| Setting | Value |
|
|
123
|
+
|----------|----------------------------|
|
|
109
124
|
| URL/Port | Your Quasarr host and port |
|
|
110
|
-
| API Key
|
|
111
|
-
| Category | `docs`
|
|
125
|
+
| API Key | Your Quasarr API Key |
|
|
126
|
+
| Category | `docs` |
|
|
112
127
|
|
|
113
128
|
### Newznab Provider
|
|
114
129
|
|
|
115
|
-
| Setting | Value
|
|
116
|
-
|
|
117
|
-
| URL
|
|
118
|
-
| API
|
|
130
|
+
| Setting | Value |
|
|
131
|
+
|---------|----------------------|
|
|
132
|
+
| URL | Your Quasarr URL |
|
|
133
|
+
| API | Your Quasarr API Key |
|
|
119
134
|
|
|
120
135
|
### Fix Import & Processing
|
|
121
136
|
|
|
122
137
|
**Importing:**
|
|
138
|
+
|
|
123
139
|
- Enable `OpenLibrary api for book/author information`
|
|
124
140
|
- Set Primary Information Source to `OpenLibrary`
|
|
125
141
|
- Add to Import languages: `, Unknown` (German users: `, de, ger, de-DE`)
|
|
126
142
|
|
|
127
143
|
**Processing → Folders:**
|
|
144
|
+
|
|
128
145
|
- Add your Quasarr download path (typically `/downloads/Quasarr/`)
|
|
129
146
|
|
|
130
147
|
</details>
|
|
@@ -143,7 +160,10 @@ docker run -d \
|
|
|
143
160
|
-e 'INTERNAL_ADDRESS'='http://192.168.0.1:8080' \
|
|
144
161
|
-e 'EXTERNAL_ADDRESS'='https://foo.bar/' \
|
|
145
162
|
-e 'DISCORD'='https://discord.com/api/webhooks/1234567890/ABCDEFGHIJKLMN' \
|
|
146
|
-
-e 'HOSTNAMES'='https://quasarr-host.name/ini?token=123...'
|
|
163
|
+
-e 'HOSTNAMES'='https://quasarr-host.name/ini?token=123...' \
|
|
164
|
+
-e 'USER'='admin' \
|
|
165
|
+
-e 'PASS'='change-me' \
|
|
166
|
+
-e 'AUTH'='form' \
|
|
147
167
|
-e 'SILENT'='True' \
|
|
148
168
|
-e 'DEBUG'='' \
|
|
149
169
|
-e 'TZ'='Europe/Berlin' \
|
|
@@ -157,6 +177,8 @@ docker run -d \
|
|
|
157
177
|
* Must be a publicly available `HTTP` or `HTTPs` link
|
|
158
178
|
* Must be a raw `.ini` / text file (not HTML or JSON)
|
|
159
179
|
* Must contain at least one valid Hostname per line `ab = xyz`
|
|
180
|
+
* `USER` / `PASS` are credentials to protect the web UI
|
|
181
|
+
* `AUTH` is the authentication mode (`form` or `basic`)
|
|
160
182
|
* `SILENT` is optional and silences all discord notifications except for error messages from SponsorsHelper if `True`.
|
|
161
183
|
* `DEBUG` is optional and enables debug logging if `True`.
|
|
162
184
|
* `TZ` is optional, wrong timezone can cause HTTPS/SSL issues
|
|
@@ -199,7 +221,8 @@ Most feature requests can be satisfied by:
|
|
|
199
221
|
- There are no hostname integrations in active development unless you see an open pull request
|
|
200
222
|
[here](https://github.com/rix1337/Quasarr/pulls).
|
|
201
223
|
- **Pull requests are welcome!** Especially for popular hostnames.
|
|
202
|
-
- A short guide to set up required dev services is found
|
|
224
|
+
- A short guide to set up required dev services is found
|
|
225
|
+
in [/docker/dev-setup.md](https://github.com/rix1337/Quasarr/blob/main/docker/dev-setup.md)
|
|
203
226
|
- Always reach out on Discord before starting work on a new feature to prevent waste of time.
|
|
204
227
|
- Please follow the existing code style and project structure.
|
|
205
228
|
- Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new
|
|
@@ -221,11 +244,11 @@ Image access is limited to [active monthly GitHub sponsors](https://github.com/u
|
|
|
221
244
|
|
|
222
245
|
1. Start your [sponsorship](https://github.com/users/rix1337/sponsorship) first.
|
|
223
246
|
2. Open [GitHub Classic Token Settings](https://github.com/settings/tokens/new?type=classic)
|
|
224
|
-
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
247
|
+
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
225
248
|
4. Enable these scopes:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
249
|
+
- `read:packages`
|
|
250
|
+
- `read:user`
|
|
251
|
+
- `read:org`
|
|
229
252
|
5. Click **Generate token** and copy it for the next steps
|
|
230
253
|
|
|
231
254
|
---
|