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.

@@ -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
 
@@ -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
 
@@ -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("utf-8")
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.0.0
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 installed in your browser.
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 FlareSolverr during setup and configure it later via the web UI.
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 community-maintained lists are available:
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) (login required).
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 path mappings**!
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 Radarr/Sonarr/LazyLibrarian integration.
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 shows set to Anime/Absolute.
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 | Value |
140
- |---------|-------|
149
+ | Setting | Value |
150
+ |----------|----------------------------|
141
151
  | URL/Port | Your Quasarr host and port |
142
- | API Key | Your Quasarr 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 | Your Quasarr URL |
150
- | API | Your Quasarr API Key |
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
- * `INTERNAL_ADDRESS` is required so Radarr/Sonarr/LazyLibrarian can reach Quasarr. **Must** include port!
189
- * `EXTERNAL_ADDRESS` is optional and helpful if using a reverse proxy. Always protect external access with basic auth!
190
- * `DISCORD` is optional and must be a valid Discord webhook URL.
191
- * `HOSTNAMES` is optional and allows skipping the manual hostname step during setup.
192
- * Must be a publicly available `HTTP` or `HTTPs` link
193
- * Must be a raw `.ini` / text file (not HTML or JSON)
194
- * Must contain at least one valid Hostname per line `ab = xyz`
195
- * `USER` / `PASS` are credentials to protect the web UI
196
- * `AUTH` is the authentication mode (`form` or `basic`)
197
- * `SILENT` is optional and silences all discord notifications except for error messages from SponsorsHelper if `True`.
198
- * `DEBUG` is optional and enables debug logging if `True`.
199
- * `TZ` is optional, wrong timezone can cause HTTPS/SSL issues
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 in [/docker/dev-setup.md](https://github.com/rix1337/Quasarr/blob/main/docker/dev-setup.md)
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
- - `read:packages`
264
- - `read:user`
265
- - `read:org`
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
- ⚠️ **Before logging in, the image will not download.**
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
- * `QUASARR_URL` → Local URL of Quasarr
301
- * `DEATHBYCAPTCHA_TOKEN` → [DeathByCaptcha](https://deathbycaptcha.com/register?refid=6184288242b) account token
302
- * `GITHUB_TOKEN` Classic GitHub PAT with the scopes listed above
303
- * `FLARESOLVERR_URL` Local URL of [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) - required!
304
- * `NX_USER` / `NX_PASS` NX account credentials
305
- * `JUNKIES_USER` / `JUNKIES_PASS` Junkies account credentials
306
- * `JUNKIES_HOSTER` Preferred hoster for Junkies links
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=CejYHdwOf2hkk4HQuBEjfU4Tqg3fKn3kIOZUkaqzERk,16321
3
- quasarr/api/arr/__init__.py,sha256=BNEugX1hUF5kn8MIgdoyE1HeyabpojjxAa6RlXSem74,17518
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=m0DrbanI0lK_PaZA6ey3osj5l1_tMjjYjoFKkzrdPu0,13692
6
- quasarr/api/packages/__init__.py,sha256=22XTb5ovtFFt4EEAle9vhC35u3hl5VhJIZpvUv-OF9w,20642
7
- quasarr/api/sponsors_helper/__init__.py,sha256=aXkZJmqxM5q04V1pnC__FANL9vm_gLtOWONO6AVvs6s,6465
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=YUO1q9FelAYwTPNCNza6GTOwjJcWl5E2iqsHFj1jugQ,12122
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=He8b7HjoPA-LmRwVwY0l_5JAVlJ3sYOXs5tcWXooqI4,17055
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=hqSVaHBljf4yTx8JVqfxmi65T5Q36aewUmqfJbHtCNg,8730
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=YMwdi7l_tHL0-qsUnwi4aPrE5Q6ZDxbjsPIfr-6uemY,10265
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=KkR4lHopacRigrcdM-fst1j72YqiWFcE2T2Yk-aBhTo,4003
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=AmTQDc6voMXh8Sh_IrJX_3gQ5UYKMri-aGaE-wbI3ik,17152
56
- quasarr/search/sources/by.py,sha256=vnE3L43V8suPhPHcn6LVxKO1e3mJaDRqIIMg2BGxr_g,7915
57
- quasarr/search/sources/dd.py,sha256=pVpdHLZlw2CYklBf_YLkeDWbCNsDLR2iecccR2c2RyI,4889
58
- quasarr/search/sources/dj.py,sha256=2HIdg5ddXP4DtjHlyXmuQ8QVhOPt3Hh2kL4uxhFJK-8,7074
59
- quasarr/search/sources/dl.py,sha256=kf8FPUn7BIjolDt5ApNDZpjTSMxkcz9xbHrJ_8c-qhg,12517
60
- quasarr/search/sources/dt.py,sha256=m1kQ7mC43QlWZyVIkw-OXJGjWiT9IbQuFtHWiR8CjhA,9580
61
- quasarr/search/sources/dw.py,sha256=-daUTBTA5izeatrE7TITVlnzNCQ5HfovYMMZ8UTM-2o,7636
62
- quasarr/search/sources/fx.py,sha256=JAyD727yDAFIP14bzfi2SkX9paysXGkQdIybShYtdko,8596
63
- quasarr/search/sources/he.py,sha256=niow7YCqgEHD3PiushIED5EkY6E8ItBxKXzWdSCUq4g,6632
64
- quasarr/search/sources/mb.py,sha256=owwH5T0Yh7dwYRqMVQ0ecAdDlQ5CwLwWkTcig2ePggI,7749
65
- quasarr/search/sources/nk.py,sha256=lRBGqigCpm1fCnb3WlaLHkuu9kYhERI9WIUwvRNJKsI,6556
66
- quasarr/search/sources/nx.py,sha256=JdRLA2pWS05m5_ARU-RxAoaBW-8YWEoUN2RebyD2ejo,6981
67
- quasarr/search/sources/sf.py,sha256=3z_fvcafOh7U4D_vgq9yC8ktKeazI9fiAi96hCeXb5Q,14869
68
- quasarr/search/sources/sj.py,sha256=JRzoCDohClmGH7aXOz82KVUt6pZsZoBDBXvwvQrAijM,7074
69
- quasarr/search/sources/sl.py,sha256=5e5S7JvdbNOc2EthyOkfC4aTpG8O7fn4WS2O3_EXjnM,9463
70
- quasarr/search/sources/wd.py,sha256=O02j3irSlVw2qES82g_qHuavAk-njjSRH1dHSCnOUas,7540
71
- quasarr/search/sources/wx.py,sha256=zlRvg7Ls-DFRo4sUBMRAXZRMfE2mnaXCkzP7pu53pIY,13842
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.0.0.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
77
- quasarr-2.0.0.dist-info/METADATA,sha256=fAV2_D6qwGXSdtXQT5AhiNX55XbA8zIlBhS0DUC_NMY,11391
78
- quasarr-2.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
79
- quasarr-2.0.0.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
80
- quasarr-2.0.0.dist-info/top_level.txt,sha256=dipJdaRda5ruTZkoGfZU60bY4l9dtPlmOWwxK_oGSF0,8
81
- quasarr-2.0.0.dist-info/RECORD,,
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,,