quasarr 2.0.0__py3-none-any.whl → 2.1.1__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.
- quasarr/api/__init__.py +4 -4
- quasarr/api/arr/__init__.py +55 -33
- quasarr/api/config/__init__.py +1 -1
- quasarr/api/packages/__init__.py +115 -54
- quasarr/api/sponsors_helper/__init__.py +13 -5
- quasarr/downloads/__init__.py +117 -6
- quasarr/downloads/linkcrypters/filecrypt.py +1 -1
- quasarr/providers/auth.py +16 -1
- quasarr/providers/html_templates.py +65 -10
- quasarr/providers/version.py +1 -1
- quasarr/search/sources/al.py +1 -1
- quasarr/search/sources/by.py +1 -1
- quasarr/search/sources/dd.py +2 -1
- quasarr/search/sources/dj.py +2 -2
- quasarr/search/sources/dl.py +8 -2
- quasarr/search/sources/dt.py +1 -1
- quasarr/search/sources/dw.py +6 -7
- quasarr/search/sources/fx.py +4 -4
- quasarr/search/sources/he.py +1 -1
- quasarr/search/sources/mb.py +1 -1
- quasarr/search/sources/nk.py +1 -1
- quasarr/search/sources/nx.py +1 -1
- quasarr/search/sources/sf.py +4 -2
- quasarr/search/sources/sj.py +2 -2
- quasarr/search/sources/sl.py +3 -3
- quasarr/search/sources/wd.py +1 -1
- quasarr/search/sources/wx.py +4 -3
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/METADATA +72 -43
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/RECORD +33 -33
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/WHEEL +0 -0
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/entry_points.txt +0 -0
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/licenses/LICENSE +0 -0
- {quasarr-2.0.0.dist-info → quasarr-2.1.1.dist-info}/top_level.txt +0 -0
quasarr/search/sources/sl.py
CHANGED
|
@@ -6,9 +6,9 @@ import datetime
|
|
|
6
6
|
import html
|
|
7
7
|
import re
|
|
8
8
|
import time
|
|
9
|
-
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
10
9
|
import xml.etree.ElementTree as ET
|
|
11
10
|
from base64 import urlsafe_b64encode
|
|
11
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
12
12
|
from urllib.parse import quote_plus
|
|
13
13
|
|
|
14
14
|
import requests
|
|
@@ -90,7 +90,7 @@ def sl_feed(shared_state, start_time, request_from, mirror=None):
|
|
|
90
90
|
imdb_id = m.group(1) if m else None
|
|
91
91
|
|
|
92
92
|
payload = urlsafe_b64encode(
|
|
93
|
-
f"{title}|{source}|{mirror}|{mb}|{password}|{imdb_id}".encode("utf-8")
|
|
93
|
+
f"{title}|{source}|{mirror}|{mb}|{password}|{imdb_id}|{hostname}".encode("utf-8")
|
|
94
94
|
).decode("utf-8")
|
|
95
95
|
link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
96
96
|
|
|
@@ -214,7 +214,7 @@ def sl_search(shared_state, start_time, request_from, search_string, mirror=None
|
|
|
214
214
|
imdb_id = None
|
|
215
215
|
|
|
216
216
|
payload = urlsafe_b64encode(
|
|
217
|
-
f"{title}|{source}|{mirror}|0|{password}|{imdb_id}".encode('utf-8')
|
|
217
|
+
f"{title}|{source}|{mirror}|0|{password}|{imdb_id}|{hostname}".encode('utf-8')
|
|
218
218
|
).decode('utf-8')
|
|
219
219
|
link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
220
220
|
|
quasarr/search/sources/wd.py
CHANGED
|
@@ -128,7 +128,7 @@ def _parse_rows(
|
|
|
128
128
|
published = convert_to_rss_date(date_txt) if date_txt else one_hour_ago
|
|
129
129
|
|
|
130
130
|
payload = urlsafe_b64encode(
|
|
131
|
-
f"{title}|{source}|{mirror_filter}|{mb}|{password}|{imdb_id}".encode()
|
|
131
|
+
f"{title}|{source}|{mirror_filter}|{mb}|{password}|{imdb_id}|{hostname}".encode()
|
|
132
132
|
).decode()
|
|
133
133
|
download_link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
134
134
|
|
quasarr/search/sources/wx.py
CHANGED
|
@@ -96,7 +96,7 @@ def wx_feed(shared_state, start_time, request_from, mirror=None):
|
|
|
96
96
|
password = host.upper()
|
|
97
97
|
|
|
98
98
|
payload = urlsafe_b64encode(
|
|
99
|
-
f"{title}|{source}|{mirror}|{mb}|{password}|{imdb_id or ''}".encode("utf-8")
|
|
99
|
+
f"{title}|{source}|{mirror}|{mb}|{password}|{imdb_id or ''}|{hostname}".encode("utf-8")
|
|
100
100
|
).decode("utf-8")
|
|
101
101
|
link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
102
102
|
|
|
@@ -253,7 +253,8 @@ def wx_search(shared_state, start_time, request_from, search_string, mirror=None
|
|
|
253
253
|
password = f"www.{host}"
|
|
254
254
|
|
|
255
255
|
payload = urlsafe_b64encode(
|
|
256
|
-
f"{title}|{source}|{mirror}|0|{password}|{item_imdb_id or ''}".encode(
|
|
256
|
+
f"{title}|{source}|{mirror}|0|{password}|{item_imdb_id or ''}|{hostname}".encode(
|
|
257
|
+
"utf-8")
|
|
257
258
|
).decode("utf-8")
|
|
258
259
|
link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
259
260
|
|
|
@@ -309,7 +310,7 @@ def wx_search(shared_state, start_time, request_from, search_string, mirror=None
|
|
|
309
310
|
password = f"www.{host}"
|
|
310
311
|
|
|
311
312
|
payload = urlsafe_b64encode(
|
|
312
|
-
f"{release_title}|{release_source}|{mirror}|{release_size}|{password}|{item_imdb_id or ''}".encode(
|
|
313
|
+
f"{release_title}|{release_source}|{mirror}|{release_size}|{password}|{item_imdb_id or ''}|{hostname}".encode(
|
|
313
314
|
"utf-8")
|
|
314
315
|
).decode("utf-8")
|
|
315
316
|
link = f"{shared_state.values['internal_address']}/download/?payload={payload}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quasarr
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.1
|
|
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,11 +72,13 @@ 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).
|
|
77
82
|
|
|
78
83
|
> Authentication is optional but strongly recommended.
|
|
79
84
|
>
|
|
@@ -84,8 +89,9 @@ http://192.168.1.1:8191/v1
|
|
|
84
89
|
|
|
85
90
|
## JDownloader
|
|
86
91
|
|
|
87
|
-
> ⚠️ If using Docker:
|
|
88
|
-
> 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**!
|
|
89
95
|
> Matching only the external path is not sufficient.
|
|
90
96
|
|
|
91
97
|
1. Start and connect JDownloader to [My JDownloader](https://my.jdownloader.org)
|
|
@@ -94,7 +100,8 @@ http://192.168.1.1:8191/v1
|
|
|
94
100
|
<details>
|
|
95
101
|
<summary>Fresh install recommended</summary>
|
|
96
102
|
|
|
97
|
-
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.
|
|
98
105
|
|
|
99
106
|
</details>
|
|
100
107
|
|
|
@@ -102,7 +109,8 @@ Consider setting up a fresh JDownloader instance. Quasarr will modify JDownloade
|
|
|
102
109
|
|
|
103
110
|
## Radarr / Sonarr
|
|
104
111
|
|
|
105
|
-
> ⚠️ **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.
|
|
106
114
|
|
|
107
115
|
|
|
108
116
|
Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using your Quasarr URL and API Key.
|
|
@@ -118,9 +126,11 @@ Add Quasarr as both a **Newznab Indexer** and **SABnzbd Download Client** using
|
|
|
118
126
|
<summary>Restrict results to a specific mirror</summary>
|
|
119
127
|
|
|
120
128
|
Append the mirror name to your Newznab URL:
|
|
129
|
+
|
|
121
130
|
```
|
|
122
131
|
/api/dropbox/
|
|
123
132
|
```
|
|
133
|
+
|
|
124
134
|
Only releases with `dropbox` in a link will be returned. If the mirror isn't available, the release will fail.
|
|
125
135
|
|
|
126
136
|
</details>
|
|
@@ -136,27 +146,29 @@ Only releases with `dropbox` in a link will be returned. If the mirror isn't ava
|
|
|
136
146
|
|
|
137
147
|
### SABnzbd+ Downloader
|
|
138
148
|
|
|
139
|
-
| Setting
|
|
140
|
-
|
|
149
|
+
| Setting | Value |
|
|
150
|
+
|----------|----------------------------|
|
|
141
151
|
| URL/Port | Your Quasarr host and port |
|
|
142
|
-
| API Key
|
|
143
|
-
| Category | `docs`
|
|
152
|
+
| API Key | Your Quasarr API Key |
|
|
153
|
+
| Category | `docs` |
|
|
144
154
|
|
|
145
155
|
### Newznab Provider
|
|
146
156
|
|
|
147
|
-
| Setting | Value
|
|
148
|
-
|
|
149
|
-
| URL
|
|
150
|
-
| API
|
|
157
|
+
| Setting | Value |
|
|
158
|
+
|---------|----------------------|
|
|
159
|
+
| URL | Your Quasarr URL |
|
|
160
|
+
| API | Your Quasarr API Key |
|
|
151
161
|
|
|
152
162
|
### Fix Import & Processing
|
|
153
163
|
|
|
154
164
|
**Importing:**
|
|
165
|
+
|
|
155
166
|
- Enable `OpenLibrary api for book/author information`
|
|
156
167
|
- Set Primary Information Source to `OpenLibrary`
|
|
157
168
|
- Add to Import languages: `, Unknown` (German users: `, de, ger, de-DE`)
|
|
158
169
|
|
|
159
170
|
**Processing → Folders:**
|
|
171
|
+
|
|
160
172
|
- Add your Quasarr download path (typically `/downloads/Quasarr/`)
|
|
161
173
|
|
|
162
174
|
</details>
|
|
@@ -185,18 +197,18 @@ docker run -d \
|
|
|
185
197
|
ghcr.io/rix1337/quasarr:latest
|
|
186
198
|
```
|
|
187
199
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
+
| Parameter | Description |
|
|
201
|
+
|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
202
|
+
| `INTERNAL_ADDRESS` | **Required.** Internal URL so Radarr/Sonarr/LazyLibrarian can reach Quasarr. **Must include port.** |
|
|
203
|
+
| `EXTERNAL_ADDRESS` | Optional. External URL (e.g. reverse proxy). Always protect external access with authentication. |
|
|
204
|
+
| `DISCORD` | Optional. Discord webhook URL for notifications. |
|
|
205
|
+
| `HOSTNAMES` | Optional. URL to a hostname list to skip manual setup. Must be a publicly accessible `HTTP`/`HTTPS` link, point to a raw `.ini` or plain text file (not HTML or JSON), and contain at least one hostname per line in the format `ab = xyz`. |
|
|
206
|
+
| `USER` | Username to protect the web UI. |
|
|
207
|
+
| `PASS` | Password to protect the web UI. |
|
|
208
|
+
| `AUTH` | Authentication mode. Supported values: `form` or `basic`. |
|
|
209
|
+
| `SILENT` | Optional. If `True`, silences all Discord notifications except SponsorHelper error messages. |
|
|
210
|
+
| `DEBUG` | Optional. If `True`, enables debug logging. |
|
|
211
|
+
| `TZ` | Optional. Timezone. Incorrect values may cause HTTPS/SSL issues. |
|
|
200
212
|
|
|
201
213
|
# Manual setup
|
|
202
214
|
|
|
@@ -236,7 +248,8 @@ Most feature requests can be satisfied by:
|
|
|
236
248
|
- There are no hostname integrations in active development unless you see an open pull request
|
|
237
249
|
[here](https://github.com/rix1337/Quasarr/pulls).
|
|
238
250
|
- **Pull requests are welcome!** Especially for popular hostnames.
|
|
239
|
-
- 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)
|
|
240
253
|
- Always reach out on Discord before starting work on a new feature to prevent waste of time.
|
|
241
254
|
- Please follow the existing code style and project structure.
|
|
242
255
|
- Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new
|
|
@@ -258,18 +271,30 @@ Image access is limited to [active monthly GitHub sponsors](https://github.com/u
|
|
|
258
271
|
|
|
259
272
|
1. Start your [sponsorship](https://github.com/users/rix1337/sponsorship) first.
|
|
260
273
|
2. Open [GitHub Classic Token Settings](https://github.com/settings/tokens/new?type=classic)
|
|
261
|
-
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
274
|
+
3. Name it (e.g., `SponsorsHelper`) and choose unlimited expiration
|
|
262
275
|
4. Enable these scopes:
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
276
|
+
- `read:packages`
|
|
277
|
+
- `read:user`
|
|
278
|
+
- `read:org`
|
|
266
279
|
5. Click **Generate token** and copy it for the next steps
|
|
267
280
|
|
|
268
281
|
---
|
|
269
282
|
|
|
283
|
+
## 🔐 Quasarr API Key Setup
|
|
284
|
+
|
|
285
|
+
1. Open your Quasarr web UI in a browser
|
|
286
|
+
2. On the main page, expand **"Show API Settings"**
|
|
287
|
+
3. Copy the **API Key** value
|
|
288
|
+
4. Use this value for the `QUASARR_API_KEY` environment variable
|
|
289
|
+
|
|
290
|
+
> **Note:** The API key is required for SponsorsHelper to communicate securely with Quasarr. Without it, all requests
|
|
291
|
+
> will be rejected with a 401/403 error.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
270
295
|
## 🐋 Docker Login
|
|
271
296
|
|
|
272
|
-
⚠️ **
|
|
297
|
+
⚠️ **If not logged in, the image will not download.**
|
|
273
298
|
|
|
274
299
|
```bash
|
|
275
300
|
echo "GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
|
|
@@ -286,6 +311,7 @@ echo "GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
|
|
|
286
311
|
docker run -d \
|
|
287
312
|
--name='SponsorsHelper' \
|
|
288
313
|
-e 'QUASARR_URL'='http://192.168.0.1:8080' \
|
|
314
|
+
-e 'QUASARR_API_KEY'='your_quasarr_api_key_here' \
|
|
289
315
|
-e 'DEATHBYCAPTCHA_TOKEN'='2FMum5zuDBxMmbXDIsADnllEFl73bomydIpzo7...' \
|
|
290
316
|
-e 'GITHUB_TOKEN'='ghp_123.....456789' \
|
|
291
317
|
-e 'FLARESOLVERR_URL'='http://10.10.0.1:8191/v1' \
|
|
@@ -297,10 +323,13 @@ docker run -d \
|
|
|
297
323
|
ghcr.io/rix1337-sponsors/docker/helper:latest
|
|
298
324
|
```
|
|
299
325
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
326
|
+
| Parameter | Description |
|
|
327
|
+
|---------------------------------|---------------------------------------------------------------------------------------|
|
|
328
|
+
| `QUASARR_URL` | Local URL of Quasarr (e.g., `http://192.168.0.1:8080`) |
|
|
329
|
+
| `QUASARR_API_KEY` | Your Quasarr API key (found in Quasarr web UI under "API Settings") |
|
|
330
|
+
| `DEATHBYCAPTCHA_TOKEN` | [DeathByCaptcha](https://deathbycaptcha.com/register?refid=6184288242b) account token |
|
|
331
|
+
| `GITHUB_TOKEN` | Classic GitHub PAT with the scopes listed above |
|
|
332
|
+
| `FLARESOLVERR_URL` | Local URL of [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) |
|
|
333
|
+
| `NX_USER` / `NX_PASS` | Optional. NX account credentials |
|
|
334
|
+
| `JUNKIES_USER` / `JUNKIES_PASS` | Optional. Junkies account credentials |
|
|
335
|
+
| `JUNKIES_HOSTER` | Optional. Preferred hoster for Junkies links |
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
quasarr/__init__.py,sha256=cEtxN2AuwKvrxpIvAR7UL997VtYQ4iN3Eo3ZnP-WjZQ,14682
|
|
2
|
-
quasarr/api/__init__.py,sha256=
|
|
3
|
-
quasarr/api/arr/__init__.py,sha256=
|
|
2
|
+
quasarr/api/__init__.py,sha256=EEQSC7OKDyZYjMpzuz1T7bOFR9J54NhP_04XcULIvGM,16296
|
|
3
|
+
quasarr/api/arr/__init__.py,sha256=eEop8A5t936uT5azn4qz0bq1DMX84_Ja16wyleGFhyM,18495
|
|
4
4
|
quasarr/api/captcha/__init__.py,sha256=2pca9jnJMWZECHeAvKP9Lwsa3_GkVsvQEn7rof8Ep1s,73504
|
|
5
|
-
quasarr/api/config/__init__.py,sha256=
|
|
6
|
-
quasarr/api/packages/__init__.py,sha256=
|
|
7
|
-
quasarr/api/sponsors_helper/__init__.py,sha256=
|
|
5
|
+
quasarr/api/config/__init__.py,sha256=HDoqRv6El-e5iejVpwEz6ttySjDeiTQGom5D__nachU,13682
|
|
6
|
+
quasarr/api/packages/__init__.py,sha256=97GZOPmMUUDbEnNNGG0rodNXx_hylcQDQuW705IJqzc,22467
|
|
7
|
+
quasarr/api/sponsors_helper/__init__.py,sha256=vZIFGkc5HTRozjvi47tqxz6XpwDe8sDXVyeydc9k0Y0,6708
|
|
8
8
|
quasarr/api/statistics/__init__.py,sha256=NrBAjjHkIUE95HhPUGIfNqh2IqBqJ_zm00S90Y-Qnus,7038
|
|
9
|
-
quasarr/downloads/__init__.py,sha256=
|
|
9
|
+
quasarr/downloads/__init__.py,sha256=BUZpqWN3VnYSM8ZX4lC3MXVfShwx95I6FKz8Xl95T1s,16004
|
|
10
10
|
quasarr/downloads/linkcrypters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
quasarr/downloads/linkcrypters/al.py,sha256=mfUG5VclC_-FcGoZL9zHYD7dz7X_YpaNmoKkgiyl9-0,8812
|
|
12
|
-
quasarr/downloads/linkcrypters/filecrypt.py,sha256=
|
|
12
|
+
quasarr/downloads/linkcrypters/filecrypt.py,sha256=nUZCTmvKylaNk1KAXcYUV1FgQCVAKNE3roXCNaqHLYA,17057
|
|
13
13
|
quasarr/downloads/linkcrypters/hide.py,sha256=H4hJWhENkszV1u_ULC3aOW2fu9infC-Nv-7wx2DYqrA,6266
|
|
14
14
|
quasarr/downloads/packages/__init__.py,sha256=zDMhLJz-16r4WSv2zzSlcBJEFrIUky2dRDkQaQLVSXY,32055
|
|
15
15
|
quasarr/downloads/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -30,10 +30,10 @@ quasarr/downloads/sources/sl.py,sha256=jWprFt1Hew1T67fB1O_pc9YWgc3NVh30KXSwSyS50
|
|
|
30
30
|
quasarr/downloads/sources/wd.py,sha256=kr1I1uJa7ZkEPH2LA6alXTJEn0LBPgLCwIh3wLXwCv8,4447
|
|
31
31
|
quasarr/downloads/sources/wx.py,sha256=NzNNeqVL6sKkFKyreW-oerrreb5QP2tUGHTWHM5pMCU,7013
|
|
32
32
|
quasarr/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
quasarr/providers/auth.py,sha256=
|
|
33
|
+
quasarr/providers/auth.py,sha256=OauhF7yxdNGeRSiVVM4z_vDvnKqbZoQsJLuVwaP8Tq8,9170
|
|
34
34
|
quasarr/providers/cloudflare.py,sha256=9iet8runc2VHVcA0_2z1qkrL6D5JKqz1ndktqCgsJFs,7873
|
|
35
35
|
quasarr/providers/html_images.py,sha256=2n82gTJg7E7q2ytPFN4FWouYTIlmPYu_iHFtG7uktIA,28482
|
|
36
|
-
quasarr/providers/html_templates.py,sha256=
|
|
36
|
+
quasarr/providers/html_templates.py,sha256=63IsVy_XHSIE3WDbT4fffJ5G6x-uthjo3SpUIsR5xe8,12342
|
|
37
37
|
quasarr/providers/imdb_metadata.py,sha256=10L4kZkt6Fg0HGdNcc6KCtIQHRYEqdarLyaMVN6mT8w,4843
|
|
38
38
|
quasarr/providers/jd_cache.py,sha256=mSvMrs3UwTn3sd9yGSJKGT-qwYeyYKC_l8whpXTVn7s,13530
|
|
39
39
|
quasarr/providers/log.py,sha256=_g5RwtfuksARXnvryhsngzoJyFcNzj6suqd3ndqZM0Y,313
|
|
@@ -43,7 +43,7 @@ quasarr/providers/obfuscated.py,sha256=9z8nwcLFezazsfAgOz4S679VJJMe1AP-6odtlILDk
|
|
|
43
43
|
quasarr/providers/shared_state.py,sha256=5a_ZbGqTvt4-OqBt2a1WtR9I5J_Ky7IlkEY8EGtKVu8,30646
|
|
44
44
|
quasarr/providers/statistics.py,sha256=cEQixYnDMDqtm5wWe40E_2ucyo4mD0n3SrfelhQi1L8,6452
|
|
45
45
|
quasarr/providers/utils.py,sha256=mcUPbcXMsLmrYv0CTZO5a9aOt2-JLyL3SZxu6N8OyjU,12075
|
|
46
|
-
quasarr/providers/version.py,sha256=
|
|
46
|
+
quasarr/providers/version.py,sha256=ZZxcvgMXMkDOE3kF5zVbXSqHbV4zWzTPnW6HtFQhbRg,4003
|
|
47
47
|
quasarr/providers/web_server.py,sha256=AYd0KRxdDWMBr87BP8wlSMuL4zZo0I_rY-vHBai6Pfg,1688
|
|
48
48
|
quasarr/providers/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
49
|
quasarr/providers/sessions/al.py,sha256=WXue9LaT4y0BzsbKtHbN6bb_72c4AZZWR9NP-vg9-cg,12462
|
|
@@ -52,30 +52,30 @@ quasarr/providers/sessions/dl.py,sha256=6tch4QzkdwbU6XoNQE22T5nz5eoKlBVGa0eyjXJH
|
|
|
52
52
|
quasarr/providers/sessions/nx.py,sha256=vZDVnu4sKizx1wyKmrTr8itGURSEIVOtzMI5efjF6Oo,2924
|
|
53
53
|
quasarr/search/__init__.py,sha256=V59LIiC75mQvasDdTjiWZRbPD1jXO1lhXlKeNVX0iOc,5726
|
|
54
54
|
quasarr/search/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
quasarr/search/sources/al.py,sha256=
|
|
56
|
-
quasarr/search/sources/by.py,sha256=
|
|
57
|
-
quasarr/search/sources/dd.py,sha256=
|
|
58
|
-
quasarr/search/sources/dj.py,sha256=
|
|
59
|
-
quasarr/search/sources/dl.py,sha256=
|
|
60
|
-
quasarr/search/sources/dt.py,sha256=
|
|
61
|
-
quasarr/search/sources/dw.py,sha256
|
|
62
|
-
quasarr/search/sources/fx.py,sha256=
|
|
63
|
-
quasarr/search/sources/he.py,sha256=
|
|
64
|
-
quasarr/search/sources/mb.py,sha256=
|
|
65
|
-
quasarr/search/sources/nk.py,sha256=
|
|
66
|
-
quasarr/search/sources/nx.py,sha256=
|
|
67
|
-
quasarr/search/sources/sf.py,sha256=
|
|
68
|
-
quasarr/search/sources/sj.py,sha256=
|
|
69
|
-
quasarr/search/sources/sl.py,sha256=
|
|
70
|
-
quasarr/search/sources/wd.py,sha256=
|
|
71
|
-
quasarr/search/sources/wx.py,sha256=
|
|
55
|
+
quasarr/search/sources/al.py,sha256=HEAfmILraySwon8-z7gcSnIBDoSSH9ALaPPLr9IgSm0,17163
|
|
56
|
+
quasarr/search/sources/by.py,sha256=uwkbRURKcJ16UtlNZdAMcY5T4DYnnHa3p9RnGFLYYLs,7926
|
|
57
|
+
quasarr/search/sources/dd.py,sha256=AYDMI_y0HoWWuNfc6FUogqcq1KUWj-iMRAnHY99Nh14,4925
|
|
58
|
+
quasarr/search/sources/dj.py,sha256=sDAq-X-SY-zk9cefz8w0yjzgIqQ2eN4GSvW4sjyueoY,7096
|
|
59
|
+
quasarr/search/sources/dl.py,sha256=IQZTeo7elLtb4aOvP6xtohEoirntH1wvvyrz1QYDG2Q,12791
|
|
60
|
+
quasarr/search/sources/dt.py,sha256=sA5zfoHiZZboqH_CdwGzkBIU3QL2Qib4_e04XztMqzs,9591
|
|
61
|
+
quasarr/search/sources/dw.py,sha256=huDDEETZRLopSpsOmn9BarSbIyq4keANcHu9LjxPcag,7593
|
|
62
|
+
quasarr/search/sources/fx.py,sha256=2VI23w5_3N_bMiv8qomZDmy5UEH6afAgsKGh0_T-v_E,8678
|
|
63
|
+
quasarr/search/sources/he.py,sha256=IbnpY_JW8Grlc02npatazQSAdt1WgB44mJDyrYF2MqA,6643
|
|
64
|
+
quasarr/search/sources/mb.py,sha256=r10iOyeQdRfXSLcG-D4kgcZEXJCzgf-d4n-6i5VX5KI,7760
|
|
65
|
+
quasarr/search/sources/nk.py,sha256=jT-mmpcNbaNuTsf0ORNvDqXhmN_MAvuRJfpE_7NHyhg,6567
|
|
66
|
+
quasarr/search/sources/nx.py,sha256=jxN_OZbJdOh2OyWhhcn7QPJ6MVkaTVGDCJ_n5g3H4hA,6992
|
|
67
|
+
quasarr/search/sources/sf.py,sha256=8wg6rGUqAbOMMx7ZdkW8fd_08hxFEH_2PTk2QOb7ebc,14941
|
|
68
|
+
quasarr/search/sources/sj.py,sha256=WiqGzd8-PrxNYa-3x9eFUiZ9bmyb3sWSXL90qvBp3_A,7096
|
|
69
|
+
quasarr/search/sources/sl.py,sha256=nJXxp9Hou77QoZD3nNisaEniNINE0Q-IeXhVUceT9HA,9485
|
|
70
|
+
quasarr/search/sources/wd.py,sha256=CfcGt10dyDKTEduV12vJaipDMl9TfDoKsqPiKPFRVcE,7551
|
|
71
|
+
quasarr/search/sources/wx.py,sha256=UyXD_QOudS1qzrfNvFddnCC-1oRMLETzW5LMTpCPEZg,13912
|
|
72
72
|
quasarr/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
quasarr/storage/config.py,sha256=SSTgIce2FVYoVTK_6OCU3msknhxuLA3EC4Kcrrf_dxQ,6378
|
|
74
74
|
quasarr/storage/setup.py,sha256=eXtgUqMacbaUDy-dszPtT15O9lJKSO1eI3v0jGjMiUA,42361
|
|
75
75
|
quasarr/storage/sqlite_database.py,sha256=yMqFQfKf0k7YS-6Z3_7pj4z1GwWSXJ8uvF4IydXsuTE,3554
|
|
76
|
-
quasarr-2.
|
|
77
|
-
quasarr-2.
|
|
78
|
-
quasarr-2.
|
|
79
|
-
quasarr-2.
|
|
80
|
-
quasarr-2.
|
|
81
|
-
quasarr-2.
|
|
76
|
+
quasarr-2.1.1.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
|
|
77
|
+
quasarr-2.1.1.dist-info/METADATA,sha256=YLglp7zSo6vP5mc6eoP_3ZAzPVB5P_jKT9akmWHydAk,14914
|
|
78
|
+
quasarr-2.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
79
|
+
quasarr-2.1.1.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
|
|
80
|
+
quasarr-2.1.1.dist-info/top_level.txt,sha256=dipJdaRda5ruTZkoGfZU60bY4l9dtPlmOWwxK_oGSF0,8
|
|
81
|
+
quasarr-2.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|