quasarr 1.26.7__py3-none-any.whl → 1.27.0__py3-none-any.whl

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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quasarr
3
- Version: 1.26.7
3
+ Version: 1.27.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
@@ -44,97 +44,115 @@ Alternatively, follow the link from the console output (or discord notification)
44
44
  Quasarr will confidently handle the rest. Some CAPTCHA types require [Tampermonkey](https://www.tampermonkey.net/) to be installed in your browser.
45
45
 
46
46
  # Instructions
47
- 1. Set up and run [FlareSolverr 3](https://github.com/FlareSolverr/FlareSolverr).
48
- 2. Set up and run [JDownloader 2](https://jdownloader.org/download/index).
49
- 3. Follow the next steps.
47
+
48
+ 1. Set up and run [FlareSolverr 3](https://github.com/FlareSolverr/FlareSolverr)
49
+ 2. Set up and run [JDownloader 2](https://jdownloader.org/download/index)
50
+ 3. Configure the integrations below
51
+
52
+ > **Finding your Quasarr URL and API Key**
53
+ > Both values are shown in the console output under **API Information**, or in the Quasarr web UI.
50
54
 
51
55
  ---
52
56
 
53
57
  ## FlareSolverr
54
- 1. Ensure your running FlareSolverr is reachable by Quasarr.
55
- 2. Provide your FlareSolverr URL to Quasarr during the setup process.
56
- 3. The full URL must include the version path, e.g., `http://192.168.1.1:8191/v1`.
58
+
59
+ Provide your FlareSolverr URL during setup. Include the version path:
60
+ ```
61
+ http://192.168.1.1:8191/v1
62
+ ```
57
63
 
58
64
  ---
59
65
 
60
66
  ## Quasarr
61
67
 
62
- Tell Quasarr which sites to search for releases. It requires at least one valid source to start up.
68
+ > ⚠️ Quasarr requires at least one valid hostname to start. It does not provide or endorse any specific sources, but community-maintained lists are available:
69
+
70
+ 🔗 **[quasarr-hostnames.pages.dev](https://quasarr-hostnames.pages.dev)** — third-party guide for finding hostnames
63
71
 
64
- > - By default, Quasarr does **not** know which sites to scrape for download links.
65
- > - The setup will guide you through the process of providing valid hostnames for Quasarr to scrape.
66
- > - Do **not** ask for help here if you do not know which hostnames to use. Picking them is solely your responsibility.
67
- > - You may check sites like [Pastebin](https://pastebin.com/search?q=hostnames+quasarr) for user‑submitted suggestions.
72
+ 📋 Alternatively, browse community suggestions via [pastebin search](https://pastebin.com/search?q=hostnames+quasarr) (login required).
68
73
 
69
74
  ---
70
75
 
71
76
  ## JDownloader
72
77
 
73
- 1. Ensure your running JDownloader is connected to the My JDownloader service.
74
- 2. Provide your [My‑JDownloader‑Credentials](https://my.jdownloader.org) to Quasarr during the setup process.
78
+ > ⚠️ If using Docker:
79
+ > JDownloader's download path must be available to Radarr/Sonarr/LazyLibrarian with **identical internal and external path mappings**!
80
+ > Matching only the external path is not sufficient.
75
81
 
76
- > - Consider setting up a fresh JDownloader before you begin.
77
- > - JDownloader must be running and available to Quasarr.
78
- > - Quasarr will modify JDownloader’s settings so downloads can be handled by Radarr/Sonarr/LazyLibrarian.
79
- > - If using Docker, ensure that JDownloader’s download path is available to Radarr/Sonarr/LazyLibrarian with **exactly the same** internal and external path mapping (matching only the external path is not enough).
82
+ 1. Start and connect JDownloader to [My JDownloader](https://my.jdownloader.org)
83
+ 2. Provide your My JDownloader credentials during Quasarr setup
84
+
85
+ <details>
86
+ <summary>Fresh install recommended</summary>
87
+
88
+ Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloader's settings to enable Radarr/Sonarr/LazyLibrarian integration.
89
+
90
+ </details>
80
91
 
81
92
  ---
82
93
 
83
94
  ## Radarr / Sonarr
84
95
 
85
- Set up Quasarr as a **Newznab Indexer** and **SABnzbd Download Client**:
96
+ > ⚠️ **Sonarr users:** Set all shows (including anime) to the **Standard** series type. Quasarr cannot find releases for shows set to Anime/Absolute.
97
+
98
+
99
+ Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using your Quasarr URL and API Key.
100
+
101
+ <details>
102
+ <summary>Show download status in Radarr/Sonarr</summary>
86
103
 
87
- 1. **URL**: Use the `URL` from the **API Information** section of the console output (or copy it from the Quasarr web UI).
88
- 2. **API Key**: Use the `API Key` from the **API Information** section of the console output (or copy it from the Quasarr web UI).
89
- 3. Leave all other settings at their defaults.
104
+ **Activity Queue Options** Enable `Release Title`
90
105
 
91
- > **Important notice for Sonarr**
92
- > - Ensure all shows (including anime) are set to the **Standard** series type.
93
- > - Quasarr will never find releases for shows set to **Anime / Absolute**.
106
+ </details>
107
+
108
+ <details>
109
+ <summary>Restrict results to a specific mirror</summary>
110
+
111
+ Append the mirror name to your Newznab URL:
112
+ ```
113
+ /api/dropbox/
114
+ ```
115
+ Only releases with `dropbox` in a link will be returned. If the mirror isn't available, the release will fail.
116
+
117
+ </details>
94
118
 
95
119
  ---
96
120
 
97
121
  ## LazyLibrarian
98
122
 
99
- > **Important notice**
100
- > - This feature is experimental and may not work as expected.
101
- > - Quasarr cannot help you with metadata issues, missing covers, or other LazyLibrarian problems.
102
- > - Please report issues when one of your hostnames yields results through their website, but not in LazyLibrarian.
103
-
104
- Set up Quasarr as a **SABnzbd+ Downloader**
123
+ > ⚠️ **Experimental feature** — Report issues when a hostname returns results on its website but not in LazyLibrarian.
105
124
 
106
- 1. **SABnzbd URL/Port**: Use port and host parts from `URL` found in the **API Information** section of the console output (or copy it from the Quasarr web UI).
107
- 2. **SABnzbd API Key**: Use the `API Key` from the **API Information** section of the console output (or copy it from the Quasarr web UI).
108
- 3. **SABnzbd Category**: Use `docs` to ensure LazyLibrarian does not interfere with Radarr/Sonarr.
109
- 4. Press `Test SABnzbd` to verify the connection, then `Save changes`.
125
+ <details>
126
+ <summary>Setup instructions</summary>
110
127
 
111
- Set up Quasarr as a **Newznab Provider**:
112
- 1. **Newznab URL**: Use the `URL` from the **API Information** section of the console output (or copy it from the Quasarr web UI).
113
- 2. **Newznab API** Use the `API Key` from the **API Information** section of the console output (or copy it from the Quasarr web UI).
114
- 3. Press `Test` to verify the connection, then `Save changes`.
128
+ ### SABnzbd+ Downloader
115
129
 
116
- Fix the `Importing` settings:
117
- 1. Check `Enable OpenLibrary api for book/author information`
118
- 2. Select `OpenLibrary` below `Primary Information Source`
119
- 2. Under `Import languages` add `, Unknown` (and for German users: `, de, ger, de-DE`).
130
+ | Setting | Value |
131
+ |---------|-------|
132
+ | URL/Port | Your Quasarr host and port |
133
+ | API Key | Your Quasarr API Key |
134
+ | Category | `docs` |
120
135
 
121
- Fix the `Processing` settings:
122
- 1. Under `Folders` add the full Quasarr download path, typically `/downloads/Quasarr/`
123
- 2. If you do not do this, processing after the download will fail.
136
+ ### Newznab Provider
124
137
 
138
+ | Setting | Value |
139
+ |---------|-------|
140
+ | URL | Your Quasarr URL |
141
+ | API | Your Quasarr API Key |
125
142
 
143
+ ### Fix Import & Processing
126
144
 
127
- ---
145
+ **Importing:**
146
+ - Enable `OpenLibrary api for book/author information`
147
+ - Set Primary Information Source to `OpenLibrary`
148
+ - Add to Import languages: `, Unknown` (German users: `, de, ger, de-DE`)
128
149
 
129
- ## Advanced Settings
150
+ **Processing Folders:**
151
+ - Add your Quasarr download path (typically `/downloads/Quasarr/`)
130
152
 
131
- To restrict results to a specific mirror, add the mirror name to the Newznab/indexer URL.
132
- > **Example:** Appending `/api/dropbox/` will only return releases where `dropbox` is explicitly mentioned in a link.
133
- > **Caution:** If a mirror is not available at a hostname, the release will be ignored or the download will fail. Use this option carefully.
153
+ </details>
134
154
 
135
- To see download status information in Radarr/Sonarr
136
- 1. Open `Activity` → `Queue` → `Options`
137
- 2. Enable `Release Title`
155
+ ---
138
156
 
139
157
  # Docker
140
158
 
@@ -173,8 +191,6 @@ Use this only in case you can't run the docker image.
173
191
  `pip install quasarr`
174
192
 
175
193
  * Requires Python 3.12 or later
176
- * Requires [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr)
177
- * Requires [JDownloader 2](https://jdownloader.org/download/index) with [My JDownloader](https://my.jdownloader.org/)
178
194
 
179
195
  ```
180
196
  --port=8080
@@ -205,10 +221,11 @@ Most feature requests can be satisfied by:
205
221
  - Still having an issue? Provide a detailed report [here](https://github.com/rix1337/Quasarr/issues/new/choose)!
206
222
  - There are no hostname integrations in active development unless you see an open pull request
207
223
  [here](https://github.com/rix1337/Quasarr/pulls).
208
- - Pull requests are welcome. Especially for popular hostnames.
224
+ - **Pull requests are welcome!** Especially for popular hostnames.
225
+ - A short guide to set up required dev services is found in [/docker/dev-setup.md](https://github.com/rix1337/Quasarr/blob/main/docker/dev-setup.md)
209
226
  - Always reach out on Discord before starting work on a new feature to prevent waste of time.
210
227
  - Please follow the existing code style and project structure.
211
- - Anti-bot measures must be circumvented fully by Quasarr. Thus you will need to provide a working solution for new
228
+ - Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new
212
229
  CAPTCHA types by integrating it in the Quasarr Web UI.
213
230
  - Please provide proof of functionality (screenshots/examples) when submitting your pull request.
214
231
 
@@ -238,6 +255,8 @@ Image access is limited to [active monthly GitHub sponsors](https://github.com/u
238
255
 
239
256
  ## 🐋 Docker Login
240
257
 
258
+ ⚠️ **Before logging in, the image will not download.**
259
+
241
260
  ```bash
242
261
  echo "GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
243
262
  ````
@@ -245,14 +264,10 @@ echo "GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
245
264
  * `USERNAME` → your GitHub username
246
265
  * `GITHUB_TOKEN` → the token you just created
247
266
 
248
- ---
249
-
250
- ⚠️ **Before logging in, the image will not download.**
251
-
252
- ---
253
-
254
267
  ## ▶️ Run SponsorsHelper
255
268
 
269
+ ⚠️ **Without a valid GitHub token linked to an active sponsorship, the image will not run.**
270
+
256
271
  ```bash
257
272
  docker run -d \
258
273
  --name='SponsorsHelper' \
@@ -268,8 +283,6 @@ docker run -d \
268
283
  ghcr.io/rix1337-sponsors/docker/helper:latest
269
284
  ```
270
285
 
271
- ### Required Parameters
272
-
273
286
  * `QUASARR_URL` → Local URL of Quasarr
274
287
  * `DEATHBYCAPTCHA_TOKEN` → [DeathByCaptcha](https://deathbycaptcha.com/register?refid=6184288242b) account token
275
288
  * `GITHUB_TOKEN` → Classic GitHub PAT with the scopes listed above
@@ -277,30 +290,3 @@ docker run -d \
277
290
  * `NX_USER` / `NX_PASS` → NX account credentials
278
291
  * `JUNKIES_USER` / `JUNKIES_PASS` → Junkies account credentials
279
292
  * `JUNKIES_HOSTER` → Preferred hoster for Junkies links
280
- ---
281
-
282
- ⚠️ **Without a valid GitHub token linked to an active sponsorship, the image will not run.**
283
-
284
- ---
285
-
286
- # Development Setup for Pull Requests
287
-
288
- To test your changes before submitting a pull request:
289
-
290
- **Run Quasarr with the `--internal_address` parameter:**
291
-
292
- ```bash
293
- python Quasarr.py --internal_address=http://<host-ip>:<port>
294
- ```
295
-
296
- Replace `<host-ip>` and `<port>` with the scheme, IP, and port of your host machine.
297
- The `--internal_address` parameter is **mandatory**.
298
-
299
- **Start the required services using the `dev-services-compose.yml` file:**
300
-
301
- ```bash
302
- CONFIG_VOLUMES=/path/to/config docker-compose -f docker/dev-services-compose.yml up
303
- ```
304
-
305
- Replace `/path/to/config` with your desired configuration location.
306
- The `CONFIG_VOLUMES` environment variable is **mandatory**.
@@ -1,8 +1,8 @@
1
- quasarr/__init__.py,sha256=u-aOsfvCuLh2J0pIBFlTO-IPZQFwxTcqy-mDpl1sY-s,17399
1
+ quasarr/__init__.py,sha256=6-6FpRbLyr_DXpNTlXkzQAPnDxboMkHKvkhlmyP632Q,13593
2
2
  quasarr/api/__init__.py,sha256=9Y_DTNYsHeimrXL3mAli8OUg0zqo7QGLF2ft40d3R-c,6822
3
3
  quasarr/api/arr/__init__.py,sha256=6CFASudVLlqKVNhTnS72Np2T3uAMsJXE-8u0986WW9c,17460
4
4
  quasarr/api/captcha/__init__.py,sha256=IhJVn9iWtb01P2yfoqtOF7wSsiXizES7HNn29BX1uHk,60268
5
- quasarr/api/config/__init__.py,sha256=0K7zqC9dt39Ul1RIJt0zNVdh1b9ARnfC6QFPa2D9FCw,819
5
+ quasarr/api/config/__init__.py,sha256=hUPDhGDyLe3DhzEl6mK5iBf8FDRu-9bNSjEnECsNXkY,5163
6
6
  quasarr/api/sponsors_helper/__init__.py,sha256=kAZabPlplPYRG6Uw7ZHTk5uypualwvhs-NoTOjQhhhA,6369
7
7
  quasarr/api/statistics/__init__.py,sha256=NrBAjjHkIUE95HhPUGIfNqh2IqBqJ_zm00S90Y-Qnus,7038
8
8
  quasarr/downloads/__init__.py,sha256=bpNg6LNqoqpnA-U7uVDhq9jM6VYB2bkekCw1XxZRpWM,11613
@@ -39,13 +39,14 @@ quasarr/providers/notifications.py,sha256=bohT-6yudmFnmZMc3BwCGX0n1HdzSVgQG_LDZm
39
39
  quasarr/providers/obfuscated.py,sha256=xPI3WrteOiZN5BgNDp0CURcYfkRrdnRCz_cT7BpzIJU,1363310
40
40
  quasarr/providers/shared_state.py,sha256=-TIiH2lkCfovq7bzUZicpUjXEjS87ZHCcevsFgySOqw,29944
41
41
  quasarr/providers/statistics.py,sha256=cEQixYnDMDqtm5wWe40E_2ucyo4mD0n3SrfelhQi1L8,6452
42
- quasarr/providers/version.py,sha256=8oDNDlpJxRsfDR0RSzNNJkrCTQ-lnpN8coFtTqgMASY,4004
42
+ quasarr/providers/utils.py,sha256=CEBsrtuasrQ8-l535Va4S_7gT9N47qjjgOKYGJX0TE0,5095
43
+ quasarr/providers/version.py,sha256=pwciXHt2xf8Tbxgm6j1ZZ_-zwPJuduxnv-hGwn0wbjM,4004
43
44
  quasarr/providers/web_server.py,sha256=AYd0KRxdDWMBr87BP8wlSMuL4zZo0I_rY-vHBai6Pfg,1688
44
45
  quasarr/providers/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- quasarr/providers/sessions/al.py,sha256=F1d76eAJcbTvb6YvAIlQ4gfrYC_256QAKiWEQcuWe8k,10612
46
- quasarr/providers/sessions/dd.py,sha256=JdXjqmjuyY32w0cIlwphRm8Sy43EK8nEEFwyXUkEGb4,2596
47
- quasarr/providers/sessions/dl.py,sha256=8toAHn5C9FbjHuhjfQEeKR1Fz5tRENrIgFxdjUuXCIU,5381
48
- quasarr/providers/sessions/nx.py,sha256=qfW12AB_0nNsAoKOaSF4z0T9DCxMQleWCYf3fqJtF2A,2688
46
+ quasarr/providers/sessions/al.py,sha256=ARNgWAhTKQhAz0mF8kB2OsT8bGcC-mmYF-Wd22to-wA,11346
47
+ quasarr/providers/sessions/dd.py,sha256=I9tQCdxmhtbdmRUhKlkM1ZJjja1N1bdRSEZdfbSRWkc,2832
48
+ quasarr/providers/sessions/dl.py,sha256=6tch4QzkdwbU6XoNQE22T5nz5eoKlBVGa0eyjXJHPyA,5574
49
+ quasarr/providers/sessions/nx.py,sha256=vZDVnu4sKizx1wyKmrTr8itGURSEIVOtzMI5efjF6Oo,2924
49
50
  quasarr/search/__init__.py,sha256=V59LIiC75mQvasDdTjiWZRbPD1jXO1lhXlKeNVX0iOc,5726
50
51
  quasarr/search/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
52
  quasarr/search/sources/al.py,sha256=yr6wx-VcSOFYK_o3N1bepC4t6Gvt9eDvcG9fQBFg0bg,17203
@@ -66,12 +67,12 @@ quasarr/search/sources/sl.py,sha256=5e5S7JvdbNOc2EthyOkfC4aTpG8O7fn4WS2O3_EXjnM,
66
67
  quasarr/search/sources/wd.py,sha256=O02j3irSlVw2qES82g_qHuavAk-njjSRH1dHSCnOUas,7540
67
68
  quasarr/search/sources/wx.py,sha256=_h1M6GhkJzixwHscrt0lMOnPSEDP1Xl24OypEe8Jy7c,12906
68
69
  quasarr/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- quasarr/storage/config.py,sha256=hOI7vvIo1YaML3dtAkTmp0HSedWF6brVhRk3d8pJtXI,6300
70
- quasarr/storage/setup.py,sha256=V_dWfyCYxRE_ahmBtD-DmHOKP2L6brBcVYydPRcHjns,21448
70
+ quasarr/storage/config.py,sha256=SSTgIce2FVYoVTK_6OCU3msknhxuLA3EC4Kcrrf_dxQ,6378
71
+ quasarr/storage/setup.py,sha256=YpF11NchXSMRfI7S0yzg-LqlmUhlWMgjZCFyGYDwS5M,38151
71
72
  quasarr/storage/sqlite_database.py,sha256=yMqFQfKf0k7YS-6Z3_7pj4z1GwWSXJ8uvF4IydXsuTE,3554
72
- quasarr-1.26.7.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
73
- quasarr-1.26.7.dist-info/METADATA,sha256=w9WT0BHcf5ogLrgWmm_vmNHMDGtqTk9R5VbIxKCOhCA,12805
74
- quasarr-1.26.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
75
- quasarr-1.26.7.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
76
- quasarr-1.26.7.dist-info/top_level.txt,sha256=dipJdaRda5ruTZkoGfZU60bY4l9dtPlmOWwxK_oGSF0,8
77
- quasarr-1.26.7.dist-info/RECORD,,
73
+ quasarr-1.27.0.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
74
+ quasarr-1.27.0.dist-info/METADATA,sha256=D3_jpkN9ALKqlaZM-X524wBJyJyND7m9RdDlxB3Cqdg,10679
75
+ quasarr-1.27.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
+ quasarr-1.27.0.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
77
+ quasarr-1.27.0.dist-info/top_level.txt,sha256=dipJdaRda5ruTZkoGfZU60bY4l9dtPlmOWwxK_oGSF0,8
78
+ quasarr-1.27.0.dist-info/RECORD,,