diff --git a/STATUS.md b/STATUS.md index 5116b0f..9f51d24 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,6 +1,6 @@ # xStream Downloader – Projektstatus -Stand: 7.7.2026, 16:56 +Stand: 7.7.2026, 20:17 ## Ziel Web-Wrapper für das xstream Kodi-Addon, mit dem man Filme suchen, finden @@ -53,6 +53,8 @@ xstreamDownloader/ 12. **HLS/m3u8 Download** via ffmpeg 13. **HTML-Erkennung** – verhindert 16KB HTML-Files als "fertige Downloads" 14. **Streaming-Site Auflösung** – vidara.to etc. via API (filecode → m3u8) +15. **Wrapper-Site Auflösung** – meinecloud.click etc. via HTML-Parsing (data-link Attribute) +16. **Rekursive Auflösung** – Wrapper → Hoster → Streaming-API (z.B. meinecloud → dr0pstream → m3u8) ## Navigation (Menü → Inhalte) @@ -82,6 +84,7 @@ Beim Klick auf einen Menüpunkt: | 14 | Port 8769 belegt | Geändert auf Port 8770 | 6.7.2026 | | 15 | Download 16KB HTML statt Video (VOE etc.) | HTML-Erkennung in _run_direct() | 7.7.2026 | | 16 | Streaming-Sites liefern HTML statt m3u8 | _resolve_streaming_api() für vidara.to etc. | 7.7.2026 | +| 17 | Wrapper-Site meinecloud.click gibt HTML zurück | _resolve_wrapper_site() parst data-link Attribute | 7.7.2026 | ## Verbleibende Aufgaben diff --git a/app.py b/app.py index 89e0e14..ddafd62 100644 --- a/app.py +++ b/app.py @@ -542,13 +542,88 @@ def _resolve_streaming_api(url): m3u8_url = data.get('streaming_url') if m3u8_url: return (m3u8_url, None) - return (None, 'streaming_url nicht in API-Antwort') + # API responded but no streaming_url - might be direct embed + # Return URL for direct handling instead of failing + return (url, None) + except requests.exceptions.HTTPError as e: + if e.response.status_code == 404: + # API endpoint doesn't exist - this is likely a direct embed URL + # Return the URL for direct handling + return (url, None) + return (None, f'Streaming-API Fehler: {e}') except Exception as e: return (None, f'Streaming-API Fehler: {e}') +def _resolve_wrapper_site(url): + """Löst Wrapper-Sites (meinecloud.click etc.) auf: Fetches HTML und parsed data-link Attribute. + + Wrapper-Sites wie meinecloud.click geben keine direkten Video-URLs zurück, sondern + HTML-Seiten mit eingebetteten Hoster-URLs in data-link Attributen. + """ + import re + from urllib.parse import urlparse + + # Prüfe ob es eine bekannte Wrapper-Site ist + parsed = urlparse(url) + host = parsed.netloc.lower() + + # Wrapper-Site Patterns + WRAPPER_PATTERNS = [ + r'meinecloud\.click', + r'meinedownload\.', + r'mycloud\.', + ] + + is_wrapper = any(re.search(p, host) for p in WRAPPER_PATTERNS) + if not is_wrapper: + return (None, None) # Keine Wrapper-Site + + # Futtern Sie die HTML-Seite und parsen data-link Attribute + try: + import requests + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', + } + resp = requests.get(url, headers=headers, timeout=15) + resp.raise_for_status() + html = resp.text + + # Parse data-link Attribute + # Pattern: data-link="https://host.com/e/filecode" oder data-link="//host.com/e/filecode" + links = re.findall(r'data-link="([^"]+)"', html) + + if not links: + return (None, f'Keine data-link URLs in Wrapper-HTML gefunden') + + # Filtere leere und interne Links + valid_links = [] + for link in links: + if not link or 'meinecloud' in link.lower(): + continue + # Protokoll-relativ beheben + if link.startswith('//'): + link = 'https:' + link + valid_links.append(link) + + if not valid_links: + return (None, f'Keine validen Hoster-URLs in Wrapper gefunden') + + # Gebe die erste brauchbare URL zurück (bevorzugt VOE wenn verfügbar) + for link in valid_links: + if 'voe' in link.lower(): + return (link, None) + + return (valid_links[0], None) + + except Exception as e: + return (None, f'Wrapper-Aufloesung Fehler: {e}') + + def _resolve_url(url): - # Erst prüfen ob es eine bekannte Streaming-Site ist + # 1. Prüfe ob es eine bekannte Streaming-Site ist (/e/ API Pattern) m3u8_url, err = _resolve_streaming_api(url) if m3u8_url: return (m3u8_url, None) @@ -556,7 +631,15 @@ def _resolve_url(url): # Streaming-Site erkannt aber Fehler return (None, err) - # Falls resolveurl nicht verfügbar, URL direkt zurückgeben + # 2. Prüfe ob es eine Wrapper-Site ist (meinecloud.click etc.) + wrapper_url, wrapper_err = _resolve_wrapper_site(url) + if wrapper_url: + return _resolve_url(wrapper_url) # Rekursiv auflösen (könnte wieder Streaming-Site sein) + if wrapper_err: + # Wrapper erkannt aber Fehler + return (None, wrapper_err) + + # 3. Falls resolveurl nicht verfügbar, URL direkt zurückgeben # (viele URLs sind bereits direkte Stream-URLs) try: import resolveurl diff --git a/localhost.har b/localhost.har index 7004ae4..7c0a618 100644 --- a/localhost.har +++ b/localhost.har @@ -5,8 +5,190 @@ "name": "WebInspector", "version": "537.36" }, - "pages": [], + "pages": [ + { + "startedDateTime": "2026-07-07T20:00:51.254Z", + "id": "page_1", + "title": "http://localhost:8770/", + "pageTimings": { + "onContentLoad": 35.04899999825284, + "onLoad": 37.17300000425894 + } + } + ], "entries": [ + { + "_initiator": { + "type": "other" + }, + "_priority": "VeryHigh", + "_resourceType": "document", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Cache-Control", + "value": "max-age=0" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "If-Modified-Since", + "value": "Tue, 07 Jul 2026 19:23:23 GMT" + }, + { + "name": "If-None-Match", + "value": "\"1783452203.0684903-20513-3747290010\"" + }, + { + "name": "Sec-Fetch-Dest", + "value": "document" + }, + { + "name": "Sec-Fetch-Mode", + "value": "navigate" + }, + { + "name": "Sec-Fetch-Site", + "value": "none" + }, + { + "name": "Sec-Fetch-User", + "value": "?1" + }, + { + "name": "Upgrade-Insecure-Requests", + "value": "1" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 776, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept-Ranges", + "value": "bytes" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Disposition", + "value": "inline; filename=index.html" + }, + { + "name": "Content-Length", + "value": "22222" + }, + { + "name": "Content-Type", + "value": "text/html; charset=utf-8" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:51 GMT" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:51 GMT" + }, + { + "name": "ETag", + "value": "\"1783454368.7590227-22222-3747290010\"" + }, + { + "name": "Last-Modified", + "value": "Tue, 07 Jul 2026 19:59:28 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 22222, + "mimeType": "text/html", + "compression": 0, + "text": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImRlIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+eFN0cmVhbSBEb3dubG9hZGVyPC90aXRsZT4KPHN0eWxlPgoqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9CmJvZHkgeyBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsgYmFja2dyb3VuZDogIzFhMWEyZTsgY29sb3I6ICNlZWU7IH0KaGVhZGVyIHsgYmFja2dyb3VuZDogIzE2MjEzZTsgcGFkZGluZzogMTJweCAyMHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDIwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGYzNDYwOyB9CmhlYWRlciBoMSB7IGNvbG9yOiAjZTk0NTYwOyBmb250LXNpemU6IDEuMXJlbTsgfQpoZWFkZXIgaW5wdXQgeyBmbGV4OiAxOyBtYXgtd2lkdGg6IDQwMHB4OyBwYWRkaW5nOiA4cHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBib3JkZXI6IDFweCBzb2xpZCAjMzMzOyBiYWNrZ3JvdW5kOiAjMGYzNDYwOyBjb2xvcjogI2ZmZjsgfQpoZWFkZXIgYnV0dG9uIHsgcGFkZGluZzogOHB4IDE2cHg7IGJhY2tncm91bmQ6ICNlOTQ1NjA7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogNnB4OyBjb2xvcjogd2hpdGU7IGN1cnNvcjogcG9pbnRlcjsgfQojYXBwIHsgZGlzcGxheTogZmxleDsgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTJweCk7IH0KI3NpZGViYXIgeyB3aWR0aDogMjAwcHg7IGJhY2tncm91bmQ6ICMxNjIxM2U7IG92ZXJmbG93LXk6IGF1dG87IHBhZGRpbmc6IDhweDsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzBmMzQ2MDsgfQojc2lkZWJhciBoMyB7IGZvbnQtc2l6ZTogMC43NXJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICM4ODg7IHBhZGRpbmc6IDhweCA0cHggNHB4OyB9Ci5zaXRlLWJ0biB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgcGFkZGluZzogOHB4IDEwcHg7IG1hcmdpbjogMnB4IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJhZGl1czogNnB4OyBjb2xvcjogI2NjYzsgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDAuOXJlbTsgfQouc2l0ZS1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMGYzNDYwOyB9Ci5zaXRlLWJ0bi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAjZTk0NTYwOyBjb2xvcjogd2hpdGU7IGJvcmRlci1jb2xvcjogI2U5NDU2MDsgfQojbWFpbiB7IGZsZXg6IDE7IG92ZXJmbG93LXk6IGF1dG87IHBhZGRpbmc6IDE2cHg7IH0KI2JyZWFkY3J1bWIgeyBjb2xvcjogIzg4ODsgbWFyZ2luLWJvdHRvbTogMTZweDsgZm9udC1zaXplOiAwLjg1cmVtOyB9CiNicmVhZGNydW1iIHNwYW4geyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiAjZTk0NTYwOyB9CiNicmVhZGNydW1iIHNwYW46aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQouZW50cmllcyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE4MHB4LCAxZnIpKTsgZ2FwOiAxMnB4OyB9Ci5jYXJkIHsgYmFja2dyb3VuZDogIzE2MjEzZTsgYm9yZGVyLXJhZGl1czogOHB4OyBvdmVyZmxvdzogaGlkZGVuOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzOyB9Ci5jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Ci5jYXJkIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDI0MHB4OyBvYmplY3QtZml0OiBjb3ZlcjsgYmFja2dyb3VuZDogIzBmMzQ2MDsgfQouY2FyZC1ib2R5IHsgcGFkZGluZzogMTBweDsgfQouY2FyZC10aXRsZSB7IGZvbnQtc2l6ZTogMC44NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0KLmNhcmQtbWV0YSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6ICM4ODg7IG1hcmdpbi10b3A6IDRweDsgfQovKiBTdWNoZXJnZWJuaXNzZSBMaXN0ZSAqLwouc2VhcmNoLXJlc3VsdHMgeyBtYXgtd2lkdGg6IDcwMHB4OyBtYXJnaW46IDAgYXV0bzsgfQouZW50cnktbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNnB4OyB9Ci5lbnRyeS1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9Ci5idG4tc3RyZWFtLXNtLCAuYnRuLWRvd25sb2FkLXNtIHsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxNHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQouYnRuLXN0cmVhbS1zbSB7IGJhY2tncm91bmQ6ICMwZjM0NjA7IGNvbG9yOiAjMGYwOyB9Ci5idG4tZG93bmxvYWQtc20geyBiYWNrZ3JvdW5kOiAjMGYzNDYwOyBjb2xvcjogI2ZmMDsgfQouYnRuLXN0cmVhbS1zbTpob3ZlciB7IGJhY2tncm91bmQ6ICMwZjA7IGNvbG9yOiAjMDAwOyB9Ci5idG4tZG93bmxvYWQtc206aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmYwOyBjb2xvcjogIzAwMDsgfQouZW50cnktaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgcGFkZGluZzogMTBweCAxMnB4OyBiYWNrZ3JvdW5kOiAjMTYyMTNlOyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1czsgfQouZW50cnktaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6ICMxYTI3NDQ7IH0KLmVudHJ5LWl0ZW0gLmVudHJ5LXRodW1iIHsgd2lkdGg6IDUwcHg7IGhlaWdodDogNzBweDsgb2JqZWN0LWZpdDogY292ZXI7IGJvcmRlci1yYWRpdXM6IDRweDsgYmFja2dyb3VuZDogIzBmMzQ2MDsgZmxleC1zaHJpbms6IDA7IH0KLmVudHJ5LWl0ZW0gLmVudHJ5LXRodW1iLnBsYWNlaG9sZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMS41cmVtOyB9Ci5lbnRyeS1pdGVtIC5lbnRyeS1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9Ci5lbnRyeS1pdGVtIC5lbnRyeS10aXRsZSB7IGZvbnQtc2l6ZTogMC45NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH0KLmVudHJ5LWl0ZW0gLmVudHJ5LW1ldGEgeyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiAjODg4OyBtYXJnaW4tdG9wOiA0cHg7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgfQouZW50cnktaXRlbSAuZW50cnkteWVhciB7IH0KLmVudHJ5LWl0ZW0gLmVudHJ5LXNpdGUgeyBjb2xvcjogI2U5NDU2MDsgfQouZW50cnktaXRlbSAuZW50cnktYXJyb3cgeyBjb2xvcjogIzg4ODsgZm9udC1zaXplOiAwLjhyZW07IH0KLmhvc3Rlci1saXN0IHsgbWF4LXdpZHRoOiA1MDBweDsgbWFyZ2luOiAyMHB4IGF1dG87IH0KLmhvc3RlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogIzE2MjEzZTsgYm9yZGVyLXJhZGl1czogOHB4OyBtYXJnaW46IDZweCAwOyBmbGV4LXdyYXA6IHdyYXA7IH0KLmhvc3Rlci1uYW1lIHsgZmxleDogMTsgZm9udC13ZWlnaHQ6IDYwMDsgfQouaG9zdGVyLXF1YWxpdHkgeyBjb2xvcjogI2U5NDU2MDsgZm9udC1zaXplOiAwLjhyZW07IH0KLmhvc3Rlci1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IH0KLmJ0bi1zdHJlYW0sIC5idG4tZG93bmxvYWQgeyBwYWRkaW5nOiA2cHggMTRweDsgYmFja2dyb3VuZDogIzBmMzQ2MDsgYm9yZGVyOiAxcHggc29saWQgI2U5NDU2MDsgYm9yZGVyLXJhZGl1czogNnB4OyBjb2xvcjogI2U5NDU2MDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDAuODVyZW07IH0KLmJ0bi1zdHJlYW06aG92ZXIsIC5idG4tZG93bmxvYWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZTk0NTYwOyBjb2xvcjogd2hpdGU7IH0KLmRvd25sb2FkLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IHBhZGRpbmc6IDEwcHggMTJweDsgYmFja2dyb3VuZDogIzE2MjEzZTsgYm9yZGVyLXJhZGl1czogOHB4OyBtYXJnaW46IDRweCAwOyB9Ci5kb3dubG9hZC1pdGVtLmNvbXBsZXRlIHsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMGYwOyB9Ci5kb3dubG9hZC1pdGVtLmVycm9yLCAuZG93bmxvYWQtaXRlbS5jYW5jZWxsZWQgeyBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmMDA7IH0KLmRvd25sb2FkLWl0ZW0uZG93bmxvYWRpbmcgeyBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlOTQ1NjA7IH0KLmRvd25sb2FkLWl0ZW0ucmVzb2x2aW5nIHsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmZhNTAwOyB9Ci5kb3dubG9hZC1pbmZvIHsgZmxleDogMTsgfQouZG93bmxvYWQtaW5mbyAubmFtZSB7IGZvbnQtc2l6ZTogMC45cmVtOyBkaXNwbGF5OiBibG9jazsgfQouZG93bmxvYWQtaW5mbyAuc3RhdHVzIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogIzg4ODsgfQouZG93bmxvYWQtYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNnB4OyB9Ci5idG4tc2F2ZSB7IHBhZGRpbmc6IDRweCAxMHB4OyBiYWNrZ3JvdW5kOiAjMGYzNDYwOyBib3JkZXI6IDFweCBzb2xpZCAjMGYwOyBib3JkZXItcmFkaXVzOiA0cHg7IGNvbG9yOiAjMGYwOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC44cmVtOyB9Ci5idG4tc2F2ZTpkaXNhYmxlZCB7IG9wYWNpdHk6IDAuNDsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfQouYnRuLWNhbmNlbCB7IHBhZGRpbmc6IDRweCAxMHB4OyBiYWNrZ3JvdW5kOiAjMGYzNDYwOyBib3JkZXI6IDFweCBzb2xpZCAjZjAwOyBib3JkZXItcmFkaXVzOiA0cHg7IGNvbG9yOiAjZjAwOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC44cmVtOyB9Ci5idG4tZGVsZXRlIHsgcGFkZGluZzogNHB4IDEwcHg7IGJhY2tncm91bmQ6ICMwZjM0NjA7IGJvcmRlcjogMXB4IHNvbGlkICM4ODg7IGJvcmRlci1yYWRpdXM6IDRweDsgY29sb3I6ICM4ODg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAwLjhyZW07IH0KLmJ0bi1zYXZlOmhvdmVyIHsgYmFja2dyb3VuZDogIzBmMDsgY29sb3I6ICMwMDA7IH0KLmJ0bi1jYW5jZWw6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjAwOyBjb2xvcjogI2ZmZjsgfQouYnRuLWRlbGV0ZTpob3ZlciB7IGJhY2tncm91bmQ6ICM4ODg7IGNvbG9yOiAjZmZmOyB9Ci5kb3dubG9hZC1wYXRoIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogIzY2NjsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQojZG93bmxvYWRzIHsgbWF4LXdpZHRoOiA2MDBweDsgbWFyZ2luOiAyMHB4IGF1dG87IH0KLmRvd25sb2FkLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IHBhZGRpbmc6IDEwcHggMTJweDsgYmFja2dyb3VuZDogIzE2MjEzZTsgYm9yZGVyLXJhZGl1czogOHB4OyBtYXJnaW46IDRweCAwOyB9Ci5kb3dubG9hZC1pdGVtIC5uYW1lIHsgZmxleDogMTsgZm9udC1zaXplOiAwLjlyZW07IH0KLmRvd25sb2FkLWl0ZW0gLnByb2dyZXNzLWJhciB7IGZsZXg6IDI7IGhlaWdodDogNnB4OyBiYWNrZ3JvdW5kOiAjMzMzOyBib3JkZXItcmFkaXVzOiAzcHg7IG92ZXJmbG93OiBoaWRkZW47IH0KLmRvd25sb2FkLWl0ZW0gLnByb2dyZXNzLWJhciAuZmlsbCB7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogIzBmMDsgdHJhbnNpdGlvbjogd2lkdGggMC4zczsgfQouZG93bmxvYWQtaXRlbSAucHJvZ3Jlc3MtYmFyIC5maWxsLmVycm9yIHsgYmFja2dyb3VuZDogI2YwMDsgfQouZG93bmxvYWQtaXRlbSAucHJvZ3Jlc3MtYmFyIC5maWxsLnJlc29sdmluZyB7IGJhY2tncm91bmQ6ICNmZjA7IH0KLmRvd25sb2FkLWl0ZW0gLnN0YXR1cyB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6ICM4ODg7IHdpZHRoOiA4MHB4OyB0ZXh0LWFsaWduOiByaWdodDsgfQouc2VjdGlvbi10aXRsZSB7IGNvbG9yOiAjZTk0NTYwOyBmb250LXNpemU6IDFyZW07IG1hcmdpbi1ib3R0b206IDEycHg7IGN1cnNvcjogcG9pbnRlcjsgfQoubG9hZGluZyB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNDBweDsgY29sb3I6ICM4ODg7IH0KLmVycm9yIHsgYmFja2dyb3VuZDogIzNkMDAwMDsgYm9yZGVyOiAxcHggc29saWQgI2U5NDU2MDsgcGFkZGluZzogMTJweDsgYm9yZGVyLXJhZGl1czogOHB4OyBtYXJnaW46IDEwcHggMDsgfQouaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQoudGFiLWJhciB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9Ci50YWIgeyBwYWRkaW5nOiA2cHggMTRweDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkICMzMzM7IGJvcmRlci1yYWRpdXM6IDZweDsgY29sb3I6ICM4ODg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAwLjg1cmVtOyB9Ci50YWIuYWN0aXZlIHsgYmFja2dyb3VuZDogI2U5NDU2MDsgY29sb3I6IHdoaXRlOyBib3JkZXItY29sb3I6ICNlOTQ1NjA7IH0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGhlYWRlcj4KICA8aDE+8J+OrCB4U3RyZWFtIERvd25sb2FkZXI8L2gxPgogIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2VhcmNoSW5wdXQiIHBsYWNlaG9sZGVyPSJGaWxtIG9kZXIgU2VyaWUgc3VjaGVuLi4uIiBvbmtleWRvd249ImlmKGV2ZW50LmtleT09PSdFbnRlcicpZG9TZWFyY2goKSI+CiAgPGJ1dHRvbiBvbmNsaWNrPSJkb1NlYXJjaCgpIj7wn5SNPC9idXR0b24+CiAgPGJ1dHRvbiBvbmNsaWNrPSJzaG93RG93bmxvYWRzKCkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMwZjM0NjA7Ij7wn5OlIERvd25sb2FkczwvYnV0dG9uPgo8L2hlYWRlcj4KPGRpdiBpZD0iYXBwIj4KICA8ZGl2IGlkPSJzaWRlYmFyIj4KICAgIDxoMz7wn5O6IFNpdGVzPC9oMz4KICAgIDxkaXYgaWQ9InNpdGVMaXN0Ij48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGlkPSJtYWluIj4KICAgIDxkaXYgaWQ9ImJyZWFkY3J1bWIiPjwvZGl2PgogICAgPGRpdiBpZD0iY29udGVudCI+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPHNjcmlwdD4KY29uc3QgQVBJID0gJy9hcGknOwpsZXQgc3RhdGUgPSB7IHZpZXc6ICdob21lJywgc2l0ZXM6IFtdLCBzaXRlOiBudWxsLCBlbnRyaWVzOiBbXSwgaG9zdGVyczogW10sIGN1cnJlbnRFbnRyeTogbnVsbCwgZG93bmxvYWRJZDogbnVsbCB9OwpsZXQgZG93bmxvYWRzID0ge307Ci8vIE5hdmlnYXRpb24gc3RhY2s6IFt7c2l0ZSwgZW50cmllcywgYnJlYWRjcnVtYn1dCmxldCBuYXZTdGFjayA9IFtdOwoKYXN5bmMgZnVuY3Rpb24gYXBpKHVybCkgewogIGNvbnN0IHIgPSBhd2FpdCBmZXRjaChBUEkgKyB1cmwpOwogIGlmICghci5vaykgeyBjb25zdCBlID0gYXdhaXQgci5qc29uKCk7IHRocm93IG5ldyBFcnJvcihlLmVycm9yIHx8ICdBUEkgZXJyb3InKTsgfQogIHJldHVybiByLmpzb24oKTsKfQoKYXN5bmMgZnVuY3Rpb24gbG9hZFNpdGVzKCkgewogIHRyeSB7CiAgICBzdGF0ZS5zaXRlcyA9IGF3YWl0IGFwaSgnL3NpdGVzJyk7CiAgICAvLyBiYWNrZW5kcyByZXNwb25zZSBoYXMgaWQgYWxyZWFkeSBzbyB3ZSBqdXN0IHVzZSBpdCBkaXJlY3RseQogICAgc3RhdGUuc2l0ZXMgPSBzdGF0ZS5zaXRlczsKICAgIHJlbmRlclNpZGViYXIoKTsKICB9IGNhdGNoKGUpIHsgY29uc29sZS5lcnJvcihlKTsgfQp9CgpmdW5jdGlvbiByZW5kZXJTaWRlYmFyKCkgewogIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NpdGVMaXN0Jyk7CiAgZWwuaW5uZXJIVE1MID0gc3RhdGUuc2l0ZXMubWFwKHMgPT4KICAgIGA8YnV0dG9uIGNsYXNzPSJzaXRlLWJ0biR7c3RhdGUuc2l0ZSAmJiBzdGF0ZS5zaXRlLmlkID09PSBzLmlkID8gJyBhY3RpdmUnIDogJyd9IiBvbmNsaWNrPSJsb2FkU2l0ZSgnJHtzLmlkfScpIj4ke3MubmFtZX08L2J1dHRvbj5gCiAgKS5qb2luKCcnKTsKfQoKYXN5bmMgZnVuY3Rpb24gbG9hZFNpdGUoaWQpIHsKICBzdGF0ZS5zaXRlID0gc3RhdGUuc2l0ZXMuZmluZChzID0+IHMuaWQgPT09IGlkKTsKICBpZiAoIXN0YXRlLnNpdGUpIHJldHVybjsKICBjbGVhckRvd25sb2Fkc1JlZnJlc2goKTsKICBzdGF0ZS52aWV3ID0gJ3NpdGUnOwogIHN0YXRlLmVudHJpZXMgPSBbXTsKICBzdGF0ZS5ob3N0ZXJzID0gW107CiAgc2V0QkMoWydTaXRlcycsIHN0YXRlLnNpdGUubmFtZV0pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9ImxvYWRpbmciPkxhZGUuLi48L2Rpdj4nOwogIHRyeSB7CiAgICBjb25zdCBkYXRhID0gYXdhaXQgYXBpKGAvc2l0ZXMvJHtpZH0vZW50cmllc2ApOwogICAgc3RhdGUuZW50cmllcyA9IGRhdGEuZW50cmllcyB8fCBbXTsKICAgIHJlbmRlckVudHJpZXMoKTsKICB9IGNhdGNoKGUpIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImVycm9yIj4ke2UubWVzc2FnZX08L2Rpdj5gOwogIH0KICByZW5kZXJTaWRlYmFyKCk7Cn0KCmZ1bmN0aW9uIHJlbmRlckVudHJpZXMoKSB7CiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpOwogIGlmICghc3RhdGUuZW50cmllcy5sZW5ndGgpIHsKICAgIGVsLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJsb2FkaW5nIj5LZWluZSBFaW50csOkZ2UgZ2VmdW5kZW48L2Rpdj4nOwogICAgcmV0dXJuOwogIH0KCiAgLy8gU3VjaGVyZ2Vibmlzc2UgYWxzIExpc3RlIGFuemVpZ2VuCiAgaWYgKHN0YXRlLnZpZXcgPT09ICdzZWFyY2gnKSB7CiAgICBlbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0ic2VhcmNoLXJlc3VsdHMiPgogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlN1Y2hlcmdlYm5pc3NlICgke3N0YXRlLmVudHJpZXMubGVuZ3RofSk8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJlbnRyeS1saXN0Ij4KICAgICAgICAke3N0YXRlLmVudHJpZXMubWFwKChlLCBpKSA9PiBgCiAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktaXRlbSI+CiAgICAgICAgICAke2UudGh1bWIgPyBgPGltZyBzcmM9IiR7ZS50aHVtYn0iIGNsYXNzPSJlbnRyeS10aHVtYiIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+YCA6ICc8ZGl2IGNsYXNzPSJlbnRyeS10aHVtYiBwbGFjZWhvbGRlciI+8J+OrDwvZGl2Pid9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbnRyeS1pbmZvIiBvbmNsaWNrPSJvcGVuU2VhcmNoUmVzdWx0KCR7aX0pIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW50cnktdGl0bGUiPiR7ZS50aXRsZSB8fCAnVW5uYW1lZCd9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVudHJ5LW1ldGEiPgogICAgICAgICAgICAgICR7ZS55ZWFyID8gYDxzcGFuIGNsYXNzPSJlbnRyeS15ZWFyIj4ke2UueWVhcn08L3NwYW4+YCA6ICcnfQogICAgICAgICAgICAgICR7ZS5fc2l0ZSA/IGA8c3BhbiBjbGFzcz0iZW50cnktc2l0ZSI+JHtlLl9zaXRlLm5hbWV9PC9zcGFuPmAgOiAnJ30KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVudHJ5LWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tc3RyZWFtLXNtIiBvbmNsaWNrPSJvcGVuU2VhcmNoU3RyZWFtKCR7aX0pIiB0aXRsZT0iU3RyZWFtIj7ilrY8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWRvd25sb2FkLXNtIiBvbmNsaWNrPSJhZGRTZWFyY2hEb3dubG9hZCgke2l9KSIgdGl0bGU9IkRvd25sb2FkIj7irIc8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PmApLmpvaW4oJycpfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PmA7CiAgICByZXR1cm47CiAgfQoKICAvLyBOb3JtYWxlIEthcnRlbmFuc2ljaHQKICBlbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0iZW50cmllcyI+JHtzdGF0ZS5lbnRyaWVzLm1hcChlID0+IGAKICAgIDxkaXYgY2xhc3M9ImNhcmQiIG9uY2xpY2s9InNlbGVjdEVudHJ5KCR7c3RhdGUuZW50cmllcy5pbmRleE9mKGUpfSkiPgogICAgICAke2UudGh1bWIgPyBgPGltZyBzcmM9IiR7ZS50aHVtYn0iIG9uZXJyb3I9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSciPmAgOiAnJ30KICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj4ke2UudGl0bGUgfHwgJ1VubmFtZWQnfTwvZGl2PgogICAgICAgICR7ZS55ZWFyID8gYDxkaXYgY2xhc3M9ImNhcmQtbWV0YSI+JHtlLnllYXJ9PC9kaXY+YCA6ICcnfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PmApLmpvaW4oJycpfTwvZGl2PmA7Cn0KCmFzeW5jIGZ1bmN0aW9uIHNlbGVjdEVudHJ5KGlkeCkgewogIGNvbnN0IGVudHJ5ID0gc3RhdGUuZW50cmllc1tpZHhdOwogIHN0YXRlLmN1cnJlbnRFbnRyeSA9IGVudHJ5OwogIHN0YXRlLmhvc3RlcnMgPSBbXTsKICAKICBpZiAoZW50cnkuaXNGb2xkZXIpIHsKICAgIC8vIEZvbGRlcjogYWt0dWVsbGVuIFN0YW5kIG1lcmtlbiB1bmQgdGllZmVyIG5hdmlnaWVyZW4KICAgIG5hdlN0YWNrLnB1c2goeyBzaXRlOiBzdGF0ZS5zaXRlLCBlbnRyaWVzOiBbLi4uc3RhdGUuZW50cmllc10gfSk7CiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7CiAgICBlbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0ibG9hZGluZyI+TGFkZSAiJHtlbnRyeS50aXRsZX0iLi4uPC9kaXY+YDsKICAgIHRyeSB7CiAgICAgIGNvbnN0IGVuY29kZWQgPSBlbmNvZGVVUklDb21wb25lbnQoZW50cnkudXJsKTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaShgL3NpdGVzLyR7c3RhdGUuc2l0ZS5pZH0vZW50cmllcy8ke2VuY29kZWR9YCk7CiAgICAgIHN0YXRlLmVudHJpZXMgPSBkYXRhLmVudHJpZXMgfHwgW107CiAgICAgIHNldEJDKFtzdGF0ZS5zaXRlLm5hbWUsIGVudHJ5LnRpdGxlXSk7CiAgICAgIGlmIChzdGF0ZS5lbnRyaWVzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIGVsLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJlcnJvciI+S2VpbmUgRWludHJhZWdlIGdlZnVuZGVuPC9kaXY+PGJ1dHRvbiBjbGFzcz0idGFiIiBvbmNsaWNrPSJnb0JhY2soKSI+4oaQIFp1cnVlY2s8L2J1dHRvbj5gOwogICAgICB9IGVsc2UgewogICAgICAgIHJlbmRlckVudHJpZXMoKTsKICAgICAgfQogICAgfSBjYXRjaChlKSB7CiAgICAgIGVsLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJlcnJvciI+JHtlLm1lc3NhZ2V9PC9kaXY+PGJ1dHRvbiBjbGFzcz0idGFiIiBvbmNsaWNrPSJnb0JhY2soKSI+4oaQIFp1cnVlY2s8L2J1dHRvbj5gOwogICAgfQogIH0gZWxzZSB7CiAgICAvLyBOaWNodC1Gb2xkZXI6IEhvc3RlcnMgbGFkZW4KICAgIHNldEJDKFtzdGF0ZS5zaXRlLm5hbWUsIGVudHJ5LnRpdGxlXSk7CiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7CiAgICBlbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0ibG9hZGluZyI+TGFkZSBIb3N0ZXJzIGbDvHIgIiR7ZW50cnkudGl0bGV9Ii4uLjwvZGl2PmA7CiAgICB0cnkgewogICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdXJsOiBlbnRyeS51cmwgfHwgJycsIGVwaXNvZGU6IGVudHJ5LmVwaXNvZGUgfHwgJycgfSk7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBhcGkoYC9zaXRlcy8ke3N0YXRlLnNpdGUuaWR9L2hvc3RlcnM/JHtwYXJhbXN9YCk7CiAgICAgIHN0YXRlLmhvc3RlcnMgPSAoZGF0YS5ob3N0ZXJzIHx8IFtdKS5maWx0ZXIoaCA9PiB0eXBlb2YgaCA9PT0gJ29iamVjdCcpOwogICAgICByZW5kZXJIb3N0ZXJzKGVudHJ5KTsKICAgIH0gY2F0Y2goZSkgewogICAgICBlbC5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0iZXJyb3IiPiR7ZS5tZXNzYWdlfTwvZGl2PjxidXR0b24gY2xhc3M9InRhYiIgb25jbGljaz0iZ29CYWNrKCkiPuKGkCBadXJ1ZWNrPC9idXR0b24+YDsKICAgIH0KICB9Cn0KCmZ1bmN0aW9uIHJlbmRlckhvc3RlcnMoZW50cnkpIHsKICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7CiAgaWYgKCFzdGF0ZS5ob3N0ZXJzLmxlbmd0aCkgewogICAgZWwuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImVycm9yIj5LZWluZSBIb3N0ZXJzIGdlZnVuZGVuPC9kaXY+PGJ1dHRvbiBjbGFzcz0idGFiIiBvbmNsaWNrPSJsb2FkU2l0ZSgnJHtzdGF0ZS5zaXRlLmlkfScpIj7ihpAgWnVyw7xjazwvYnV0dG9uPmA7CiAgICByZXR1cm47CiAgfQogIGVsLmlubmVySFRNTCA9IGAKICAgIDxkaXYgY2xhc3M9Imhvc3Rlci1saXN0Ij4KICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj7irIfvuI8gIiR7ZW50cnkudGl0bGV9IjwvaDI+CiAgICAgICR7c3RhdGUuaG9zdGVycy5tYXAoKGgsIGkpID0+IGAKICAgICAgPGRpdiBjbGFzcz0iaG9zdGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iaG9zdGVyLW5hbWUiPiR7aC5kaXNwbGF5ZWROYW1lIHx8IGgubmFtZX08L3NwYW4+CiAgICAgICAgJHtoLnF1YWxpdHkgPyBgPHNwYW4gY2xhc3M9Imhvc3Rlci1xdWFsaXR5Ij4ke2gucXVhbGl0eX08L3NwYW4+YCA6ICcnfQogICAgICAgIDxkaXYgY2xhc3M9Imhvc3Rlci1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1zdHJlYW0iIG9uY2xpY2s9Im9wZW5JblRhYigke2l9LCAnJHtqc0VzY2FwZShoLmxpbmsgfHwgaC51cmwpfScpIj7ilrYgU3RyZWFtPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tZG93bmxvYWQiIG9uY2xpY2s9ImFkZFRvRG93bmxvYWQoJHtpfSwgJyR7anNFc2NhcGUoaC5saW5rIHx8IGgudXJsKX0nLCAnJHtqc0VzY2FwZShlbnRyeS50aXRsZSl9JykiPuKshyBEb3dubG9hZDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj5gKS5qb2luKCcnKX0KICAgIDwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0idGFiIiBvbmNsaWNrPSJsb2FkU2l0ZSgnJHtzdGF0ZS5zaXRlLmlkfScpIj7ihpAgWnVyw7xjazwvYnV0dG9uPgogIGA7Cn0KCmZ1bmN0aW9uIGpzRXNjYXBlKHMpIHsKICByZXR1cm4gKHMgfHwgJycpLnJlcGxhY2UoLycvZywgIlxcJyIpLnJlcGxhY2UoLyIvZywgJ1xcIicpOwp9CgoKCmZ1bmN0aW9uIG9wZW5JblRhYihpZHgsIHVybCkgewogIC8vIMOWZmZuZXQgZGVuIFN0cmVhbSBpbiBlaW5lbSBuZXVlbiBUYWIKICBjb25zdCBsaW5rID0gdXJsIHx8ICcnOwogIGlmIChsaW5rKSB7CiAgICB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJyk7CiAgfSBlbHNlIHsKICAgIGFsZXJ0KCdLZWluIExpbmsgdmVyZsO8Z2JhcicpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gYWRkVG9Eb3dubG9hZChpZHgsIHVybCwgdGl0bGUpIHsKICAvLyBGw7xndCBkZW4gU3RyZWFtIHp1ciBEb3dubG9hZC1RdWV1ZSBoaW56dQogIGNvbnN0IGxpbmsgPSB1cmwgfHwgJyc7CiAgaWYgKCFsaW5rKSB7CiAgICBhbGVydCgnS2VpbiBMaW5rIHZlcmbDvGdiYXInKTsKICAgIHJldHVybjsKICB9CiAgdHJ5IHsKICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBhcGkoYC9kb3dubG9hZD91cmw9JHtlbmNvZGVVUklDb21wb25lbnQobGluayl9JnRpdGxlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRpdGxlKX1gKTsKICAgIGlmIChkYXRhLmlkKSB7CiAgICAgIGFsZXJ0KGDirIcgRG93bmxvYWQgZ2VzdGFydGV0IVxuXG5UaXRlbDogJHt0aXRsZX1cbklEOiAke2RhdGEuaWR9XG5cbktsaWNrZSBvYmVuIGF1ZiAi8J+TpSBEb3dubG9hZHMiIHVtIGRlbiBGb3J0c2Nocml0dCB6dSBzZWhlbi5gKTsKICAgIH0gZWxzZSBpZiAoZGF0YS5lcnJvcikgewogICAgICBhbGVydCgnRmVobGVyOiAnICsgZGF0YS5lcnJvcik7CiAgICB9CiAgfSBjYXRjaChlKSB7CiAgICBhbGVydCgnRmVobGVyIGJlaW0gU3RhcnRlbiBkZXMgRG93bmxvYWRzOiAnICsgZS5tZXNzYWdlKTsKICB9Cn0KCmFzeW5jIGZ1bmN0aW9uIG9wZW5TZWFyY2hSZXN1bHQoaWR4KSB7CiAgY29uc3QgZW50cnkgPSBzdGF0ZS5lbnRyaWVzW2lkeF07CiAgaWYgKCFlbnRyeSkgcmV0dXJuOwogIAogIGNvbnN0IHNpdGUgPSBlbnRyeS5fc2l0ZTsKICBpZiAoIXNpdGUpIHsKICAgIGFsZXJ0KCdTaXRlIG5pY2h0IGdlZnVuZGVuJyk7CiAgICByZXR1cm47CiAgfQogIAogIC8vIMOWZmZuZSBMaW5rIGRpcmVrdCBpbSBuZXVlbiBUYWIgLSBsYWRlIGVyc3QgSG9zdGVycyBpbSBIaW50ZXJncnVuZAogIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB1cmw6IGVudHJ5LnVybCB8fCAnJyB9KTsKICAKICB0cnkgewogICAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaShgL3NpdGVzLyR7c2l0ZS5pZH0vaG9zdGVycz8ke3BhcmFtc31gKTsKICAgIGNvbnN0IGhvc3RlcnMgPSAoZGF0YS5ob3N0ZXJzIHx8IFtdKS5maWx0ZXIoaCA9PiB0eXBlb2YgaCA9PT0gJ29iamVjdCcpOwogICAgCiAgICBpZiAoaG9zdGVycy5sZW5ndGggPiAwKSB7CiAgICAgIGNvbnN0IGxpbmsgPSBob3N0ZXJzWzBdLmxpbmsgfHwgaG9zdGVyc1swXS51cmw7CiAgICAgIHdpbmRvdy5vcGVuKGxpbmssICdfYmxhbmsnKTsKICAgIH0gZWxzZSB7CiAgICAgIGFsZXJ0KCdLZWluZSBTdHJlYW1zIGdlZnVuZGVuIGbDvHIgIicgKyBlbnRyeS50aXRsZSArICciJyk7CiAgICB9CiAgfSBjYXRjaChlKSB7CiAgICBhbGVydCgnRmVobGVyIGJlaW0gTGFkZW4gZGVyIFN0cmVhbXM6ICcgKyBlLm1lc3NhZ2UpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gb3BlblNlYXJjaFN0cmVhbShpZHgpIHsKICAvLyBTdHJlYW0gaW4gbmV1ZW0gVGFiIC0gYmxlaWJ0IGF1ZiBkZXIgU3VjaHNlaXRlCiAgYXdhaXQgb3BlblNlYXJjaFJlc3VsdChpZHgpOwp9Cgphc3luYyBmdW5jdGlvbiBhZGRTZWFyY2hEb3dubG9hZChpZHgpIHsKICAvLyBEb3dubG9hZCBzdGFydGVuCiAgY29uc3QgZW50cnkgPSBzdGF0ZS5lbnRyaWVzW2lkeF07CiAgaWYgKCFlbnRyeSkgcmV0dXJuOwogIAogIGNvbnN0IHNpdGUgPSBlbnRyeS5fc2l0ZTsKICBpZiAoIXNpdGUpIHsKICAgIGFsZXJ0KCdTaXRlIG5pY2h0IGdlZnVuZGVuJyk7CiAgICByZXR1cm47CiAgfQogIAogIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB1cmw6IGVudHJ5LnVybCB8fCAnJyB9KTsKICAKICB0cnkgewogICAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaShgL3NpdGVzLyR7c2l0ZS5pZH0vaG9zdGVycz8ke3BhcmFtc31gKTsKICAgIGNvbnN0IGhvc3RlcnMgPSAoZGF0YS5ob3N0ZXJzIHx8IFtdKS5maWx0ZXIoaCA9PiB0eXBlb2YgaCA9PT0gJ29iamVjdCcpOwogICAgCiAgICBpZiAoaG9zdGVycy5sZW5ndGggPiAwKSB7CiAgICAgIGNvbnN0IGxpbmsgPSBob3N0ZXJzWzBdLmxpbmsgfHwgaG9zdGVyc1swXS51cmw7CiAgICAgIGNvbnN0IGRpZCA9IGF3YWl0IGFwaShgL2Rvd25sb2FkP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChsaW5rKX0mdGl0bGU9JHtlbmNvZGVVUklDb21wb25lbnQoZW50cnkudGl0bGUpfWApOwogICAgICBhbGVydCgnRG93bmxvYWQgZ2VzdGFydGV0OiAnICsgZW50cnkudGl0bGUpOwogICAgICBzaG93RG93bmxvYWRzKCk7CiAgICB9IGVsc2UgewogICAgICBhbGVydCgnS2VpbmUgU3RyZWFtcyBnZWZ1bmRlbiBmw7xyICInICsgZW50cnkudGl0bGUgKyAnIicpOwogICAgfQogIH0gY2F0Y2goZSkgewogICAgYWxlcnQoJ0ZlaGxlciBiZWltIFN0YXJ0ZW4gZGVzIERvd25sb2FkczogJyArIGUubWVzc2FnZSk7CiAgfQp9Cgphc3luYyBmdW5jdGlvbiBwb2xsRG93bmxvYWQoZGlkLCBpZHgsIHRpdGxlKSB7CiAgY29uc3QgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRsYnRuJHtpZHh9YCk7CiAgY29uc3QgbWF4V2FpdCA9IDEyMDsKICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7CiAgYXN5bmMgZnVuY3Rpb24gcG9sbCgpIHsKICAgIHRyeSB7CiAgICAgIGNvbnN0IGQgPSBhd2FpdCBhcGkoYC9kb3dubG9hZHMvJHtkaWR9YCk7CiAgICAgIGlmIChkLnN0YXR1cyA9PT0gJ2NvbXBsZXRlJykgewogICAgICAgIGJ0bi50ZXh0Q29udGVudCA9ICfinIUgRmVydGlnJzsKICAgICAgICBkb3dubG9hZHNbZGlkXSA9IGQ7CiAgICAgIH0gZWxzZSBpZiAoZC5zdGF0dXMgPT09ICdlcnJvcicpIHsKICAgICAgICBidG4udGV4dENvbnRlbnQgPSAn4p2MICcgKyAoZC5lcnJvciB8fCAnRmVobGVyJyk7CiAgICAgICAgYnRuLnRpdGxlID0gZC5lcnJvcjsKICAgICAgfSBlbHNlIHsKICAgICAgICBidG4udGV4dENvbnRlbnQgPSBg8J+TpSAke2QucHJvZ3Jlc3N9JWA7CiAgICAgICAgaWYgKERhdGUubm93KCkgLSBzdGFydCA8IG1heFdhaXQgKiAxMDAwKSB7CiAgICAgICAgICBzZXRUaW1lb3V0KHBvbGwsIDEwMDApOwogICAgICAgIH0KICAgICAgfQogICAgfSBjYXRjaChlKSB7CiAgICAgIGJ0bi50ZXh0Q29udGVudCA9ICfinYwgQVBJIEZlaGxlcic7CiAgICB9CiAgfQogIHBvbGwoKTsKfQoKYXN5bmMgZnVuY3Rpb24gZG9TZWFyY2goKSB7CiAgY29uc3QgcSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2hJbnB1dCcpLnZhbHVlLnRyaW0oKTsKICBpZiAoIXEpIHJldHVybjsKICBjbGVhckRvd25sb2Fkc1JlZnJlc2goKTsKICBzdGF0ZS52aWV3ID0gJ3NlYXJjaCc7CiAgc3RhdGUuZW50cmllcyA9IFtdOwogIHNldEJDKFtgU3VjaGU6ICIke3F9ImBdKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJsb2FkaW5nIj5TdWNoZSBsw6R1ZnQuLi48L2Rpdj4nOwoKICAvLyBHbG9iYWwgc2VhcmNoIGFjcm9zcyBhbGwgc2l0ZXMKICBjb25zdCByZXN1bHRzID0gW107CiAgY29uc3QgZXJyb3JzID0gW107CiAgZm9yIChjb25zdCBzaXRlIG9mIHN0YXRlLnNpdGVzKSB7CiAgICB0cnkgewogICAgICBjb25zdCBkYXRhID0gYXdhaXQgYXBpKGAvc2l0ZXMvJHtzaXRlLmlkfS9zZWFyY2g/cT0ke2VuY29kZVVSSUNvbXBvbmVudChxKX1gKTsKICAgICAgaWYgKGRhdGEuZW50cmllcyAmJiBkYXRhLmVudHJpZXMubGVuZ3RoKSB7CiAgICAgICAgZGF0YS5lbnRyaWVzLmZvckVhY2goZSA9PiB7CiAgICAgICAgICBlLl9zaXRlID0gc2l0ZTsKICAgICAgICAgIC8vIEtlaW4gUHJlZml4IG1laHIgLSBUaXRlbCBrb21tZW4gc2F1YmVyIHp1csO8Y2sKICAgICAgICB9KTsKICAgICAgICByZXN1bHRzLnB1c2goLi4uZGF0YS5lbnRyaWVzKTsKICAgICAgfSBlbHNlIGlmIChkYXRhLmVycm9yKSB7CiAgICAgICAgZXJyb3JzLnB1c2goYCR7c2l0ZS5uYW1lfTogJHtkYXRhLmVycm9yfWApOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHsKICAgICAgZXJyb3JzLnB1c2goYCR7c2l0ZS5uYW1lfTogJHtlLm1lc3NhZ2V9YCk7CiAgICB9CiAgfQoKICAvLyBEdXBsaWthdGUgenVzYW1tZW5mYXNzZW4gKGdsZWljaGUgVGl0ZWwgbnVyIGVpbm1hbCB6ZWlnZW4pCiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTsKICBjb25zdCB1bmlxdWVSZXN1bHRzID0gW107CiAgZm9yIChjb25zdCByIG9mIHJlc3VsdHMpIHsKICAgIGNvbnN0IGtleSA9IHIudGl0bGUudG9Mb3dlckNhc2UoKS50cmltKCk7CiAgICBpZiAoIXNlZW4uaGFzKGtleSkpIHsKICAgICAgc2Vlbi5hZGQoa2V5KTsKICAgICAgdW5pcXVlUmVzdWx0cy5wdXNoKHIpOwogICAgfQogIH0KCiAgaWYgKHJlc3VsdHMubGVuZ3RoID09PSAwKSB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLmlubmVySFRNTCA9IGAKICAgICAgPGRpdiBjbGFzcz0iZXJyb3IiPgogICAgICAgIDxoMz5LZWluZSBFcmdlYm5pc3NlIGdlZnVuZGVuPC9oMz4KICAgICAgICA8cD5WZXJzdWNoZSBlaW5lbiBhbmRlcmVuIFN1Y2hiZWdyaWZmPC9wPgogICAgICAgICR7ZXJyb3JzLmxlbmd0aCA/IGA8ZGV0YWlscz48c3VtbWFyeT5GZWhsZXI8L3N1bW1hcnk+PHByZT4ke2Vycm9ycy5qb2luKCdcbicpfTwvcHJlPjwvZGV0YWlscz5gIDogJyd9CiAgICAgIDwvZGl2PmA7CiAgfSBlbHNlIHsKICAgIHN0YXRlLmVudHJpZXMgPSB1bmlxdWVSZXN1bHRzOwogICAgcmVuZGVyRW50cmllcygpOwogIH0KfQoKbGV0IF9kb3dubG9hZHNSZWZyZXNoSWQgPSBudWxsOwoKZnVuY3Rpb24gY2xlYXJEb3dubG9hZHNSZWZyZXNoKCkgewogIGlmIChfZG93bmxvYWRzUmVmcmVzaElkKSB7CiAgICBjbGVhclRpbWVvdXQoX2Rvd25sb2Fkc1JlZnJlc2hJZCk7CiAgICBfZG93bmxvYWRzUmVmcmVzaElkID0gbnVsbDsKICB9Cn0KCmFzeW5jIGZ1bmN0aW9uIHNob3dEb3dubG9hZHMoKSB7CiAgY2xlYXJEb3dubG9hZHNSZWZyZXNoKCk7CiAgc3RhdGUudmlldyA9ICdkb3dubG9hZHMnOwogIHNldEJDKFsnRG93bmxvYWRzJ10pOwogIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKTsKICBlbC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZG93bmxvYWRzIj48ZGl2IGNsYXNzPSJsb2FkaW5nIj5MYWRlLi4uPC9kaXY+PC9kaXY+JzsKICB0cnkgewogICAgY29uc3QgW2xpc3QsIGRpckluZm9dID0gYXdhaXQgUHJvbWlzZS5hbGwoWwogICAgICBhcGkoJy9kb3dubG9hZHMnKSwKICAgICAgYXBpKCcvZG93bmxvYWRzL2RpcicpCiAgICBdKTsKICAgIHN0YXRlLmRvd25sb2FkRGlyID0gZGlySW5mby5kaXI7CiAgICBlbC5pbm5lckhUTUwgPSBgPGRpdiBpZD0iZG93bmxvYWRzIj4KICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj7wn5OlIERvd25sb2FkczwvaDI+CiAgICAgIDxkaXYgY2xhc3M9ImRvd25sb2FkLXBhdGgiPk9yZG5lcjogJHtzdGF0ZS5kb3dubG9hZERpcn08L2Rpdj4KICAgICAgJHtsaXN0Lmxlbmd0aCA/IGxpc3QubWFwKGQgPT4gYAogICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1pdGVtICR7ZC5zdGF0dXN9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1pbmZvIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke2QudGl0bGV9PC9zcGFuPgogICAgICAgICAgJHtkLnN0YXR1cyA9PT0gJ2Rvd25sb2FkaW5nJyB8fCBkLnN0YXR1cyA9PT0gJ3Jlc29sdmluZycgPyBgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJmaWxsICR7ZC5zdGF0dXN9IiBzdHlsZT0id2lkdGg6JHtkLnByb2dyZXNzfSUiPjwvZGl2PjwvZGl2PmAgOiAnJ30KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMiPiR7ZC5zdGF0dXMgPT09ICdjb21wbGV0ZScgPyAn4pyFIEZlcnRpZycgOiBkLnN0YXR1cyA9PT0gJ2Vycm9yJyA/ICfinYwgJyArIChkLmVycm9yIHx8ICdGZWhsZXInKSA6IGQuc3RhdHVzID09PSAnY2FuY2VsbGVkJyA/ICfinYwgQWJnZWJyb2NoZW4nIDogZC5zdGF0dXMgPT09ICdkb3dubG9hZGluZycgPyAn4o+zIEzDpGR0Li4uJyA6IGQuc3RhdHVzID09PSAncmVzb2x2aW5nJyA/ICfwn5SXIEF1ZmzDtnNlbi4uLicgOiBkLnByb2dyZXNzICsgJyUnfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1hY3Rpb25zIj4KICAgICAgICAgICR7ZC5zdGF0dXMgPT09ICdjb21wbGV0ZScgPyBgPGJ1dHRvbiBjbGFzcz0iYnRuLXNhdmUiIG9uY2xpY2s9InNhdmVEb3dubG9hZCgnJHtkLmlkfScsIHRoaXMpIj7wn5K+IFNwZWljaGVybjwvYnV0dG9uPmAgOiAnJ30KICAgICAgICAgICR7ZC5zdGF0dXMgPT09ICdkb3dubG9hZGluZycgfHwgZC5zdGF0dXMgPT09ICdyZXNvbHZpbmcnID8gYDxidXR0b24gY2xhc3M9ImJ0bi1jYW5jZWwiIG9uY2xpY2s9ImNhbmNlbERvd25sb2FkKCcke2QuaWR9JykiPuKcliBBYmJyZWNoZW48L2J1dHRvbj5gIDogJyd9CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tZGVsZXRlIiBvbmNsaWNrPSJkZWxldGVEb3dubG9hZCgnJHtkLmlkfScpIj7wn5eRIEzDtnNjaGVuPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PmApLmpvaW4oJycpIDogJzxkaXYgY2xhc3M9ImxvYWRpbmciPktlaW5lIERvd25sb2FkczwvZGl2Pid9CiAgICA8L2Rpdj5gOwogIH0gY2F0Y2goZSkgewogICAgZWwuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImVycm9yIj4ke2UubWVzc2FnZX08L2Rpdj5gOwogIH0KICAvLyBBdXRvLXJlZnJlc2ggbWl0IGNhbmNlbC1UcmFja2luZwogIGlmIChzdGF0ZS52aWV3ID09PSAnZG93bmxvYWRzJykgewogICAgX2Rvd25sb2Fkc1JlZnJlc2hJZCA9IHNldFRpbWVvdXQoKCkgPT4gewogICAgICBfZG93bmxvYWRzUmVmcmVzaElkID0gbnVsbDsKICAgICAgc2hvd0Rvd25sb2FkcygpOwogICAgfSwgMzAwMCk7CiAgfQp9Cgphc3luYyBmdW5jdGlvbiBjYW5jZWxEb3dubG9hZChpZCkgewogIGlmICghY29uZmlybSgnRG93bmxvYWQgYWJicmVjaGVuPycpKSByZXR1cm47CiAgdHJ5IHsKICAgIGF3YWl0IGFwaShgL2Rvd25sb2Fkcy8ke2lkfS9jYW5jZWxgLCB7bWV0aG9kOiAnUE9TVCd9KTsKICAgIHNob3dEb3dubG9hZHMoKTsKICB9IGNhdGNoKGUpIHsKICAgIGFsZXJ0KCdGZWhsZXI6ICcgKyBlLm1lc3NhZ2UpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gZGVsZXRlRG93bmxvYWQoaWQpIHsKICBpZiAoIWNvbmZpcm0oJ0Rvd25sb2FkIGzDtnNjaGVuPycpKSByZXR1cm47CiAgdHJ5IHsKICAgIGF3YWl0IGFwaShgL2Rvd25sb2Fkcy8ke2lkfWAsIHttZXRob2Q6ICdERUxFVEUnfSk7CiAgICBzaG93RG93bmxvYWRzKCk7CiAgfSBjYXRjaChlKSB7CiAgICBhbGVydCgnRmVobGVyOiAnICsgZS5tZXNzYWdlKTsKICB9Cn0KCmZ1bmN0aW9uIHNhdmVEb3dubG9hZChpZCwgYnRuKSB7CiAgLy8gRG93bmxvYWQgc3RhcnRlbiAtIEJhY2tlbmQgbMO2c2NodCBkYW5hY2ggYXVzIExpc3RlCiAgYnRuLmRpc2FibGVkID0gdHJ1ZTsKICBidG4uc3R5bGUub3BhY2l0eSA9ICcwLjUnOwogIGxvY2F0aW9uLmhyZWYgPSBgL2FwaS9kb3dubG9hZHMvJHtpZH0vc2F2ZWA7Cn0KCmZ1bmN0aW9uIHNldEJDKHBhcnRzKSB7CiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnJlYWRjcnVtYicpOwogIGxldCBodG1sID0gJzxzcGFuIG9uY2xpY2s9ImdvSG9tZSgpIj5Ib21lPC9zcGFuPic7CiAgbGV0IHBhdGggPSAnJzsKICBwYXJ0cy5mb3JFYWNoKChwLCBpKSA9PiB7CiAgICBwYXRoICs9ICcvJyArIChzdGF0ZS5zaXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBwKSA/IHN0YXRlLnNpdGVzLmZpbmQocyA9PiBzLm5hbWUgPT09IHApLmlkIDogJycpOwogICAgaHRtbCArPSBgICZndDsgPHNwYW4+JHtwfTwvc3Bhbj5gOwogIH0pOwogIGVsLmlubmVySFRNTCA9IGh0bWw7Cn0KCmZ1bmN0aW9uIGdvQmFjaygpIHsKICBpZiAobmF2U3RhY2subGVuZ3RoID09PSAwKSB7CiAgICBnb0hvbWUoKTsKICAgIHJldHVybjsKICB9CiAgY29uc3QgcHJldiA9IG5hdlN0YWNrLnBvcCgpOwogIHN0YXRlLnNpdGUgPSBwcmV2LnNpdGU7CiAgc3RhdGUuZW50cmllcyA9IHByZXYuZW50cmllczsKICBzdGF0ZS5ob3N0ZXJzID0gW107CiAgc3RhdGUuY3VycmVudEVudHJ5ID0gbnVsbDsKICBzZXRCQyhbc3RhdGUuc2l0ZS5uYW1lXSk7CiAgcmVuZGVyRW50cmllcygpOwp9CgpmdW5jdGlvbiBnb0hvbWUoKSB7CiAgY2xlYXJEb3dubG9hZHNSZWZyZXNoKCk7CiAgc3RhdGUudmlldyA9ICdob21lJzsKICBzdGF0ZS5zaXRlID0gbnVsbDsKICBzdGF0ZS5lbnRyaWVzID0gW107CiAgc3RhdGUuaG9zdGVycyA9IFtdOwogIHN0YXRlLmN1cnJlbnRFbnRyeSA9IG51bGw7CiAgbmF2U3RhY2sgPSBbXTsKICBzZXRCQyhbXSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0ibG9hZGluZyI+V8OkaGxlIGVpbmUgU2l0ZSBhdXMgZGVtIE1lbsO8IG9kZXIgc3VjaGUgbmFjaCBlaW5lbSBGaWxtLjwvZGl2Pic7Cn0KCi8vIEluaXQKbG9hZFNpdGVzKCk7CmdvSG9tZSgpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==", + "encoding": "base64" + }, + "redirectURL": "", + "headersSize": 402, + "bodySize": 22222, + "_transferSize": 22624, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:51.253Z", + "time": 5.073999988927506, + "timings": { + "blocked": 1.2639999955296517, + "dns": 0.013000000000000012, + "ssl": -1, + "connect": 0.21700000000000003, + "send": 0.239, + "wait": 1.7660000059008598, + "receive": 1.5749999874969944, + "_blocked_queueing": 0.8249999955296516, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345513", + "pageref": "page_1" + }, { "_initiator": { "type": "script", @@ -14,21 +196,3311 @@ "callFrames": [ { "functionName": "api", - "scriptId": "285", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 107, + "lineNumber": 116, "columnNumber": 18 }, { - "functionName": "addToDownload", - "scriptId": "285", + "functionName": "loadSites", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 272, + "lineNumber": 123, + "columnNumber": 24 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 553, + "columnNumber": 0 + } + ] + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 506, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "1329" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:51 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 1329, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"hasSearch\":false,\"id\":\"animetoast\",\"name\":\"AnimeToast\",\"url\":\"https://\"},{\"hasSearch\":false,\"id\":\"aniworld\",\"name\":\"AniWorld\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"api_sites\",\"name\":\"API Seite\",\"url\":\"\"},{\"hasSearch\":false,\"id\":\"burningseries\",\"name\":\"BurningSeries\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"einschalten\",\"name\":\"Einschalten\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"fhdfilme\",\"name\":\"FHD Filme\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"filmpalast\",\"name\":\"FilmPalast\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"hdfilme\",\"name\":\"HD Filme\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"internetarchive\",\"name\":\"Internet Archive\",\"url\":\"https://\"},{\"hasSearch\":false,\"id\":\"kinoger\",\"name\":\"KinoGer\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"kkiste\",\"name\":\"KKiste\",\"url\":\"https://\"},{\"hasSearch\":false,\"id\":\"megakino\",\"name\":\"Megakino\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"moflix-stream\",\"name\":\"Moflix-Stream\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"netzkino\",\"name\":\"NetzKino\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"serienstream\",\"name\":\"SerienStream\",\"url\":\"https://\"},{\"hasSearch\":true,\"id\":\"streamcloud\",\"name\":\"Streamcloud\",\"url\":\"https://\"},{\"hasSearch\":false,\"id\":\"tmdb_browser\",\"name\":\"TMDB Browser\",\"url\":\"\"},{\"hasSearch\":true,\"id\":\"topstreamfilm\",\"name\":\"Topstreamfilm\",\"url\":\"https://\"}]\n" + }, + "redirectURL": "", + "headersSize": 168, + "bodySize": 1329, + "_transferSize": 1497, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:51.287Z", + "time": 12.097000005329958, + "timings": { + "blocked": 5.403999995867721, + "dns": 0.0239999999999998, + "ssl": -1, + "connect": 0.43299999999999983, + "send": 0.3679999999999999, + "wait": 4.147000001642853, + "receive": 1.7210000078193843, + "_blocked_queueing": 3.6629999958677217, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345521", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "other" + }, + "_priority": "High", + "_resourceType": "other", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/favicon.ico", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "If-Modified-Since", + "value": "Mon, 06 Jul 2026 20:52:19 GMT" + }, + { + "name": "If-None-Match", + "value": "\"1783371139.9121795-66-4217248750\"" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "image" + }, + { + "name": "Sec-Fetch-Mode", + "value": "no-cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 673, + "bodySize": 0 + }, + "response": { + "status": 304, + "statusText": "NOT MODIFIED", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept-Ranges", + "value": "bytes" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Disposition", + "value": "inline; filename=favicon.ico" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:51 GMT" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:51 GMT" + }, + { + "name": "ETag", + "value": "\"1783371139.9121795-66-4217248750\"" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 66, + "mimeType": "image/vnd.microsoft.icon", + "text": "AAABAAEAAQEAAAEAIAAoAAAAFgAAACgAAAABAAAAAgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "encoding": "base64" + }, + "redirectURL": "", + "headersSize": 301, + "bodySize": 0, + "_transferSize": 301, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:51.295Z", + "time": 6.218000009029172, + "timings": { + "blocked": 1.516000000800006, + "dns": 0.02300000000000002, + "ssl": -1, + "connect": 0.369, + "send": 0.32800000000000007, + "wait": 2.634000002992339, + "receive": 1.3480000052368268, + "_blocked_queueing": 1.034000000800006, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345528", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + }, + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/animetoast/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 532, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:53 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:52.971Z", + "time": 494.5289999985005, + "timings": { + "blocked": 1.1900000063525513, + "dns": 0.014000000000000012, + "ssl": -1, + "connect": 0.306, + "send": 0.23299999999999998, + "wait": 491.29599999704675, + "receive": 1.4899999951012433, + "_blocked_queueing": 0.7710000063525513, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345548", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/aniworld/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 530, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:54 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:53.467Z", + "time": 768.1129999955575, + "timings": { + "blocked": 0.6529999868534505, + "dns": 0.008000000000000007, + "ssl": -1, + "connect": 0.18200000000000002, + "send": 0.18799999999999994, + "wait": 765.6319999980404, + "receive": 1.4500000106636435, + "_blocked_queueing": 0.43399998685345054, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345560", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/api_sites/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 531, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:55 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:54.236Z", + "time": 1002.1800000000894, + "timings": { + "blocked": 0.7529999926136807, + "dns": 0.009000000000000008, + "ssl": -1, + "connect": 0.236, + "send": 0.22199999999999998, + "wait": 999.7210000027595, + "receive": 1.2390000047162175, + "_blocked_queueing": 0.49399999261368066, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345572", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/burningseries/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 535, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:55 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:55.240Z", + "time": 439.5969999877252, + "timings": { + "blocked": 0.8609999877074733, + "dns": 0.027000000000000024, + "ssl": -1, + "connect": 0.29500000000000004, + "send": 0.24, + "wait": 436.78700000340586, + "receive": 1.3869999966118485, + "_blocked_queueing": 0.5009999877074733, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345584", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/einschalten/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 533, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:56 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:55.681Z", + "time": 440.0629999991199, + "timings": { + "blocked": 0.573000004613772, + "dns": 0.008000000000000007, + "ssl": -1, + "connect": 0.21499999999999997, + "send": 0.184, + "wait": 437.50499999871755, + "receive": 1.5779999957885593, + "_blocked_queueing": 0.37900000461377203, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345592", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/fhdfilme/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 530, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:56 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:56.122Z", + "time": 434.0149999958612, + "timings": { + "blocked": 0.688000002592802, + "dns": 0.00899999999999998, + "ssl": -1, + "connect": 0.23, + "send": 0.20800000000000002, + "wait": 431.52199999919816, + "receive": 1.3579999940702692, + "_blocked_queueing": 0.45900000259280205, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345600", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/filmpalast/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 532, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:56 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:56.557Z", + "time": 420.82400000495, + "timings": { + "blocked": 0.6510000041136518, + "dns": 0.009000000000000008, + "ssl": -1, + "connect": 0.205, + "send": 0.197, + "wait": 418.39800000473485, + "receive": 1.3639999961014837, + "_blocked_queueing": 0.4420000041136518, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345612", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/hdfilme/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 529, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:57 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:56.979Z", + "time": 851.2969999907455, + "timings": { + "blocked": 0.7650000015823171, + "dns": 0.009000000000000008, + "ssl": -1, + "connect": 0.182, + "send": 0.20900000000000002, + "wait": 848.7140000038845, + "receive": 1.417999985278584, + "_blocked_queueing": 0.49900000158231705, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345620", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/internetarchive/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 537, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:58 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:57.832Z", + "time": 435.86499999574295, + "timings": { + "blocked": 0.6839999964991584, + "dns": 0.01100000000000001, + "ssl": -1, + "connect": 0.22300000000000003, + "send": 0.21500000000000002, + "wait": 432.8200000067996, + "receive": 1.91199999244418, + "_blocked_queueing": 0.44099999649915844, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345632", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/kinoger/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 529, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "571" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:59 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 571, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[{\"isFolder\":false,\"title\":\"Cranko (2024)\",\"url\":\"plugin://plugin.video.xstream/?site=kinoger&function=showHosters&entryUrl=https://kinoger.fun/20122-cranko-stream-deutsch-kostenlos.html\"},{\"isFolder\":false,\"title\":\"Crank (2006)\",\"url\":\"plugin://plugin.video.xstream/?site=kinoger&function=showHosters&entryUrl=https://kinoger.fun/16469-crank-kino-to.html\"},{\"isFolder\":false,\"title\":\"Crank 2 - High Voltage (2009)\",\"url\":\"plugin://plugin.video.xstream/?site=kinoger&function=showHosters&entryUrl=https://kinoger.fun/6948-crank-2-high-voltage-kino-to.html\"}]}\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 571, + "_transferSize": 738, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:58.269Z", + "time": 1001.9279999951524, + "timings": { + "blocked": 0.7270000010719523, + "dns": 0.008000000000000007, + "ssl": -1, + "connect": 0.21100000000000002, + "send": 0.186, + "wait": 998.9490000018133, + "receive": 1.8469999922672287, + "_blocked_queueing": 0.4760000010719523, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345644", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/kkiste/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 528, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:00:59 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:59.273Z", + "time": 440.07699999556786, + "timings": { + "blocked": 0.8929999905927106, + "dns": 0.01100000000000001, + "ssl": -1, + "connect": 0.24899999999999994, + "send": 0.267, + "wait": 437.34200000363404, + "receive": 1.3150000013411045, + "_blocked_queueing": 0.5739999905927107, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345671", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/megakino/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 530, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:00 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:00:59.714Z", + "time": 426.934999999417, + "timings": { + "blocked": 0.7769999868636951, + "dns": 0.01100000000000001, + "ssl": -1, + "connect": 0.22899999999999998, + "send": 0.21099999999999997, + "wait": 424.27199999969173, + "receive": 1.4350000128615648, + "_blocked_queueing": 0.5199999868636951, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345679", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/moflix-stream/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 535, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:00 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:00.142Z", + "time": 421.9450000057602, + "timings": { + "blocked": 0.7730000069988892, + "dns": 0.010000000000000009, + "ssl": -1, + "connect": 0.23299999999999998, + "send": 0.22799999999999998, + "wait": 419.0600000034729, + "receive": 1.640999995288439, + "_blocked_queueing": 0.5150000069988891, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345687", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/netzkino/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 530, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:00 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:00.565Z", + "time": 426.96700000398977, + "timings": { + "blocked": 0.609000000895001, + "dns": 0.00799999999999998, + "ssl": -1, + "connect": 0.182, + "send": 0.18699999999999994, + "wait": 424.4989999961499, + "receive": 1.4820000069448724, + "_blocked_queueing": 0.411000000895001, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345699", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/serienstream/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 534, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:01 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:00.993Z", + "time": 437.9690000025928, + "timings": { + "blocked": 0.6969999964991584, + "dns": 0.010000000000000009, + "ssl": -1, + "connect": 0.21899999999999997, + "send": 0.19100000000000006, + "wait": 435.363000004055, + "receive": 1.4890000020386651, + "_blocked_queueing": 0.44099999649915844, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345707", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/streamcloud/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 533, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:01 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:01.433Z", + "time": 431.19400000026263, + "timings": { + "blocked": 0.6639999953117222, + "dns": 0.01200000000000001, + "ssl": -1, + "connect": 0.23399999999999999, + "send": 0.19000000000000006, + "wait": 428.82799999837016, + "receive": 1.2660000065807253, + "_blocked_queueing": 0.41599999531172216, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345719", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/tmdb_browser/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 534, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:02 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:01.865Z", + "time": 423.1880000048932, + "timings": { + "blocked": 0.5830000115511939, + "dns": 0.009000000000000008, + "ssl": -1, + "connect": 0.18500000000000003, + "send": 0.18899999999999995, + "wait": 420.6379999955222, + "receive": 1.5839999978197739, + "_blocked_queueing": 0.3780000115511939, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345727", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "doSearch", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 399, + "columnNumber": 25 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onkeydown", + "scriptId": "91", + "url": "http://localhost:8770/", + "lineNumber": 93, + "columnNumber": 147 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/sites/topstreamfilm/search?q=crank", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "q", + "value": "crank" + } + ], + "cookies": [], + "headersSize": 535, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "55" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:02 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 55, + "mimeType": "application/json", + "compression": 0, + "text": "{\"entries\":[],\"error\":\"Keine Suchergebnisse gefunden\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 55, + "_transferSize": 221, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:02.290Z", + "time": 425.7010000043465, + "timings": { + "blocked": 0.7679999993843958, + "dns": 0.009000000000000008, + "ssl": -1, + "connect": 0.21499999999999997, + "send": 0.19700000000000006, + "wait": 423.1870000002356, + "receive": 1.325000004726462, + "_blocked_queueing": 0.5139999993843958, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345739", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 343, "columnNumber": 23 }, { "functionName": "onclick", - "scriptId": "295", + "scriptId": "92", "url": "http://localhost:8770/", "lineNumber": 0, "columnNumber": 0 @@ -42,7 +3514,7 @@ "connection": "8770", "request": { "method": "GET", - "url": "http://localhost:8770/api/download?url=https%3A%2F%2Fvidara.to%2Fe%2FkA6dA4w5ysRhu&title=Apostle%20(2018)", + "url": "http://localhost:8770/api/sites/kinoger/hosters?url=plugin%3A%2F%2Fplugin.video.xstream%2F%3Fsite%3Dkinoger%26function%3DshowHosters%26entryUrl%3Dhttps%3A%2F%2Fkinoger.fun%2F16469-crank-kino-to.html", "httpVersion": "HTTP/1.1", "headers": [ { @@ -101,15 +3573,181 @@ "queryString": [ { "name": "url", - "value": "https%3A%2F%2Fvidara.to%2Fe%2FkA6dA4w5ysRhu" + "value": "plugin%3A%2F%2Fplugin.video.xstream%2F%3Fsite%3Dkinoger%26function%3DshowHosters%26entryUrl%3Dhttps%3A%2F%2Fkinoger.fun%2F16469-crank-kino-to.html" + } + ], + "cookies": [], + "headersSize": 673, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "409" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:13 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 409, + "mimeType": "application/json", + "compression": 0, + "text": "{\"hosters\":[{\"displayedName\":\"meinecloud [I][720p][/I]\",\"link\":\"https://meinecloud.click/movie/tt0479884\",\"name\":\"meinecloud\",\"quality\":\"720\"},{\"displayedName\":\"dr0pstream [I][720p][/I]\",\"link\":\"https://dr0pstream.com/embed-kdfq0w285cd8.html\",\"name\":\"dr0pstream\",\"quality\":\"720\"},{\"displayedName\":\"mdy48tn97 [I][720p][/I]\",\"link\":\"https://mdy48tn97.com/e/3nllm7jgaw0r3m\",\"name\":\"mdy48tn97\",\"quality\":\"720\"}]}\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 409, + "_transferSize": 576, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:12.849Z", + "time": 825.1910000060788, + "timings": { + "blocked": 1.2770000051753596, + "dns": 0.014000000000000012, + "ssl": -1, + "connect": 0.315, + "send": 0.24, + "wait": 821.3679999937303, + "receive": 1.9770000071730465, + "_blocked_queueing": 0.8320000051753595, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345803", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 348, + "columnNumber": 24 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/download?url=https%3A%2F%2Fmeinecloud.click%2Fmovie%2Ftt0479884&title=Crank%20(2006)", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [ + { + "name": "url", + "value": "https%3A%2F%2Fmeinecloud.click%2Fmovie%2Ftt0479884" }, { "name": "title", - "value": "Apostle%20(2018)" + "value": "Crank%20(2006)" } ], "cookies": [], - "headersSize": 580, + "headersSize": 585, "bodySize": 0 }, "response": { @@ -123,7 +3761,7 @@ }, { "name": "Content-Length", - "value": "200" + "value": "205" }, { "name": "Content-Type", @@ -131,7 +3769,7 @@ }, { "name": "Date", - "value": "Tue, 07 Jul 2026 17:11:59 GMT" + "value": "Tue, 07 Jul 2026 20:01:13 GMT" }, { "name": "Server", @@ -140,36 +3778,37 @@ ], "cookies": [], "content": { - "size": 200, + "size": 205, "mimeType": "application/json", "compression": 0, - "text": "{\"error\":null,\"finished\":null,\"id\":\"935c5b78f315\",\"path\":null,\"progress\":0,\"source_url\":\"https://vidara.to/e/kA6dA4w5ysRhu\",\"started\":1783444319.6540337,\"status\":\"resolving\",\"title\":\"Apostle (2018)\"}\n" + "text": "{\"error\":null,\"finished\":null,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"resolving\",\"title\":\"Crank (2006)\"}\n" }, "redirectURL": "", "headersSize": 167, - "bodySize": 200, - "_transferSize": 367, + "bodySize": 205, + "_transferSize": 372, "_error": null, "_fetchedViaServiceWorker": false }, "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:11:59.651Z", - "time": 6.042000003425404, + "startedDateTime": "2026-07-07T20:01:13.676Z", + "time": 4.7709999892301855, "timings": { - "blocked": 1.2670000060191378, - "dns": 0.014000000000000012, + "blocked": 0.7979999875407666, + "dns": 0.009999999999999953, "ssl": -1, - "connect": 0.306, - "send": 0.22999999999999998, - "wait": 2.666000000773929, - "receive": 1.5589999966323376, - "_blocked_queueing": 0.8130000060191378, + "connect": 0.275, + "send": 0.242, + "wait": 1.9840000015152617, + "receive": 1.4620000001741573, + "_blocked_queueing": 0.5219999875407666, "_workerStart": -1, "_workerReady": -1, "_workerFetchStart": -1, "_workerRespondWithSettled": -1 }, - "_connectionId": "251869" + "_connectionId": "345814", + "pageref": "page_1" }, { "_initiator": { @@ -178,359 +3817,37 @@ "callFrames": [ { "functionName": "api", - "scriptId": "285", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 107, + "lineNumber": 116, "columnNumber": 18 }, { "functionName": "showDownloads", - "scriptId": "285", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 404, + "lineNumber": 455, "columnNumber": 6 }, { - "functionName": "onclick", - "scriptId": "296", + "functionName": "addSearchDownload", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } - }, - "_priority": "High", - "_resourceType": "fetch", - "cache": {}, - "connection": "8770", - "request": { - "method": "GET", - "url": "http://localhost:8770/api/downloads", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Accept", - "value": "*/*" - }, - { - "name": "Accept-Encoding", - "value": "gzip, deflate, br, zstd" - }, - { - "name": "Accept-Language", - "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" - }, - { - "name": "Connection", - "value": "keep-alive" - }, - { - "name": "Host", - "value": "localhost:8770" - }, - { - "name": "Referer", - "value": "http://localhost:8770/" - }, - { - "name": "Sec-Fetch-Dest", - "value": "empty" - }, - { - "name": "Sec-Fetch-Mode", - "value": "cors" - }, - { - "name": "Sec-Fetch-Site", - "value": "same-origin" - }, - { - "name": "User-Agent", - "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" - }, - { - "name": "sec-ch-ua", - "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" - }, - { - "name": "sec-ch-ua-mobile", - "value": "?0" - }, - { - "name": "sec-ch-ua-platform", - "value": "\"Linux\"" - } - ], - "queryString": [], - "cookies": [], - "headersSize": 510, - "bodySize": 0 - }, - "response": { - "status": 200, - "statusText": "OK", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Connection", - "value": "close" - }, - { - "name": "Content-Length", - "value": "454" - }, - { - "name": "Content-Type", - "value": "application/json" - }, - { - "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:02 GMT" - }, - { - "name": "Server", - "value": "Werkzeug/3.1.8 Python/3.13.14" - } - ], - "cookies": [], - "content": { - "size": 454, - "mimeType": "application/json", - "compression": 0, - "text": "[{\"error\":\"ffmpeg exit code: 152\",\"finished\":1783444320.050441,\"id\":\"935c5b78f315\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://s1-25-ilr3.97bf1.com/hls/arfUhtdcwGId0pf1aMOyFyUEPTCQcs9o/master.m3u8?token=606051c6eb6e539f1114c669d64588ca-1783473119-130.180.18.22-bf5318ab2eecd515a61e65948be2e4ca0a822a6173e4b9551ef023cb31474fb1\",\"source_url\":\"https://vidara.to/e/kA6dA4w5ysRhu\",\"started\":1783444319.6540337,\"status\":\"error\",\"title\":\"Apostle (2018)\"}]\n" - }, - "redirectURL": "", - "headersSize": 167, - "bodySize": 454, - "_transferSize": 621, - "_error": null, - "_fetchedViaServiceWorker": false - }, - "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:02.716Z", - "time": 6.969000009288081, - "timings": { - "blocked": 1.3250000031543896, - "dns": 0.02100000000000002, - "ssl": -1, - "connect": 0.5589999999999999, - "send": 0.30600000000000005, - "wait": 1.6419999989941716, - "receive": 3.116000007139519, - "_blocked_queueing": 0.9120000031543896, - "_workerStart": -1, - "_workerReady": -1, - "_workerFetchStart": -1, - "_workerRespondWithSettled": -1 - }, - "_connectionId": "251890" - }, - { - "_initiator": { - "type": "script", - "stack": { - "callFrames": [ - { - "functionName": "api", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 107, - "columnNumber": 18 - }, - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 405, - "columnNumber": 6 - }, - { - "functionName": "onclick", - "scriptId": "296", - "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } - }, - "_priority": "High", - "_resourceType": "fetch", - "cache": {}, - "connection": "8770", - "request": { - "method": "GET", - "url": "http://localhost:8770/api/downloads/dir", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Accept", - "value": "*/*" - }, - { - "name": "Accept-Encoding", - "value": "gzip, deflate, br, zstd" - }, - { - "name": "Accept-Language", - "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" - }, - { - "name": "Connection", - "value": "keep-alive" - }, - { - "name": "Host", - "value": "localhost:8770" - }, - { - "name": "Referer", - "value": "http://localhost:8770/" - }, - { - "name": "Sec-Fetch-Dest", - "value": "empty" - }, - { - "name": "Sec-Fetch-Mode", - "value": "cors" - }, - { - "name": "Sec-Fetch-Site", - "value": "same-origin" - }, - { - "name": "User-Agent", - "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" - }, - { - "name": "sec-ch-ua", - "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" - }, - { - "name": "sec-ch-ua-mobile", - "value": "?0" - }, - { - "name": "sec-ch-ua-platform", - "value": "\"Linux\"" - } - ], - "queryString": [], - "cookies": [], - "headersSize": 514, - "bodySize": 0 - }, - "response": { - "status": 200, - "statusText": "OK", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Connection", - "value": "close" - }, - { - "name": "Content-Length", - "value": "77" - }, - { - "name": "Content-Type", - "value": "application/json" - }, - { - "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:02 GMT" - }, - { - "name": "Server", - "value": "Werkzeug/3.1.8 Python/3.13.14" - } - ], - "cookies": [], - "content": { - "size": 77, - "mimeType": "application/json", - "compression": 0, - "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" - }, - "redirectURL": "", - "headersSize": 166, - "bodySize": 77, - "_transferSize": 243, - "_error": null, - "_fetchedViaServiceWorker": false - }, - "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:02.716Z", - "time": 5.1859999914793296, - "timings": { - "blocked": 1.5539999938523397, - "dns": 0.010000000000000009, - "ssl": -1, - "connect": 0.20500000000000007, - "send": 0.397, - "wait": 1.4770000064112245, - "receive": 1.5429999912157655, - "_blocked_queueing": 0.9489999938523397, - "_workerStart": -1, - "_workerReady": -1, - "_workerFetchStart": -1, - "_workerRespondWithSettled": -1 - }, - "_connectionId": "251897" - }, - { - "_initiator": { - "type": "script", - "stack": { - "callFrames": [ - { - "functionName": "api", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 107, - "columnNumber": 18 - }, - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 404, - "columnNumber": 6 - }, - { - "functionName": "", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 432, + "lineNumber": 350, "columnNumber": 6 } ], "parent": { - "description": "setTimeout", + "description": "await", "callFrames": [ { - "functionName": "showDownloads", - "scriptId": "285", + "functionName": "onclick", + "scriptId": "92", "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 + "lineNumber": 0, + "columnNumber": 0 } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "onclick", - "scriptId": "296", - "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } + ] } } }, @@ -612,7 +3929,7 @@ }, { "name": "Content-Length", - "value": "454" + "value": "347" }, { "name": "Content-Type", @@ -620,7 +3937,7 @@ }, { "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:05 GMT" + "value": "Tue, 07 Jul 2026 20:01:15 GMT" }, { "name": "Server", @@ -629,36 +3946,37 @@ ], "cookies": [], "content": { - "size": 454, + "size": 347, "mimeType": "application/json", "compression": 0, - "text": "[{\"error\":\"ffmpeg exit code: 152\",\"finished\":1783444320.050441,\"id\":\"935c5b78f315\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://s1-25-ilr3.97bf1.com/hls/arfUhtdcwGId0pf1aMOyFyUEPTCQcs9o/master.m3u8?token=606051c6eb6e539f1114c669d64588ca-1783473119-130.180.18.22-bf5318ab2eecd515a61e65948be2e4ca0a822a6173e4b9551ef023cb31474fb1\",\"source_url\":\"https://vidara.to/e/kA6dA4w5ysRhu\",\"started\":1783444319.6540337,\"status\":\"error\",\"title\":\"Apostle (2018)\"}]\n" + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" }, "redirectURL": "", "headersSize": 167, - "bodySize": 454, - "_transferSize": 621, + "bodySize": 347, + "_transferSize": 514, "_error": null, "_fetchedViaServiceWorker": false }, "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:05.725Z", - "time": 5.185999995708466, + "startedDateTime": "2026-07-07T20:01:15.181Z", + "time": 6.387999997206032, "timings": { - "blocked": 1.512999998071231, - "dns": 0.019000000000000017, + "blocked": 3.109000003580004, + "dns": 0.0129999999999999, "ssl": -1, - "connect": 0.565, - "send": 0.30499999999999994, - "wait": 1.3469999986505137, - "receive": 1.436999998986721, - "_blocked_queueing": 0.853999998071231, + "connect": 0.5029999999999999, + "send": 0.2509999999999999, + "wait": 1.1019999965038152, + "receive": 1.4099999971222132, + "_blocked_queueing": 1.644000003580004, "_workerStart": -1, "_workerReady": -1, "_workerFetchStart": -1, "_workerRespondWithSettled": -1 }, - "_connectionId": "251918" + "_connectionId": "345827", + "pageref": "page_1" }, { "_initiator": { @@ -667,49 +3985,37 @@ "callFrames": [ { "functionName": "api", - "scriptId": "285", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 107, + "lineNumber": 116, "columnNumber": 18 }, { "functionName": "showDownloads", - "scriptId": "285", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 405, + "lineNumber": 456, "columnNumber": 6 }, { - "functionName": "", - "scriptId": "285", + "functionName": "addSearchDownload", + "scriptId": "86", "url": "http://localhost:8770/", - "lineNumber": 432, + "lineNumber": 350, "columnNumber": 6 } ], "parent": { - "description": "setTimeout", + "description": "await", "callFrames": [ { - "functionName": "showDownloads", - "scriptId": "285", + "functionName": "onclick", + "scriptId": "92", "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 + "lineNumber": 0, + "columnNumber": 0 } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "onclick", - "scriptId": "296", - "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } + ] } } }, @@ -799,7 +4105,7 @@ }, { "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:05 GMT" + "value": "Tue, 07 Jul 2026 20:01:15 GMT" }, { "name": "Server", @@ -821,429 +4127,2424 @@ "_fetchedViaServiceWorker": false }, "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:05.725Z", - "time": 6.872000002340414, + "startedDateTime": "2026-07-07T20:01:15.182Z", + "time": 7.816999988578259, "timings": { - "blocked": 1.7370000101123004, - "dns": 0.009000000000000008, - "ssl": -1, - "connect": 0.21499999999999997, - "send": 0.3640000000000001, - "wait": 1.2920000035157426, - "receive": 3.2549999887123704, - "_blocked_queueing": 1.0830000101123005, - "_workerStart": -1, - "_workerReady": -1, - "_workerFetchStart": -1, - "_workerRespondWithSettled": -1 - }, - "_connectionId": "251925" - }, - { - "_initiator": { - "type": "script", - "stack": { - "callFrames": [ - { - "functionName": "api", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 107, - "columnNumber": 18 - }, - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 404, - "columnNumber": 6 - }, - { - "functionName": "", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 432, - "columnNumber": 6 - } - ], - "parent": { - "description": "setTimeout", - "callFrames": [ - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 - } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 432, - "columnNumber": 6 - } - ], - "parent": { - "description": "setTimeout", - "callFrames": [ - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 - } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "onclick", - "scriptId": "296", - "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } - } - } - } - } - }, - "_priority": "High", - "_resourceType": "fetch", - "cache": {}, - "connection": "8770", - "request": { - "method": "GET", - "url": "http://localhost:8770/api/downloads", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Accept", - "value": "*/*" - }, - { - "name": "Accept-Encoding", - "value": "gzip, deflate, br, zstd" - }, - { - "name": "Accept-Language", - "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" - }, - { - "name": "Connection", - "value": "keep-alive" - }, - { - "name": "Host", - "value": "localhost:8770" - }, - { - "name": "Referer", - "value": "http://localhost:8770/" - }, - { - "name": "Sec-Fetch-Dest", - "value": "empty" - }, - { - "name": "Sec-Fetch-Mode", - "value": "cors" - }, - { - "name": "Sec-Fetch-Site", - "value": "same-origin" - }, - { - "name": "User-Agent", - "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" - }, - { - "name": "sec-ch-ua", - "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" - }, - { - "name": "sec-ch-ua-mobile", - "value": "?0" - }, - { - "name": "sec-ch-ua-platform", - "value": "\"Linux\"" - } - ], - "queryString": [], - "cookies": [], - "headersSize": 510, - "bodySize": 0 - }, - "response": { - "status": 200, - "statusText": "OK", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Connection", - "value": "close" - }, - { - "name": "Content-Length", - "value": "454" - }, - { - "name": "Content-Type", - "value": "application/json" - }, - { - "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:08 GMT" - }, - { - "name": "Server", - "value": "Werkzeug/3.1.8 Python/3.13.14" - } - ], - "cookies": [], - "content": { - "size": 454, - "mimeType": "application/json", - "compression": 0, - "text": "[{\"error\":\"ffmpeg exit code: 152\",\"finished\":1783444320.050441,\"id\":\"935c5b78f315\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://s1-25-ilr3.97bf1.com/hls/arfUhtdcwGId0pf1aMOyFyUEPTCQcs9o/master.m3u8?token=606051c6eb6e539f1114c669d64588ca-1783473119-130.180.18.22-bf5318ab2eecd515a61e65948be2e4ca0a822a6173e4b9551ef023cb31474fb1\",\"source_url\":\"https://vidara.to/e/kA6dA4w5ysRhu\",\"started\":1783444319.6540337,\"status\":\"error\",\"title\":\"Apostle (2018)\"}]\n" - }, - "redirectURL": "", - "headersSize": 167, - "bodySize": 454, - "_transferSize": 621, - "_error": null, - "_fetchedViaServiceWorker": false - }, - "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:08.735Z", - "time": 7.274999991725199, - "timings": { - "blocked": 1.9179999940190464, - "dns": 0.03499999999999992, - "ssl": -1, - "connect": 0.615, - "send": 0.2709999999999999, - "wait": 1.6240000061700122, - "receive": 2.8119999915361404, - "_blocked_queueing": 0.9279999940190464, - "_workerStart": -1, - "_workerReady": -1, - "_workerFetchStart": -1, - "_workerRespondWithSettled": -1 - }, - "_connectionId": "251946" - }, - { - "_initiator": { - "type": "script", - "stack": { - "callFrames": [ - { - "functionName": "api", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 107, - "columnNumber": 18 - }, - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 405, - "columnNumber": 6 - }, - { - "functionName": "", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 432, - "columnNumber": 6 - } - ], - "parent": { - "description": "setTimeout", - "callFrames": [ - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 - } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 432, - "columnNumber": 6 - } - ], - "parent": { - "description": "setTimeout", - "callFrames": [ - { - "functionName": "showDownloads", - "scriptId": "285", - "url": "http://localhost:8770/", - "lineNumber": 430, - "columnNumber": 26 - } - ], - "parent": { - "description": "await", - "callFrames": [ - { - "functionName": "onclick", - "scriptId": "296", - "url": "http://localhost:8770/", - "lineNumber": 86, - "columnNumber": 64 - } - ] - } - } - } - } - } - }, - "_priority": "High", - "_resourceType": "fetch", - "cache": {}, - "connection": "8770", - "request": { - "method": "GET", - "url": "http://localhost:8770/api/downloads/dir", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Accept", - "value": "*/*" - }, - { - "name": "Accept-Encoding", - "value": "gzip, deflate, br, zstd" - }, - { - "name": "Accept-Language", - "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" - }, - { - "name": "Connection", - "value": "keep-alive" - }, - { - "name": "Host", - "value": "localhost:8770" - }, - { - "name": "Referer", - "value": "http://localhost:8770/" - }, - { - "name": "Sec-Fetch-Dest", - "value": "empty" - }, - { - "name": "Sec-Fetch-Mode", - "value": "cors" - }, - { - "name": "Sec-Fetch-Site", - "value": "same-origin" - }, - { - "name": "User-Agent", - "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" - }, - { - "name": "sec-ch-ua", - "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" - }, - { - "name": "sec-ch-ua-mobile", - "value": "?0" - }, - { - "name": "sec-ch-ua-platform", - "value": "\"Linux\"" - } - ], - "queryString": [], - "cookies": [], - "headersSize": 514, - "bodySize": 0 - }, - "response": { - "status": 200, - "statusText": "OK", - "httpVersion": "HTTP/1.1", - "headers": [ - { - "name": "Connection", - "value": "close" - }, - { - "name": "Content-Length", - "value": "77" - }, - { - "name": "Content-Type", - "value": "application/json" - }, - { - "name": "Date", - "value": "Tue, 07 Jul 2026 17:12:08 GMT" - }, - { - "name": "Server", - "value": "Werkzeug/3.1.8 Python/3.13.14" - } - ], - "cookies": [], - "content": { - "size": 77, - "mimeType": "application/json", - "compression": 0, - "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" - }, - "redirectURL": "", - "headersSize": 166, - "bodySize": 77, - "_transferSize": 243, - "_error": null, - "_fetchedViaServiceWorker": false - }, - "serverIPAddress": "127.0.0.1", - "startedDateTime": "2026-07-07T17:12:08.735Z", - "time": 5.590999991697259, - "timings": { - "blocked": 2.1250000036545096, + "blocked": 3.2679999938802795, "dns": 0.006000000000000005, "ssl": -1, - "connect": 0.18799999999999994, - "send": 0.3400000000000001, - "wait": 1.4740000037746503, - "receive": 1.457999984268099, - "_blocked_queueing": 0.8490000036545098, + "connect": 0.18699999999999994, + "send": 0.34099999999999997, + "wait": 2.5779999957112594, + "receive": 1.436999998986721, + "_blocked_queueing": 2.6039999938802794, "_workerStart": -1, "_workerReady": -1, "_workerFetchStart": -1, "_workerRespondWithSettled": -1 }, - "_connectionId": "251953" + "_connectionId": "345834", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 455, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 510, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "347" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:18 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 347, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 347, + "_transferSize": 514, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:18.193Z", + "time": 5.424000004197471, + "timings": { + "blocked": 1.4600000078938902, + "dns": 0.017000000000000015, + "ssl": -1, + "connect": 0.679, + "send": 0.32299999999999995, + "wait": 1.4860000044209882, + "receive": 1.4589999918825924, + "_blocked_queueing": 0.9260000078938901, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345855", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 456, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads/dir", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 514, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "77" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:18 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 77, + "mimeType": "application/json", + "compression": 0, + "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 77, + "_transferSize": 243, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:18.193Z", + "time": 6.567999994351529, + "timings": { + "blocked": 1.630999991477467, + "dns": 0.008000000000000007, + "ssl": -1, + "connect": 0.30600000000000005, + "send": 0.42799999999999994, + "wait": 1.3889999988172204, + "receive": 2.806000004056841, + "_blocked_queueing": 0.8989999914774671, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345862", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 455, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 510, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "347" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:21 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 347, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 347, + "_transferSize": 514, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:21.202Z", + "time": 5.422999995905906, + "timings": { + "blocked": 1.4030000041751192, + "dns": 0.019000000000000017, + "ssl": -1, + "connect": 0.444, + "send": 0.2589999999999999, + "wait": 1.1800000023078174, + "receive": 2.1179999894229695, + "_blocked_queueing": 0.9580000041751191, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345883", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 456, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads/dir", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 514, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "77" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:21 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 77, + "mimeType": "application/json", + "compression": 0, + "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 77, + "_transferSize": 243, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:21.202Z", + "time": 5.448999994895421, + "timings": { + "blocked": 1.4999999952064829, + "dns": 0.0050000000000000044, + "ssl": -1, + "connect": 0.1459999999999999, + "send": 0.31199999999999994, + "wait": 1.145999993318692, + "receive": 2.3400000063702464, + "_blocked_queueing": 0.9529999952064827, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345890", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 455, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 510, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "347" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:24 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 347, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 347, + "_transferSize": 514, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:24.210Z", + "time": 6.893999996757135, + "timings": { + "blocked": 1.6199999997792767, + "dns": 0.026000000000000023, + "ssl": -1, + "connect": 0.6090000000000001, + "send": 0.2859999999999998, + "wait": 1.6380000018998981, + "receive": 2.71499999507796, + "_blocked_queueing": 0.9879999997792765, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345911", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 456, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads/dir", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 514, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "77" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:24 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 77, + "mimeType": "application/json", + "compression": 0, + "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 77, + "_transferSize": 243, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:24.210Z", + "time": 6.874000004371628, + "timings": { + "blocked": 1.7879999996023253, + "dns": 0.0050000000000000044, + "ssl": -1, + "connect": 0.22799999999999998, + "send": 0.41300000000000003, + "wait": 1.527999993931502, + "receive": 2.912000010837801, + "_blocked_queueing": 0.9229999996023253, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345918", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 455, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 510, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "347" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:27 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 347, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 347, + "_transferSize": 514, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:27.219Z", + "time": 5.060999993833713, + "timings": { + "blocked": 1.2659999918006362, + "dns": 0.007000000000000006, + "ssl": -1, + "connect": 0.44899999999999995, + "send": 0.272, + "wait": 1.5570000001611188, + "receive": 1.5100000018719584, + "_blocked_queueing": 0.770999991800636, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345959", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 456, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads/dir", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 514, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "77" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:27 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 77, + "mimeType": "application/json", + "compression": 0, + "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 77, + "_transferSize": 243, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:27.219Z", + "time": 6.32400000735186, + "timings": { + "blocked": 1.340000010238029, + "dns": 0.0050000000000000044, + "ssl": -1, + "connect": 0.18600000000000005, + "send": 0.345, + "wait": 1.4989999955780804, + "receive": 2.949000001535751, + "_blocked_queueing": 0.7180000102380291, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345966", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 455, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 510, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "347" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:30 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 347, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"error\":\"Streaming-Seite (HTML), kein Video. Video-Host wird nicht unterst\\u00fctzt.\",\"finished\":1783454473.806481,\"id\":\"591b845ee030\",\"path\":null,\"progress\":0,\"resolved_url\":\"https://meinecloud.click/movie/tt0479884\",\"source_url\":\"https://meinecloud.click/movie/tt0479884\",\"started\":1783454473.6782582,\"status\":\"error\",\"title\":\"Crank (2006)\"}]\n" + }, + "redirectURL": "", + "headersSize": 167, + "bodySize": 347, + "_transferSize": 514, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:30.228Z", + "time": 5.07500000280235, + "timings": { + "blocked": 1.4790000070296228, + "dns": 0.016000000000000014, + "ssl": -1, + "connect": 0.581, + "send": 0.3350000000000002, + "wait": 1.2649999950984492, + "receive": 1.3990000006742775, + "_blocked_queueing": 0.7730000070296228, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345987", + "pageref": "page_1" + }, + { + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "api", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 116, + "columnNumber": 18 + }, + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 456, + "columnNumber": 6 + }, + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 483, + "columnNumber": 6 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "showDownloads", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 481, + "columnNumber": 26 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "addSearchDownload", + "scriptId": "86", + "url": "http://localhost:8770/", + "lineNumber": 350, + "columnNumber": 6 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "onclick", + "scriptId": "92", + "url": "http://localhost:8770/", + "lineNumber": 0, + "columnNumber": 0 + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "8770", + "request": { + "method": "GET", + "url": "http://localhost:8770/api/downloads/dir", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:8770" + }, + { + "name": "Referer", + "value": "http://localhost:8770/" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Chromium\";v=\"149\", \"Not)A;Brand\";v=\"24\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"Linux\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 514, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Connection", + "value": "close" + }, + { + "name": "Content-Length", + "value": "77" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Date", + "value": "Tue, 07 Jul 2026 20:01:30 GMT" + }, + { + "name": "Server", + "value": "Werkzeug/3.1.8 Python/3.13.14" + } + ], + "cookies": [], + "content": { + "size": 77, + "mimeType": "application/json", + "compression": 0, + "text": "{\"dir\":\"/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/downloads\"}\n" + }, + "redirectURL": "", + "headersSize": 166, + "bodySize": 77, + "_transferSize": 243, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "127.0.0.1", + "startedDateTime": "2026-07-07T20:01:30.228Z", + "time": 6.322999991445802, + "timings": { + "blocked": 1.6789999889256433, + "dns": 0.008000000000000007, + "ssl": -1, + "connect": 0.21199999999999997, + "send": 0.42900000000000005, + "wait": 1.1920000067548826, + "receive": 2.8029999957652763, + "_blocked_queueing": 0.7839999889256433, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + }, + "_connectionId": "345994", + "pageref": "page_1" } ] }