quasarr 1.21.2__py3-none-any.whl → 1.22.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.
- quasarr/api/captcha/__init__.py +103 -39
- quasarr/downloads/sources/dl.py +2 -0
- quasarr/providers/obfuscated.py +15 -0
- quasarr/providers/version.py +1 -1
- quasarr/search/sources/wx.py +1 -6
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/METADATA +1 -1
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/RECORD +11 -11
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/WHEEL +0 -0
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/entry_points.txt +0 -0
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/licenses/LICENSE +0 -0
- {quasarr-1.21.2.dist-info → quasarr-1.22.0.dist-info}/top_level.txt +0 -0
quasarr/api/captcha/__init__.py
CHANGED
|
@@ -16,7 +16,8 @@ from quasarr.downloads.packages import delete_package
|
|
|
16
16
|
from quasarr.providers import shared_state
|
|
17
17
|
from quasarr.providers.html_templates import render_button, render_centered_html
|
|
18
18
|
from quasarr.providers.log import info, debug
|
|
19
|
-
from quasarr.providers.obfuscated import captcha_js, captcha_values, filecrypt_user_js, junkies_user_js
|
|
19
|
+
from quasarr.providers.obfuscated import captcha_js, captcha_values, filecrypt_user_js, junkies_user_js, \
|
|
20
|
+
keeplinks_user_js
|
|
20
21
|
from quasarr.providers.statistics import StatsHelper
|
|
21
22
|
|
|
22
23
|
|
|
@@ -87,9 +88,18 @@ def setup_captcha_routes(app):
|
|
|
87
88
|
for link in prioritized_links
|
|
88
89
|
)
|
|
89
90
|
|
|
91
|
+
# KeepLinks uses nested arrays like FileCrypt: [["url", "mirror"]]
|
|
92
|
+
has_keeplinks_links = any(
|
|
93
|
+
("keeplinks." in link[0] if isinstance(link, (list, tuple)) else "keeplinks." in link)
|
|
94
|
+
for link in prioritized_links
|
|
95
|
+
)
|
|
96
|
+
|
|
90
97
|
if has_junkies_links:
|
|
91
98
|
debug("Redirecting to Junkies CAPTCHA")
|
|
92
99
|
redirect(f"/captcha/junkies?data={quote(encoded_payload)}")
|
|
100
|
+
elif has_keeplinks_links:
|
|
101
|
+
debug("Redirecting to KeepLinks CAPTCHA")
|
|
102
|
+
redirect(f"/captcha/keeplinks?data={quote(encoded_payload)}")
|
|
93
103
|
elif filecrypt_session:
|
|
94
104
|
debug(f'Redirecting to circle CAPTCHA')
|
|
95
105
|
redirect(f"/captcha/circle?data={quote(encoded_payload)}")
|
|
@@ -111,45 +121,24 @@ def setup_captcha_routes(app):
|
|
|
111
121
|
except Exception as e:
|
|
112
122
|
return {"error": f"Failed to decode payload: {str(e)}"}
|
|
113
123
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
payload = decode_payload()
|
|
124
|
+
def render_userscript_section(url, package_id, title, password, provider_type="junkies"):
|
|
125
|
+
"""Render the userscript UI section for Junkies or KeepLinks pages
|
|
117
126
|
|
|
118
|
-
|
|
119
|
-
return render_centered_html(f'''<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
120
|
-
<p>{payload["error"]}</p>
|
|
121
|
-
<p>
|
|
122
|
-
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
123
|
-
</p>''')
|
|
127
|
+
This is the MAIN solution for these providers (not a bypass/fallback).
|
|
124
128
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
<!DOCTYPE html>
|
|
133
|
-
<html>
|
|
134
|
-
<body>
|
|
135
|
-
<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
136
|
-
<p><b>Package:</b> {title}</p>
|
|
137
|
-
{render_junkies_section(url, package_id, title, password)}
|
|
138
|
-
<p>
|
|
139
|
-
{render_button("Delete Package", "secondary", {"onclick": f"location.href='/captcha/delete/{package_id}'"})}
|
|
140
|
-
</p>
|
|
141
|
-
<p>
|
|
142
|
-
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
143
|
-
</p>
|
|
144
|
-
|
|
145
|
-
</body>
|
|
146
|
-
</html>""")
|
|
129
|
+
Args:
|
|
130
|
+
url: The URL to open with transfer params
|
|
131
|
+
package_id: Package identifier
|
|
132
|
+
title: Package title
|
|
133
|
+
password: Package password
|
|
134
|
+
provider_type: Either "junkies" or "keeplinks"
|
|
135
|
+
"""
|
|
147
136
|
|
|
148
|
-
|
|
149
|
-
|
|
137
|
+
provider_name = "Junkies" if provider_type == "junkies" else "KeepLinks"
|
|
138
|
+
userscript_url = f"/captcha/{provider_type}.user.js"
|
|
139
|
+
storage_key = f"hide{provider_name}SetupInstructions"
|
|
150
140
|
|
|
151
141
|
# Generate userscript URL with transfer params
|
|
152
|
-
# Get base URL of current request
|
|
153
142
|
base_url = request.urlparts.scheme + '://' + request.urlparts.netloc
|
|
154
143
|
transfer_url = f"{base_url}/captcha/quick-transfer"
|
|
155
144
|
|
|
@@ -170,7 +159,7 @@ def setup_captcha_routes(app):
|
|
|
170
159
|
<a href="https://www.tampermonkey.net/" target="_blank" rel="noopener noreferrer">1. Install Tampermonkey</a>
|
|
171
160
|
</p>
|
|
172
161
|
<p style="margin-top: 0; margin-bottom: 12px;">
|
|
173
|
-
<a href="
|
|
162
|
+
<a href="{userscript_url}" target="_blank">2. Install this userscript</a>
|
|
174
163
|
</p>
|
|
175
164
|
<p style="margin-top: 0;">
|
|
176
165
|
<button id="hide-setup-btn" type="button" style="background: #444; color: #fff; border: 1px solid #666; padding: 6px 12px; border-radius: 4px; cursor: pointer;">
|
|
@@ -203,7 +192,7 @@ def setup_captcha_routes(app):
|
|
|
203
192
|
</div>
|
|
204
193
|
<script>
|
|
205
194
|
// Handle setup instructions hide/show
|
|
206
|
-
const hideSetup = localStorage.getItem('
|
|
195
|
+
const hideSetup = localStorage.getItem('{storage_key}');
|
|
207
196
|
const setupBox = document.getElementById('setup-instructions');
|
|
208
197
|
const showLink = document.getElementById('show-instructions-link');
|
|
209
198
|
|
|
@@ -214,7 +203,7 @@ def setup_captcha_routes(app):
|
|
|
214
203
|
|
|
215
204
|
// Hide setup instructions
|
|
216
205
|
document.getElementById('hide-setup-btn').addEventListener('click', function() {{
|
|
217
|
-
localStorage.setItem('
|
|
206
|
+
localStorage.setItem('{storage_key}', 'true');
|
|
218
207
|
setupBox.style.display = 'none';
|
|
219
208
|
showLink.style.display = 'block';
|
|
220
209
|
}});
|
|
@@ -222,13 +211,82 @@ def setup_captcha_routes(app):
|
|
|
222
211
|
// Show setup instructions again
|
|
223
212
|
document.getElementById('show-setup-btn').addEventListener('click', function(e) {{
|
|
224
213
|
e.preventDefault();
|
|
225
|
-
localStorage.setItem('
|
|
214
|
+
localStorage.setItem('{storage_key}', 'false');
|
|
226
215
|
setupBox.style.display = 'block';
|
|
227
216
|
showLink.style.display = 'none';
|
|
228
217
|
}});
|
|
229
218
|
</script>
|
|
230
219
|
'''
|
|
231
220
|
|
|
221
|
+
@app.get("/captcha/junkies")
|
|
222
|
+
def serve_junkies_captcha():
|
|
223
|
+
payload = decode_payload()
|
|
224
|
+
|
|
225
|
+
if "error" in payload:
|
|
226
|
+
return render_centered_html(f'''<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
227
|
+
<p>{payload["error"]}</p>
|
|
228
|
+
<p>
|
|
229
|
+
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
230
|
+
</p>''')
|
|
231
|
+
|
|
232
|
+
package_id = payload.get("package_id")
|
|
233
|
+
title = payload.get("title")
|
|
234
|
+
password = payload.get("password")
|
|
235
|
+
urls = payload.get("links")
|
|
236
|
+
url = urls[0]
|
|
237
|
+
|
|
238
|
+
return render_centered_html(f"""
|
|
239
|
+
<!DOCTYPE html>
|
|
240
|
+
<html>
|
|
241
|
+
<body>
|
|
242
|
+
<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
243
|
+
<p><b>Package:</b> {title}</p>
|
|
244
|
+
{render_userscript_section(url, package_id, title, password, "junkies")}
|
|
245
|
+
<p>
|
|
246
|
+
{render_button("Delete Package", "secondary", {"onclick": f"location.href='/captcha/delete/{package_id}'"})}
|
|
247
|
+
</p>
|
|
248
|
+
<p>
|
|
249
|
+
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
250
|
+
</p>
|
|
251
|
+
|
|
252
|
+
</body>
|
|
253
|
+
</html>""")
|
|
254
|
+
|
|
255
|
+
@app.get("/captcha/keeplinks")
|
|
256
|
+
def serve_keeplinks_captcha():
|
|
257
|
+
payload = decode_payload()
|
|
258
|
+
|
|
259
|
+
if "error" in payload:
|
|
260
|
+
return render_centered_html(f'''<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
261
|
+
<p>{payload["error"]}</p>
|
|
262
|
+
<p>
|
|
263
|
+
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
264
|
+
</p>''')
|
|
265
|
+
|
|
266
|
+
package_id = payload.get("package_id")
|
|
267
|
+
title = payload.get("title")
|
|
268
|
+
password = payload.get("password")
|
|
269
|
+
urls = payload.get("links")
|
|
270
|
+
# KeepLinks uses nested arrays like FileCrypt: [["url", "mirror"]]
|
|
271
|
+
url = urls[0][0] if isinstance(urls[0], (list, tuple)) else urls[0]
|
|
272
|
+
|
|
273
|
+
return render_centered_html(f"""
|
|
274
|
+
<!DOCTYPE html>
|
|
275
|
+
<html>
|
|
276
|
+
<body>
|
|
277
|
+
<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
|
|
278
|
+
<p><b>Package:</b> {title}</p>
|
|
279
|
+
{render_userscript_section(url, package_id, title, password, "keeplinks")}
|
|
280
|
+
<p>
|
|
281
|
+
{render_button("Delete Package", "secondary", {"onclick": f"location.href='/captcha/delete/{package_id}'"})}
|
|
282
|
+
</p>
|
|
283
|
+
<p>
|
|
284
|
+
{render_button("Back", "secondary", {"onclick": "location.href='/'"})}
|
|
285
|
+
</p>
|
|
286
|
+
|
|
287
|
+
</body>
|
|
288
|
+
</html>""")
|
|
289
|
+
|
|
232
290
|
@app.get('/captcha/junkies.user.js')
|
|
233
291
|
def serve_junkies_user_js():
|
|
234
292
|
sj = shared_state.values["config"]("Hostnames").get("sj")
|
|
@@ -238,6 +296,12 @@ def setup_captcha_routes(app):
|
|
|
238
296
|
response.content_type = 'application/javascript'
|
|
239
297
|
return content
|
|
240
298
|
|
|
299
|
+
@app.get('/captcha/keeplinks.user.js')
|
|
300
|
+
def serve_keeplinks_user_js():
|
|
301
|
+
content = keeplinks_user_js()
|
|
302
|
+
response.content_type = 'application/javascript'
|
|
303
|
+
return content
|
|
304
|
+
|
|
241
305
|
@app.get('/captcha/filecrypt.user.js')
|
|
242
306
|
def serve_filecrypt_user_js():
|
|
243
307
|
content = filecrypt_user_js()
|
quasarr/downloads/sources/dl.py
CHANGED
|
@@ -118,6 +118,8 @@ def extract_links_and_password_from_post(post_content, host):
|
|
|
118
118
|
crypter_type = "filecrypt"
|
|
119
119
|
elif re.search(r'hide\.', href, re.IGNORECASE):
|
|
120
120
|
crypter_type = "hide"
|
|
121
|
+
elif re.search(r'keeplinks\.', href, re.IGNORECASE):
|
|
122
|
+
crypter_type = "keeplinks"
|
|
121
123
|
else:
|
|
122
124
|
debug(f"Unsupported link crypter/hoster found: {href}")
|
|
123
125
|
debug(f"Currently only filecrypt and hide are supported. Other crypters may be added later.")
|
quasarr/providers/obfuscated.py
CHANGED
|
@@ -49,3 +49,18 @@ def filecrypt_user_js():
|
|
|
49
49
|
|
|
50
50
|
function _0x5e74(_0x5130a2,_0x4a32ed){_0x5130a2=_0x5130a2-0x96;const _0x3d2762=_0x3d27();let _0x5e74b=_0x3d2762[_0x5130a2];return _0x5e74b;}function _0x3d27(){const _0x2e0fa5=['value','search','marginTop','button.dlcdownload','🛡️\x20[FC-Blocker]\x20Initializing\x20script\x20blocker','✅\x20[FC-Helper]\x20Built\x20DLC\x20link:','replace','toLowerCase','type','length','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<title>','📋\x20Copy\x20All','[FC-Blocker]\x20🛑\x20createElement(\x22script\x22)\x20blocked,\x20returning\x20dummy','\x20link(s)\x20directly\x20to\x20your\x20Quasarr\x20instance</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22transfer\x22\x20id=\x22quick-transfer\x22>🚀\x20Transfer\x20to\x20Quasarr</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','style','/DLC/','✅\x20[FC-Helper]\x20Found\x20DLC\x20secret\x20in\x20data-jcyi:','filter','forEach','_blank','addEventListener','episode','then','onclick','❌\x20[FC-Helper]\x20Could\x20not\x20extract\x20DLC\x20link:','enc','</h1>','25752qcmEAf','🔓\x20[FC-Helper]\x20Encrypted\x20data\x20found,\x20loading\x20libraries...','CBC','click','https://','open','[FC-Blocker]\x20🚫\x20Blocked\x20dynamic\x20script:','quick-transfer','readOnly','AES','.dlc','100%','rows','pkg_id','✅\x20Copied!','ℹ️\x20[FC-Helper]\x20No\x20password\x20provided\x20in\x20params,\x20skipping\x20auto-fill','data-','split','2559eXMpgP','❌\x20[FC-Helper]\x20CryptoJS\x20not\x20available','join','textarea','trim','_fcsecret','log','documentElement','3172CcusSo','965nOPXPW','prototype','getAttribute','pkg_pass','loading','text','createElement','decrypt','src','FileCrypt\x20Package','link-entry','onload','getElementById','warn','</title>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x202em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#f9f9f9;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#333;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20h1\x20{\x20font-size:\x201.5em;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2080%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-right:\x200.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.5em\x201em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#007bff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x205px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#0056b3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button.transfer\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#6f42c1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x201.1em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.7em\x201.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x201em\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button.transfer:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#5a32a3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20div.link-entry\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-bottom:\x201em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#transfer-section\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x202em\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x201.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#e7f3ff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#6f42c1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x22\x20set\x20and\x20submitted','head','observe','appendChild','58347wpzrbr','transfer-section','?pkg_id=','clipboard','[inline]','transfer_url','data-jcyi','div','❌\x20[FC-Helper]\x20No\x20encrypted\x20data\x20or\x20DLC\x20link\x20found','body','https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.2.0/crypto-js.min.js','1838000NBHktQ','https://v2.cutcaptcha.net','281392ZysajP','input','1em','error','get','✅\x20[FC-Helper]\x20Found\x20DLC\x20secret\x20in\x20','attributes','innerHTML','5734701LtLdrq','&links=','✅\x20[FC-Blocker]\x20Script\x20blocker\x20initialized','📦\x20[FC-Helper]\x20Looking\x20for\x20DLC\x20button...','11208258OWbhyG','parse','readyState','some','📃\x20[FC-Helper]\x20Showing\x20','season','Hex','https://cdnjs.cloudflare.com','title','matchAll','name','parentNode','❌\x20[FC-Helper]\x20Pako\x20failed\x20to\x20load:','script','DOMContentLoaded','startsWith','🔑\x20[FC-Helper]\x20Checking\x20for\x20password\x20input...','✅\x20[FC-Helper]\x20Pako\x20loaded','📋\x20Copy','tagName','✅\x20[FC-Helper]\x20Password\x20\x22','map','addedNodes','width','📥\x20Download\x20DLC','button','encode','pad','className','querySelector','location','Utf8','textContent','getElementsByTagName','test','call','\x20final\x20link(s)','remove'];_0x3d27=function(){return _0x2e0fa5;};return _0x3d27();}(function(_0x3cfdc9,_0x56941a){const _0x3509b4=_0x5e74,_0x5efe9b=_0x3cfdc9();while(!![]){try{const _0x2fe0a7=parseInt(_0x3509b4(0xc4))/0x1+-parseInt(_0x3509b4(0xd1))/0x2+-parseInt(_0x3509b4(0xa8))/0x3*(-parseInt(_0x3509b4(0xb0))/0x4)+parseInt(_0x3509b4(0xb1))/0x5*(-parseInt(_0x3509b4(0x96))/0x6)+-parseInt(_0x3509b4(0xd9))/0x7+parseInt(_0x3509b4(0xcf))/0x8+parseInt(_0x3509b4(0xdd))/0x9;if(_0x2fe0a7===_0x56941a)break;else _0x5efe9b['push'](_0x5efe9b['shift']());}catch(_0xad83e5){_0x5efe9b['push'](_0x5efe9b['shift']());}}}(_0x3d27,0x66ed9),(function(){'use strict';const _0x4cf4a5=_0x5e74;console['log'](_0x4cf4a5(0x107));const _0x2bc224=[_0x4cf4a5(0xd0),_0x4cf4a5(0xe4)],_0x2d8b2a=_0x412a57=>{const _0x47de01=_0x4cf4a5;if(!_0x412a57[_0x47de01(0xb9)])return!![];return _0x2bc224[_0x47de01(0xe0)](_0x326384=>_0x412a57['src']['startsWith'](_0x326384));},_0x4b1d2b=()=>{const _0x40f554=_0x4cf4a5,_0x4d7ef9=document[_0x40f554(0xfe)](_0x40f554(0xea));for(let _0x442732=_0x4d7ef9[_0x40f554(0x10c)]-0x1;_0x442732>=0x0;_0x442732--){const _0x17c42f=_0x4d7ef9[_0x442732];!_0x2d8b2a(_0x17c42f)&&(console[_0x40f554(0xbe)]('[FC-Blocker]\x20❌\x20Removing\x20script:',_0x17c42f[_0x40f554(0xb9)]||_0x40f554(0xc8)),_0x17c42f[_0x40f554(0x102)]());}},_0xe355e8=new MutationObserver(_0x2f26c3=>{const _0x5c4b8a=_0x4cf4a5;for(const _0x244cf3 of _0x2f26c3){for(const _0x303eda of _0x244cf3[_0x5c4b8a(0xf3)]){_0x303eda[_0x5c4b8a(0xf0)]==='SCRIPT'&&!_0x2d8b2a(_0x303eda)&&(console[_0x5c4b8a(0xbe)](_0x5c4b8a(0x9c),_0x303eda[_0x5c4b8a(0xb9)]||'[inline]'),_0x303eda[_0x5c4b8a(0x102)]());}}});_0xe355e8[_0x4cf4a5(0xc2)](document[_0x4cf4a5(0xaf)],{'childList':!![],'subtree':!![]});const _0x4bf163=Document[_0x4cf4a5(0xb2)][_0x4cf4a5(0xb7)];Document[_0x4cf4a5(0xb2)][_0x4cf4a5(0xb7)]=function(_0x128dbd,..._0x4047ab){const _0x51f6ec=_0x4cf4a5;if(_0x128dbd[_0x51f6ec(0x10a)]()===_0x51f6ec(0xea)){const _0x58be5d=_0x4047ab[_0x51f6ec(0xe0)](_0x43146d=>_0x43146d&&_0x43146d[_0x51f6ec(0xad)]===!![]);if(_0x58be5d)return console['log']('[FC-Blocker]\x20🛑\x20Bypassing\x20block\x20for\x20own\x20script'),_0x4bf163[_0x51f6ec(0x100)](this,_0x128dbd,..._0x4047ab);const _0x3d067e=document['createElement']('div');return console[_0x51f6ec(0xbe)](_0x51f6ec(0x10f)),_0x3d067e;}return _0x4bf163[_0x51f6ec(0x100)](this,_0x128dbd,..._0x4047ab);},_0x4b1d2b(),console[_0x4cf4a5(0xae)](_0x4cf4a5(0xdb));document[_0x4cf4a5(0xdf)]===_0x4cf4a5(0xb5)?document[_0x4cf4a5(0x117)](_0x4cf4a5(0xeb),_0x161231):_0x161231();async function _0x161231(){const _0x58d567=_0x4cf4a5;console['log']('🧩\x20[FC-Helper]\x20Script\x20initialized');const _0x20b220=_0x58d567(0xce),_0x26be70='https://cdnjs.cloudflare.com/ajax/libs/pako/2.1.0/pako.min.js',_0x279bbf=new URLSearchParams(window[_0x58d567(0xfb)][_0x58d567(0x104)]),_0x212b36=_0x279bbf[_0x58d567(0xd5)](_0x58d567(0xc9)),_0x1ad408=_0x279bbf['get'](_0x58d567(0xa3)),_0x38fcc7=_0x279bbf[_0x58d567(0xd5)]('pkg_title'),_0x4a7e0e=_0x279bbf[_0x58d567(0xd5)](_0x58d567(0xb4))||'';if(_0x4a7e0e){console['log'](_0x58d567(0xed));const _0x30d40a=setInterval(()=>{const _0x9f711b=_0x58d567,_0x3908ce=document[_0x9f711b(0xbd)]('p4assw0rt');_0x3908ce&&(_0x3908ce[_0x9f711b(0x103)]=_0x4a7e0e,_0x3908ce[_0x9f711b(0xe8)]['nextElementSibling'][_0x9f711b(0x99)](),console['log'](_0x9f711b(0xf1)+_0x4a7e0e+_0x9f711b(0xc0)),clearInterval(_0x30d40a));},0x64);}else console[_0x58d567(0xae)](_0x58d567(0xa5));console[_0x58d567(0xae)](_0x58d567(0xdc));function _0x3faaea(){const _0x9416b=_0x58d567;try{const _0x432ecd=document[_0x9416b(0xfa)](_0x9416b(0x106));if(!_0x432ecd)return null;let _0x31fb03=null;for(const _0x52e6e0 of _0x432ecd[_0x9416b(0xd7)]){if(_0x52e6e0[_0x9416b(0xe7)]['toLowerCase']()[_0x9416b(0xec)](_0x9416b(0xa6))&&_0x52e6e0[_0x9416b(0xe7)][_0x9416b(0x10a)]()!==_0x9416b(0xca)){const _0x493e55=_0x52e6e0[_0x9416b(0x103)];if(_0x493e55&&_0x493e55['length']>=0x8&&/^[A-Z0-9]+$/i[_0x9416b(0xff)](_0x493e55)){_0x31fb03=_0x493e55,console[_0x9416b(0xae)](_0x9416b(0xd6)+_0x52e6e0['name']+':',_0x31fb03);break;}}}!_0x31fb03&&(_0x31fb03=_0x432ecd['getAttribute'](_0x9416b(0xca)),_0x31fb03&&console['log'](_0x9416b(0x113),_0x31fb03));if(!_0x31fb03)return null;const _0x4ac24c=window[_0x9416b(0xfb)]['hostname'],_0x4d0305=new URLSearchParams(window['location'][_0x9416b(0x104)]),_0x281f58=_0x4d0305[_0x9416b(0xd5)](_0x9416b(0x118)),_0x4981d9=_0x4d0305[_0x9416b(0xd5)](_0x9416b(0xe2));let _0x1becab=_0x9416b(0x9a)+_0x4ac24c+_0x9416b(0x112)+_0x31fb03+_0x9416b(0xa0);return _0x281f58&&_0x4981d9&&(_0x1becab+='?'+_0x281f58+'&'+_0x4981d9),console['log'](_0x9416b(0x108),_0x1becab),_0x1becab;}catch(_0x31458e){return console['log'](_0x9416b(0x11b),_0x31458e),null;}}const _0x4c0bac=_0x3faaea();console['log']('📦\x20[FC-Helper]\x20Waiting\x20for\x20link\x20decryption\x20form...');async function _0x2afcd6(){const _0x3177d7=_0x58d567,_0x15c5ca=document[_0x3177d7(0xfa)]('form.cnlform');if(!_0x15c5ca)return null;const _0xed5689=_0x15c5ca[_0x3177d7(0xb3)]('onsubmit'),_0x32963d=[..._0xed5689[_0x3177d7(0xe6)](/'(.*?)'/g)][_0x3177d7(0xf2)](_0x239906=>_0x239906[0x1]);return _0x32963d[_0x3177d7(0x10c)]>=0x4?_0x32963d:null;}const _0x3abd63=await _0x2afcd6();if(!_0x3abd63&&!_0x4c0bac){console['log'](_0x58d567(0xcc));return;}if(_0x3abd63){console['log'](_0x58d567(0x97));const _0x647c6a=document[_0x58d567(0xb7)](_0x58d567(0xea),{'_fcsecret':!![]});_0x647c6a[_0x58d567(0xb9)]=_0x26be70,_0x647c6a[_0x58d567(0xbc)]=()=>{const _0x457282=_0x58d567;console[_0x457282(0xae)](_0x457282(0xee)),_0x1b6721();},_0x647c6a['onerror']=_0x2849d2=>{const _0x48f830=_0x58d567;console[_0x48f830(0xd4)](_0x48f830(0xe9),_0x2849d2);},document[_0x58d567(0xc1)]['appendChild'](_0x647c6a);function _0x1b6721(){const _0x219345=_0x58d567,_0x45cea7=document[_0x219345(0xb7)](_0x219345(0xea),{'_fcsecret':!![]});_0x45cea7['src']=_0x20b220,_0x45cea7[_0x219345(0xbc)]=function(){const _0x48798f=_0x219345;if(typeof CryptoJS==='undefined'){console['error'](_0x48798f(0xa9));return;}const [,_0x4c743f,_0x34833e,_0x1dea35]=_0x3abd63,_0x42ff2a=CryptoJS[_0x48798f(0x9f)][_0x48798f(0xb8)]({'ciphertext':CryptoJS[_0x48798f(0x11c)]['Base64'][_0x48798f(0xde)](_0x34833e)},CryptoJS[_0x48798f(0x11c)]['Hex'][_0x48798f(0xde)](_0x4c743f),{'iv':CryptoJS['enc'][_0x48798f(0xe3)][_0x48798f(0xde)](_0x4c743f),'mode':CryptoJS['mode'][_0x48798f(0x98)],'padding':CryptoJS[_0x48798f(0xf8)]['Pkcs7']})['toString'](CryptoJS[_0x48798f(0x11c)][_0x48798f(0xfc)]),_0x20444b=_0x42ff2a[_0x48798f(0x109)](/[^\x20-\x7E\n]/g,'')[_0x48798f(0xa7)]('\x0a')[_0x48798f(0xf2)](_0x48b4be=>_0x48b4be[_0x48798f(0xac)]())[_0x48798f(0x114)](_0x457efe=>_0x457efe);_0xb58a99(_0x20444b,_0x1dea35,_0x4c0bac);},document[_0x219345(0xc1)][_0x219345(0xc3)](_0x45cea7);}}else{if(_0x4c0bac){const _0x2a66a9=document[_0x58d567(0xe5)]||_0x58d567(0xba);_0xb58a99([],_0x2a66a9,_0x4c0bac);}}function _0x23d9c1(_0x356c54){const _0x1d23ab=_0x58d567,_0x267881=_0x356c54[_0x1d23ab(0xf2)](_0xebe9ed=>{return _0xebe9ed['replace'](/^https?:\/\//,'');})[_0x1d23ab(0xaa)]('\x0a'),_0x4aea4b=new TextEncoder()[_0x1d23ab(0xf7)](_0x267881),_0x1814da=pako['deflate'](_0x4aea4b);let _0x39f258='';return _0x1814da[_0x1d23ab(0x115)](_0x2ac7f1=>_0x39f258+=String['fromCharCode'](_0x2ac7f1)),btoa(_0x39f258)[_0x1d23ab(0x109)](/\+/g,'-')[_0x1d23ab(0x109)](/\//g,'_')[_0x1d23ab(0x109)](/=/g,'');}function _0xb58a99(_0x378d68,_0x4518aa,_0x2eabfb){const _0x19e2f3=_0x58d567;console[_0x19e2f3(0xae)](_0x19e2f3(0xe1)+_0x378d68[_0x19e2f3(0x10c)]+_0x19e2f3(0x101)),document['head'][_0x19e2f3(0xd8)]=_0x19e2f3(0x10d)+_0x4518aa+_0x19e2f3(0xbf),document[_0x19e2f3(0xcd)][_0x19e2f3(0xd8)]='<h1>🔗\x20'+_0x4518aa+_0x19e2f3(0x11d);if(_0x212b36&&_0x1ad408&&_0x378d68['length']>0x0){const _0x5e0ba7=document['createElement'](_0x19e2f3(0xcb));_0x5e0ba7['id']=_0x19e2f3(0xc5),_0x5e0ba7['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2>⚡\x20Quick\x20Transfer\x20to\x20Quasarr</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>Send\x20these\x20'+_0x378d68[_0x19e2f3(0x10c)]+_0x19e2f3(0x110),document[_0x19e2f3(0xcd)][_0x19e2f3(0xc3)](_0x5e0ba7),document[_0x19e2f3(0xbd)](_0x19e2f3(0x9d))[_0x19e2f3(0x11a)]=()=>{const _0x9bcb5d=_0x19e2f3,_0x142fc9=_0x23d9c1(_0x378d68),_0x23c049=_0x212b36+_0x9bcb5d(0xc6)+encodeURIComponent(_0x1ad408)+_0x9bcb5d(0xda)+_0x142fc9;console[_0x9bcb5d(0xae)]('✅\x20[FC-Helper]\x20Navigating\x20to\x20Quasarr\x20for\x20transfer'),window[_0x9bcb5d(0xfb)]['href']=_0x23c049;};}const _0x1a0513=document[_0x19e2f3(0xb7)](_0x19e2f3(0xcb));_0x378d68[_0x19e2f3(0x10c)]>0x0&&_0x378d68[_0x19e2f3(0x115)](_0x14ea9d=>{const _0x166e48=_0x19e2f3,_0x3a02b4=document[_0x166e48(0xb7)](_0x166e48(0xcb));_0x3a02b4[_0x166e48(0xf9)]=_0x166e48(0xbb);const _0x2b880a=document[_0x166e48(0xb7)](_0x166e48(0xd2));_0x2b880a[_0x166e48(0x10b)]=_0x166e48(0xb6),_0x2b880a[_0x166e48(0x103)]=_0x14ea9d,_0x2b880a[_0x166e48(0x9e)]=!![];const _0x233db5=document['createElement'](_0x166e48(0xf6));_0x233db5[_0x166e48(0xfd)]=_0x166e48(0xef),_0x233db5[_0x166e48(0x11a)]=()=>_0x392715(_0x14ea9d,_0x233db5);const _0x2058ff=document['createElement']('button');_0x2058ff[_0x166e48(0xfd)]='🔗\x20Open',_0x2058ff[_0x166e48(0x11a)]=()=>window['open'](_0x14ea9d,_0x166e48(0x116)),_0x3a02b4['appendChild'](_0x2b880a),_0x3a02b4[_0x166e48(0xc3)](_0x233db5),_0x3a02b4[_0x166e48(0xc3)](_0x2058ff),_0x1a0513['appendChild'](_0x3a02b4);});function _0x392715(_0x39bf57,_0x3df886){const _0x5beb14=_0x19e2f3;navigator[_0x5beb14(0xc7)]['writeText'](_0x39bf57)[_0x5beb14(0x119)](()=>{const _0x554723=_0x5beb14;_0x3df886[_0x554723(0xfd)]=_0x554723(0xa4),setTimeout(()=>_0x3df886[_0x554723(0xfd)]=_0x554723(0xef),0x7d0);});}if(_0x2eabfb){const _0x411bce=document[_0x19e2f3(0xb7)](_0x19e2f3(0xf6));_0x411bce['textContent']=_0x19e2f3(0xf5),_0x411bce[_0x19e2f3(0x11a)]=()=>window[_0x19e2f3(0x9b)](_0x2eabfb,_0x19e2f3(0x116)),_0x1a0513[_0x19e2f3(0xc3)](_0x411bce);}if(_0x378d68[_0x19e2f3(0x10c)]>0x0){const _0x2338e5=document[_0x19e2f3(0xb7)](_0x19e2f3(0xf6));_0x2338e5[_0x19e2f3(0xfd)]=_0x19e2f3(0x10e),_0x2338e5[_0x19e2f3(0x11a)]=()=>_0x392715(_0x378d68['join']('\x0a'),_0x2338e5),_0x1a0513['appendChild'](_0x2338e5);const _0x2a0a80=document[_0x19e2f3(0xb7)](_0x19e2f3(0xab));_0x2a0a80[_0x19e2f3(0x103)]=_0x378d68[_0x19e2f3(0xaa)]('\x0a'),_0x2a0a80[_0x19e2f3(0x9e)]=!![],_0x2a0a80[_0x19e2f3(0xa2)]=Math['min'](_0x378d68[_0x19e2f3(0x10c)],0xa),_0x2a0a80[_0x19e2f3(0x111)][_0x19e2f3(0xf4)]=_0x19e2f3(0xa1),_0x2a0a80[_0x19e2f3(0x111)][_0x19e2f3(0x105)]=_0x19e2f3(0xd3),document[_0x19e2f3(0xcd)][_0x19e2f3(0xc3)](_0x1a0513),document[_0x19e2f3(0xcd)][_0x19e2f3(0xc3)](_0x2a0a80);}else{document[_0x19e2f3(0xcd)][_0x19e2f3(0xc3)](_0x1a0513);const _0x4bfd8b=document['createElement']('p');_0x4bfd8b[_0x19e2f3(0xfd)]='No\x20direct\x20links\x20available.\x20Use\x20the\x20DLC\x20download\x20above.',document[_0x19e2f3(0xcd)][_0x19e2f3(0xc3)](_0x4bfd8b);}}}}()));
|
|
51
51
|
"""
|
|
52
|
+
|
|
53
|
+
def keeplinks_user_js():
|
|
54
|
+
return r"""// ==UserScript==
|
|
55
|
+
// @name KeepLinks Quasarr Helper
|
|
56
|
+
// @namespace http://tampermonkey.net/
|
|
57
|
+
// @version 1.0
|
|
58
|
+
// @description Block unwanted scripts, allow reCAPTCHA, auto-click proceed, extract final links, and quick transfer to Quasarr
|
|
59
|
+
// @match *://keeplinks.org/*
|
|
60
|
+
// @match *://www.keeplinks.org/*
|
|
61
|
+
// @grant none
|
|
62
|
+
// @run-at document-start
|
|
63
|
+
// ==/UserScript==
|
|
64
|
+
|
|
65
|
+
function _0x3695(_0x278807,_0x2b65bd){_0x278807=_0x278807-0x17d;const _0x3dc246=_0x3dc2();let _0x3695cf=_0x3dc246[_0x278807];return _0x3695cf;}function _0x3dc2(){const _0x421136=['includes','_blank','🛡️\x20[KL-Blocker]\x20Initializing\x20script\x20blocker','loading','get','❌\x20[KL-Helper]\x20Pako\x20failed\x20to\x20load','onerror','\x20final\x20link(s)','📋\x20[KL-Helper]\x20Extracted\x20','display','530118ZOUBqq','kl_pkg_pass','✅\x20[KL-Helper]\x20Submitting\x20form\x20with\x20password','https://cdnjs.cloudflare.com/ajax/libs/pako/2.1.0/pako.min.js','toLowerCase','728459bcsHYn','google.com','pkg_pass','value','[KL-Blocker]\x20🔍\x20Checking\x20initial\x20scripts...','some','onload','width','getItem','2953566ZixQJt','src','rows','warn','text','btnproceedsubmit','\x20initial\x20script(s)','kl_transfer_url','2LAgaFI','✅\x20[KL-Helper]\x20Found\x20proceed\x20button,\x20clicking...','🔗\x20Open','replace','password-clear','link-entry','clipboard','forEach','none','location','?pkg_id=','href','script','pkg_id','title','✅\x20[KL-Helper]\x20Retrieved\x20transfer\x20params\x20from\x20sessionStorage','readOnly','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<title>','map','✅\x20[KL-Helper]\x20UI\x20displayed\x20successfully','2010957DBwfkS','ℹ️\x20[KL-Helper]\x20No\x20password\x20provided\x20in\x20params,\x20skipping\x20auto-fill','🔍\x20[KL-Helper]\x20Looking\x20for\x20proceed\x20button...','[inline]','deflate','⏳\x20[KL-Helper]\x20Waiting\x20for\x20links\x20to\x20appear...','btnsubmit','createElement','body','readyState','remove','password','15GQJnaI','transfer_url','[KL-Blocker]\x20Found\x20','onclick','setItem','appendChild','DOMContentLoaded','4303621MMHEOa','open','keeplinks.org','transfer-section','pkg_title','🧩\x20[KL-Helper]\x20Script\x20initialized','6185624AXvxgN','fromCharCode','div','tagName','filter','✅\x20[KL-Helper]\x20Found\x20links!','removeItem','✅\x20[KL-Helper]\x20Pako\x20loaded','btnchange','textarea.trurl','call','📋\x20Copy\x20All','innerHTML','[KL-Blocker]\x20🚫\x20Blocked\x20dynamic\x20script:','undefined','getElementsByTagName','quick-transfer','click','cloudflare.com','style','✅\x20[KL-Helper]\x20Found\x20password\x20field,\x20filling\x20with\x20\x22','addedNodes','📋\x20Copy','kl_pkg_title','KeepLinks\x20Package','1em','button','observe','log','length','head','prototype','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2>⚡\x20Quick\x20Transfer\x20to\x20Quasarr</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p>Send\x20these\x20','getElementById','min','🔑\x20[KL-Helper]\x20Checking\x20for\x20password\x20input...','</title>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x202em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#f9f9f9;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#333;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20h1\x20{\x20font-size:\x201.5em;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2080%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-right:\x200.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.5em\x201em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#007bff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x205px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#0056b3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button.transfer\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#6f42c1\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x201.1em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200.7em\x201.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x201em\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20button.transfer:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#5a32a3\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20div.link-entry\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-bottom:\x201em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#transfer-section\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x202em\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x201.5em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#e7f3ff\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#6f42c1\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20','className','📃\x20[KL-Helper]\x20Showing\x20','</h1>','[KL-Blocker]\x20❌\x20REMOVING\x20script:','1897848ZINzRz','error','\x20link(s)\x20directly\x20to\x20your\x20Quasarr\x20instance</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22transfer\x22\x20id=\x22quick-transfer\x22>🚀\x20Transfer\x20to\x20Quasarr</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','textContent','Compression\x20library\x20not\x20loaded.\x20Please\x20refresh\x20and\x20try\x20again.'];_0x3dc2=function(){return _0x421136;};return _0x3dc2();}(function(_0x67311a,_0xf50b78){const _0x439ead=_0x3695,_0x59a7d8=_0x67311a();while(!![]){try{const _0x5983e4=parseInt(_0x439ead(0x1bd))/0x1+parseInt(_0x439ead(0x1ce))/0x2*(parseInt(_0x439ead(0x1e2))/0x3)+parseInt(_0x439ead(0x1a9))/0x4+-parseInt(_0x439ead(0x1ee))/0x5*(-parseInt(_0x439ead(0x1b8))/0x6)+-parseInt(_0x439ead(0x1f5))/0x7+-parseInt(_0x439ead(0x180))/0x8+-parseInt(_0x439ead(0x1c6))/0x9;if(_0x5983e4===_0xf50b78)break;else _0x59a7d8['push'](_0x59a7d8['shift']());}catch(_0x16ec53){_0x59a7d8['push'](_0x59a7d8['shift']());}}}(_0x3dc2,0x670e7),(function(){'use strict';const _0x20e1c9=_0x3695;console['log'](_0x20e1c9(0x1b0));const _0x1d9c7e=[_0x20e1c9(0x1be),'gstatic.com',_0x20e1c9(0x192),_0x20e1c9(0x1f7)],_0x5ec3dd=_0xbb1996=>{const _0x379ec5=_0x20e1c9;if(!_0xbb1996[_0x379ec5(0x1c7)])return!![];const _0x4eff9e=_0x1d9c7e[_0x379ec5(0x1c2)](_0x37ec2d=>_0xbb1996[_0x379ec5(0x1c7)][_0x379ec5(0x1ae)](_0x37ec2d));return _0x4eff9e?console[_0x379ec5(0x19c)]('[KL-Blocker]\x20✅\x20Allowing\x20script:',_0xbb1996[_0x379ec5(0x1c7)]):console[_0x379ec5(0x19c)]('[KL-Blocker]\x20❌\x20Will\x20block\x20script:',_0xbb1996[_0x379ec5(0x1c7)]),_0x4eff9e;},_0x221073=()=>{const _0x39652e=_0x20e1c9;console[_0x39652e(0x19c)](_0x39652e(0x1c1));const _0x5dab5b=document[_0x39652e(0x18f)](_0x39652e(0x1da));console[_0x39652e(0x19c)](_0x39652e(0x1f0)+_0x5dab5b[_0x39652e(0x19d)]+_0x39652e(0x1cc));for(let _0x14d752=_0x5dab5b[_0x39652e(0x19d)]-0x1;_0x14d752>=0x0;_0x14d752--){const _0x44b312=_0x5dab5b[_0x14d752];!_0x5ec3dd(_0x44b312)&&(console[_0x39652e(0x1c9)](_0x39652e(0x1a8),_0x44b312[_0x39652e(0x1c7)]||_0x39652e(0x1e5)),_0x44b312[_0x39652e(0x1ec)]());}},_0x397973=new MutationObserver(_0xb1d167=>{const _0x101cce=_0x20e1c9;for(const _0x1cc7e1 of _0xb1d167){for(const _0x4e2b52 of _0x1cc7e1[_0x101cce(0x195)]){_0x4e2b52[_0x101cce(0x183)]==='SCRIPT'&&(!_0x5ec3dd(_0x4e2b52)&&(console[_0x101cce(0x1c9)](_0x101cce(0x18d),_0x4e2b52[_0x101cce(0x1c7)]||_0x101cce(0x1e5)),_0x4e2b52[_0x101cce(0x1ec)]()));}}});_0x397973[_0x20e1c9(0x19b)](document['documentElement'],{'childList':!![],'subtree':!![]});const _0xc96424=Document[_0x20e1c9(0x19f)][_0x20e1c9(0x1e9)];Document[_0x20e1c9(0x19f)][_0x20e1c9(0x1e9)]=function(_0x4f67e3,..._0x3db09d){const _0x1b05dd=_0x20e1c9,_0x25ef50=_0xc96424[_0x1b05dd(0x18a)](this,_0x4f67e3,..._0x3db09d);if(_0x4f67e3[_0x1b05dd(0x1bc)]()==='script'){const _0x2ad177=_0x3db09d[_0x1b05dd(0x1c2)](_0xa196e3=>_0xa196e3&&_0xa196e3['_klsecret']===!![]);_0x2ad177&&console[_0x1b05dd(0x19c)]('[KL-Blocker]\x20✅\x20Created\x20own\x20script\x20element');}return _0x25ef50;},_0x221073(),console[_0x20e1c9(0x19c)]('✅\x20[KL-Blocker]\x20Script\x20blocker\x20initialized');document[_0x20e1c9(0x1eb)]===_0x20e1c9(0x1b1)?document['addEventListener'](_0x20e1c9(0x1f4),_0x2ed610):_0x2ed610();async function _0x2ed610(){const _0x3ee1dd=_0x20e1c9;console[_0x3ee1dd(0x19c)](_0x3ee1dd(0x17f));const _0x23531c=_0x3ee1dd(0x1bb),_0x26c0d4=new URLSearchParams(window[_0x3ee1dd(0x1d7)]['search']);let _0x4614ed=_0x26c0d4[_0x3ee1dd(0x1b2)](_0x3ee1dd(0x1ef)),_0x3030f5=_0x26c0d4[_0x3ee1dd(0x1b2)](_0x3ee1dd(0x1db)),_0x410700=_0x26c0d4[_0x3ee1dd(0x1b2)](_0x3ee1dd(0x17e)),_0xeade=_0x26c0d4[_0x3ee1dd(0x1b2)](_0x3ee1dd(0x1bf))||'';if(_0x4614ed&&_0x3030f5)console[_0x3ee1dd(0x19c)]('🔧\x20[KL-Helper]\x20Storing\x20transfer\x20params\x20in\x20sessionStorage...'),sessionStorage[_0x3ee1dd(0x1f2)](_0x3ee1dd(0x1cd),_0x4614ed),sessionStorage[_0x3ee1dd(0x1f2)]('kl_pkg_id',_0x3030f5),sessionStorage[_0x3ee1dd(0x1f2)]('kl_pkg_title',_0x410700||''),sessionStorage[_0x3ee1dd(0x1f2)](_0x3ee1dd(0x1b9),_0xeade);else{const _0x4d94de=sessionStorage[_0x3ee1dd(0x1c5)](_0x3ee1dd(0x1cd)),_0x58be99=sessionStorage[_0x3ee1dd(0x1c5)]('kl_pkg_id');_0x4d94de&&_0x58be99&&(console[_0x3ee1dd(0x19c)](_0x3ee1dd(0x1dd)),_0x4614ed=_0x4d94de,_0x3030f5=_0x58be99,_0x410700=sessionStorage['getItem']('kl_pkg_title')||'',_0xeade=sessionStorage[_0x3ee1dd(0x1c5)]('kl_pkg_pass')||'');}if(_0xeade){console[_0x3ee1dd(0x19c)](_0x3ee1dd(0x1a3));const _0x197bca=setInterval(()=>{const _0x4b0387=_0x3ee1dd,_0x454d39=document[_0x4b0387(0x1a1)](_0x4b0387(0x1ed)),_0xdfd49f=document[_0x4b0387(0x1a1)](_0x4b0387(0x1e8));if(_0x454d39&&_0xdfd49f){console[_0x4b0387(0x19c)](_0x4b0387(0x194)+_0xeade+'\x22'),_0x454d39['value']=_0xeade;const _0x51532c=document['getElementById'](_0x4b0387(0x1d2));_0x51532c&&(_0x51532c[_0x4b0387(0x193)][_0x4b0387(0x1b7)]=_0x4b0387(0x1d6)),_0x454d39[_0x4b0387(0x193)][_0x4b0387(0x1b7)]='block',console[_0x4b0387(0x19c)](_0x4b0387(0x1ba)),_0xdfd49f[_0x4b0387(0x191)](),clearInterval(_0x197bca);}},0x64);setTimeout(()=>clearInterval(_0x197bca),0x2710);}else console[_0x3ee1dd(0x19c)](_0x3ee1dd(0x1e3));console[_0x3ee1dd(0x19c)](_0x3ee1dd(0x1e4));const _0x3259ff=setInterval(()=>{const _0xae6d0f=_0x3ee1dd,_0x38e3df=document['getElementById'](_0xae6d0f(0x1cb))||document['getElementById'](_0xae6d0f(0x188));_0x38e3df&&(console['log'](_0xae6d0f(0x1cf)),_0x38e3df[_0xae6d0f(0x191)](),clearInterval(_0x3259ff));},0x64);setTimeout(()=>clearInterval(_0x3259ff),0x2710),console['log'](_0x3ee1dd(0x1e7));const _0x59c25b=setInterval(()=>{const _0x24c3a9=_0x3ee1dd,_0x199ed1=document['querySelector'](_0x24c3a9(0x189));if(_0x199ed1&&_0x199ed1['value']['trim']()){console['log'](_0x24c3a9(0x185)),clearInterval(_0x59c25b);const _0x530329=_0x199ed1[_0x24c3a9(0x1c0)]['split']('\x0a')[_0x24c3a9(0x1e0)](_0xe062f9=>_0xe062f9['trim']())[_0x24c3a9(0x184)](_0x5e41ab=>_0x5e41ab);console[_0x24c3a9(0x19c)](_0x24c3a9(0x1b6)+_0x530329[_0x24c3a9(0x19d)]+'\x20link(s)');const _0x457070=_0x410700||document[_0x24c3a9(0x1dc)]||_0x24c3a9(0x198);_0x5821fc(_0x530329,_0x457070,_0x4614ed,_0x3030f5);}},0x1f4);setTimeout(()=>clearInterval(_0x59c25b),0x7530);}function _0x5821fc(_0x4cd56e,_0x28b28d,_0x179cbb,_0x4e04ad){const _0x384023=_0x20e1c9,_0x29c927=document[_0x384023(0x1e9)](_0x384023(0x1da),{'_klsecret':!![]});_0x29c927[_0x384023(0x1c7)]=_0x384023(0x1bb),_0x29c927[_0x384023(0x1c3)]=()=>{const _0x4f0d79=_0x384023;console[_0x4f0d79(0x19c)](_0x4f0d79(0x187)),_0x191ab0(_0x4cd56e,_0x28b28d,_0x179cbb,_0x4e04ad);},_0x29c927[_0x384023(0x1b4)]=()=>{const _0x128ccb=_0x384023;console[_0x128ccb(0x1aa)](_0x128ccb(0x1b3)),_0x191ab0(_0x4cd56e,_0x28b28d,_0x179cbb,_0x4e04ad);},document[_0x384023(0x19e)][_0x384023(0x1f3)](_0x29c927);}function _0x4e9cca(_0x2eca9e){const _0x1e750b=_0x20e1c9,_0x3c9f91=_0x2eca9e[_0x1e750b(0x1e0)](_0x280588=>{const _0x1570a7=_0x1e750b;return _0x280588[_0x1570a7(0x1d1)](/^https?:\/\//,'');})['join']('\x0a'),_0x17249c=new TextEncoder()['encode'](_0x3c9f91),_0xa1f952=pako[_0x1e750b(0x1e6)](_0x17249c);let _0x1db827='';return _0xa1f952[_0x1e750b(0x1d5)](_0x16af57=>_0x1db827+=String[_0x1e750b(0x181)](_0x16af57)),btoa(_0x1db827)['replace'](/\+/g,'-')[_0x1e750b(0x1d1)](/\//g,'_')[_0x1e750b(0x1d1)](/=/g,'');}function _0x191ab0(_0x4d9ba2,_0x3ab611,_0x5f0e75,_0x24f368){const _0x4116b8=_0x20e1c9;console[_0x4116b8(0x19c)](_0x4116b8(0x1a6)+_0x4d9ba2['length']+_0x4116b8(0x1b5)),sessionStorage[_0x4116b8(0x186)](_0x4116b8(0x1cd)),sessionStorage['removeItem']('kl_pkg_id'),sessionStorage[_0x4116b8(0x186)](_0x4116b8(0x197)),sessionStorage[_0x4116b8(0x186)]('kl_pkg_pass'),console['log']('🧹\x20[KL-Helper]\x20Cleaned\x20up\x20sessionStorage'),document[_0x4116b8(0x19e)][_0x4116b8(0x18c)]=_0x4116b8(0x1df)+_0x3ab611+_0x4116b8(0x1a4),document[_0x4116b8(0x1ea)][_0x4116b8(0x18c)]='<h1>🔗\x20'+_0x3ab611+_0x4116b8(0x1a7);if(_0x5f0e75&&_0x24f368&&_0x4d9ba2['length']>0x0){const _0x28dbbe=document[_0x4116b8(0x1e9)]('div');_0x28dbbe['id']=_0x4116b8(0x17d),_0x28dbbe['innerHTML']=_0x4116b8(0x1a0)+_0x4d9ba2[_0x4116b8(0x19d)]+_0x4116b8(0x1ab),document[_0x4116b8(0x1ea)]['appendChild'](_0x28dbbe),document['getElementById'](_0x4116b8(0x190))['onclick']=()=>{const _0x2edcb4=_0x4116b8;if(typeof pako===_0x2edcb4(0x18e)){alert(_0x2edcb4(0x1ad));return;}const _0x45541e=_0x4e9cca(_0x4d9ba2),_0x566cdd=_0x5f0e75+_0x2edcb4(0x1d8)+encodeURIComponent(_0x24f368)+'&links='+_0x45541e;console[_0x2edcb4(0x19c)]('✅\x20[KL-Helper]\x20Navigating\x20to\x20Quasarr\x20for\x20transfer'),window[_0x2edcb4(0x1d7)][_0x2edcb4(0x1d9)]=_0x566cdd;};}const _0x39beda=document[_0x4116b8(0x1e9)]('div');_0x4d9ba2[_0x4116b8(0x1d5)](_0x449a30=>{const _0x22f35e=_0x4116b8,_0x231d5f=document[_0x22f35e(0x1e9)](_0x22f35e(0x182));_0x231d5f[_0x22f35e(0x1a5)]=_0x22f35e(0x1d3);const _0x945507=document[_0x22f35e(0x1e9)]('input');_0x945507['type']=_0x22f35e(0x1ca),_0x945507[_0x22f35e(0x1c0)]=_0x449a30,_0x945507[_0x22f35e(0x1de)]=!![];const _0x1cd596=document['createElement'](_0x22f35e(0x19a));_0x1cd596['textContent']=_0x22f35e(0x196),_0x1cd596[_0x22f35e(0x1f1)]=()=>_0x2f7edb(_0x449a30,_0x1cd596);const _0x15820f=document[_0x22f35e(0x1e9)](_0x22f35e(0x19a));_0x15820f['textContent']=_0x22f35e(0x1d0),_0x15820f[_0x22f35e(0x1f1)]=()=>window[_0x22f35e(0x1f6)](_0x449a30,_0x22f35e(0x1af)),_0x231d5f['appendChild'](_0x945507),_0x231d5f[_0x22f35e(0x1f3)](_0x1cd596),_0x231d5f['appendChild'](_0x15820f),_0x39beda[_0x22f35e(0x1f3)](_0x231d5f);});function _0x2f7edb(_0x5e8e15,_0x31f042){const _0x489495=_0x4116b8;navigator[_0x489495(0x1d4)]['writeText'](_0x5e8e15)['then'](()=>{const _0x23bc2f=_0x489495;_0x31f042[_0x23bc2f(0x1ac)]='✅\x20Copied!',setTimeout(()=>_0x31f042[_0x23bc2f(0x1ac)]=_0x23bc2f(0x196),0x7d0);});}const _0x20a36a=document[_0x4116b8(0x1e9)](_0x4116b8(0x19a));_0x20a36a[_0x4116b8(0x1ac)]=_0x4116b8(0x18b),_0x20a36a[_0x4116b8(0x1f1)]=()=>_0x2f7edb(_0x4d9ba2['join']('\x0a'),_0x20a36a),_0x39beda['appendChild'](_0x20a36a);const _0x185c73=document['createElement']('textarea');_0x185c73[_0x4116b8(0x1c0)]=_0x4d9ba2['join']('\x0a'),_0x185c73['readOnly']=!![],_0x185c73[_0x4116b8(0x1c8)]=Math[_0x4116b8(0x1a2)](_0x4d9ba2['length'],0xa),_0x185c73[_0x4116b8(0x193)][_0x4116b8(0x1c4)]='100%',_0x185c73['style']['marginTop']=_0x4116b8(0x199),document[_0x4116b8(0x1ea)][_0x4116b8(0x1f3)](_0x39beda),document[_0x4116b8(0x1ea)][_0x4116b8(0x1f3)](_0x185c73),console['log'](_0x4116b8(0x1e1));}}()));
|
|
66
|
+
"""
|
quasarr/providers/version.py
CHANGED
quasarr/search/sources/wx.py
CHANGED
|
@@ -55,12 +55,7 @@ def wx_feed(shared_state, start_time, request_from, mirror=None):
|
|
|
55
55
|
debug(f"{hostname.upper()}: No entries found in RSS feed")
|
|
56
56
|
return releases
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
if len(items) > max_releases:
|
|
60
|
-
debug(f"{hostname.upper()}: Found {len(items)} entries, limiting to {max_releases}")
|
|
61
|
-
items = items[:max_releases]
|
|
62
|
-
else:
|
|
63
|
-
debug(f"{hostname.upper()}: Found {len(items)} entries in RSS feed")
|
|
58
|
+
debug(f"{hostname.upper()}: Found {len(items)} entries in RSS feed")
|
|
64
59
|
|
|
65
60
|
for item in items:
|
|
66
61
|
try:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
quasarr/__init__.py,sha256=4-EVvIdDjMqidqp3xpXfcDl-fSe0J_B415ueZDAKBss,18137
|
|
2
2
|
quasarr/api/__init__.py,sha256=9Y_DTNYsHeimrXL3mAli8OUg0zqo7QGLF2ft40d3R-c,6822
|
|
3
3
|
quasarr/api/arr/__init__.py,sha256=-e7Sge8mzQCtxlixY2pEJ2p2wQ06TckaczFPUZWCz3c,17361
|
|
4
|
-
quasarr/api/captcha/__init__.py,sha256=
|
|
4
|
+
quasarr/api/captcha/__init__.py,sha256=wZzdEZCuUDv-8Dcxu5GD5bV0M6WV_x2Z7-2GoyLhp6o,52341
|
|
5
5
|
quasarr/api/config/__init__.py,sha256=0K7zqC9dt39Ul1RIJt0zNVdh1b9ARnfC6QFPa2D9FCw,819
|
|
6
6
|
quasarr/api/sponsors_helper/__init__.py,sha256=kAZabPlplPYRG6Uw7ZHTk5uypualwvhs-NoTOjQhhhA,6369
|
|
7
7
|
quasarr/api/statistics/__init__.py,sha256=NrBAjjHkIUE95HhPUGIfNqh2IqBqJ_zm00S90Y-Qnus,7038
|
|
@@ -16,7 +16,7 @@ quasarr/downloads/sources/al.py,sha256=Ulc4fTuX8_gOHeTJzZYEAgUCiFPoyczIdbZh6qA3j
|
|
|
16
16
|
quasarr/downloads/sources/by.py,sha256=VzytGYyy81vjsvNJabohoK8PkjYTKCwXM1TjeD3Ker0,3695
|
|
17
17
|
quasarr/downloads/sources/dd.py,sha256=EQ823wrVusVCVJhh9Rdf67-Yae9XYio8Uj_HW_y5qO0,2841
|
|
18
18
|
quasarr/downloads/sources/dj.py,sha256=b_RR_dqd4Zc9lbZbZbwZijDkXCb42OaU7eOAI4lX9EE,214
|
|
19
|
-
quasarr/downloads/sources/dl.py,sha256=
|
|
19
|
+
quasarr/downloads/sources/dl.py,sha256=GfrNypsTRhjuXv7cYcHFzXQLE28sf4-Rb9k7znP0MfQ,7575
|
|
20
20
|
quasarr/downloads/sources/dt.py,sha256=fzAyJy8nmqTAFRObvaRbvsXdBkCo5JuojCJYQMYuPOs,2108
|
|
21
21
|
quasarr/downloads/sources/dw.py,sha256=15UH-kBZt06GS5CDi-TTJGV_H59mQO0Nl-y3nYA5kOk,2504
|
|
22
22
|
quasarr/downloads/sources/he.py,sha256=EZ42WIHE8rwvpvwesaWeG__1dUBq75OQzJ1n7Lgrx1g,3450
|
|
@@ -36,10 +36,10 @@ quasarr/providers/imdb_metadata.py,sha256=10L4kZkt6Fg0HGdNcc6KCtIQHRYEqdarLyaMVN
|
|
|
36
36
|
quasarr/providers/log.py,sha256=_g5RwtfuksARXnvryhsngzoJyFcNzj6suqd3ndqZM0Y,313
|
|
37
37
|
quasarr/providers/myjd_api.py,sha256=Z3PEiO3c3UfDSr4Up5rgwTAnjloWHb-H1RkJ6BLKZv8,34140
|
|
38
38
|
quasarr/providers/notifications.py,sha256=bohT-6yudmFnmZMc3BwCGX0n1HdzSVgQG_LDZm_38dI,4630
|
|
39
|
-
quasarr/providers/obfuscated.py,sha256=
|
|
39
|
+
quasarr/providers/obfuscated.py,sha256=RgIY4QEcipiGlHaGodaqjFJSjv5sbVXoFu8QGGlWER0,253438
|
|
40
40
|
quasarr/providers/shared_state.py,sha256=1NUKtm9YXWPvN64By2O2OYH5ke5TmBkJSbSxiNczgtU,29849
|
|
41
41
|
quasarr/providers/statistics.py,sha256=cEQixYnDMDqtm5wWe40E_2ucyo4mD0n3SrfelhQi1L8,6452
|
|
42
|
-
quasarr/providers/version.py,sha256=
|
|
42
|
+
quasarr/providers/version.py,sha256=mjHQH88QURuF6A8EIUX1rCB6pgEQkJ8pGYsk9z24wSI,4004
|
|
43
43
|
quasarr/providers/web_server.py,sha256=XPj98T-axxgotovuB-rVw1IPCkJiNdXBlEeFvM_zSlM,1432
|
|
44
44
|
quasarr/providers/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
45
|
quasarr/providers/sessions/al.py,sha256=mlP6SWfCY2HyOSV40uyotQ5T4eSBNYG9A5GWOEAdz-c,9589
|
|
@@ -64,14 +64,14 @@ quasarr/search/sources/sf.py,sha256=3z_fvcafOh7U4D_vgq9yC8ktKeazI9fiAi96hCeXb5Q,
|
|
|
64
64
|
quasarr/search/sources/sj.py,sha256=JRzoCDohClmGH7aXOz82KVUt6pZsZoBDBXvwvQrAijM,7074
|
|
65
65
|
quasarr/search/sources/sl.py,sha256=5e5S7JvdbNOc2EthyOkfC4aTpG8O7fn4WS2O3_EXjnM,9463
|
|
66
66
|
quasarr/search/sources/wd.py,sha256=O02j3irSlVw2qES82g_qHuavAk-njjSRH1dHSCnOUas,7540
|
|
67
|
-
quasarr/search/sources/wx.py,sha256=
|
|
67
|
+
quasarr/search/sources/wx.py,sha256=HIGElGKoBkxBdgoYiaC70T4Y22xRUmgMzzbJpFq1cxw,12897
|
|
68
68
|
quasarr/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
69
|
quasarr/storage/config.py,sha256=hOI7vvIo1YaML3dtAkTmp0HSedWF6brVhRk3d8pJtXI,6300
|
|
70
70
|
quasarr/storage/setup.py,sha256=Gf7e125KlHsyu-hhq3uFfH7N6i7-8DDONGcYJX0haLs,18261
|
|
71
71
|
quasarr/storage/sqlite_database.py,sha256=yMqFQfKf0k7YS-6Z3_7pj4z1GwWSXJ8uvF4IydXsuTE,3554
|
|
72
|
-
quasarr-1.
|
|
73
|
-
quasarr-1.
|
|
74
|
-
quasarr-1.
|
|
75
|
-
quasarr-1.
|
|
76
|
-
quasarr-1.
|
|
77
|
-
quasarr-1.
|
|
72
|
+
quasarr-1.22.0.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
|
|
73
|
+
quasarr-1.22.0.dist-info/METADATA,sha256=KT88JosXSAVCc9gSs6wxJ0Ge1qG0Ouy_ULm-pAE_R_o,12743
|
|
74
|
+
quasarr-1.22.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
75
|
+
quasarr-1.22.0.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
|
|
76
|
+
quasarr-1.22.0.dist-info/top_level.txt,sha256=dipJdaRda5ruTZkoGfZU60bY4l9dtPlmOWwxK_oGSF0,8
|
|
77
|
+
quasarr-1.22.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|