Files
xstreamDownloader/xstream/resources/lib/handler/__pycache__/requestHandler.cpython-311.pyc
T

122 lines
36 KiB
Plaintext
Raw Normal View History

2026-07-06 14:27:51 +02:00
§
ܱJj™Vãó€ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddl m Z ddl
mZddlmZddlmZddlmZddlmZmZmZmZddlmZmZdd lmZmZm Z m!Z!m"Z"m#Z#m$Z$dd
l%m&Z&m'Z'dd l(m)Z)dd l*m+Z+dd
l,m-Z-e-d¦«Z.Gdde$¦«Z/Gdd¦«Z0Gdd¦«Z1dS)éN)ÚcConfig)Úlogger)ÚcCache)Ú
infoDialog)Ú
translatePath)ÚquoteÚ urlencodeÚurlparseÚ
quote_plus)Ú HTTPErrorÚURLError)Ú HTTPHandlerÚ HTTPSHandlerÚRequestÚHTTPCookieProcessorÚ build_openerÚurlopenÚHTTPRedirectHandler)Ú LWPCookieJarÚCookie)Ú
HTTPException©Úchoice)Úcontextmanagerc#ó¢KsdVdStjŠˆˆˆfd}|t_ dVt_dS#t_wxYw)a6DNS-Bypass via getaddrinfo-Patch: loest 'hostname' temporaer auf 'ip' auf.
Anders als ein direkter IP-Connect bleibt das SSL-Zertifikat gueltig, weil die
Verbindung weiterhin den echten Hostnamen kennt (SNI + Cert-Hostname stimmen).
Patch ist eng gekapselt und wird im finally IMMER zurueckgesetzt.Ncó@|kr g|¢Ri|¤ŽS|g|¢Ri|¤ŽS©)ÚhostÚargsÚkwargsÚ_orig_getaddrinfoÚhostnameÚips €€€úh/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/xstream/resources/lib/handler/requestHandler.pyÚ_patchedz!_doh_resolution.<locals>._patched(sPø€Ø  Ð Ø$ RÐ9¨$Ð9°&Ð  Ð  ÐÐÐ)ÚsocketÚ getaddrinfo)r#r$r&r"s`` @r%Ú_doh_resolutionr*sˆøøøèèð ðØ
ˆˆˆØˆÝÔð"…FÔð
ˆˆˆà.ÔÐÐøÐ.ÔÐ.s ®AÁAcóeZdZdZdS)ÚRedirectFilterc ó¢t¦« dd¦«dkrd|vrŒtj¦« t¦« d¦«t¦« d¦«dzt¦« d¦«z¦«dSt
j|||||||¦«S) NÚ
bypassDNSlockÚfalseÚtruez notice.cuiii9vi4vÚ
i5v)rÚ
getSettingÚxbmcguiÚDialogÚokÚgetLocalizedStringrÚredirect_request)ÚselfÚreqÚfpÚcodeÚmsgÚhdrsÚnewurls r%r7zRedirectFilter.redirect_request4Ý ‰9Œ9× Ò  °Ñ 9¸VÒ  ÐÑ Ô ×#¥G¡I¤I×$@Ò$@ÀÑ$GÔ$GÍÉÌ×IeÒIeÐfkÑIlÔIlÐosÑIsÕv}ÑvÔv÷wSòwSðTYñwZôwZñJZñ[ô[ð[Ø3°D¸#¸rÀ4ÈÈdÐTZÑ[r'N)Ú__name__Ú
__module__Ú __qualname__r7rr'r%r,r,3s(ð\ð\ð\ð\ð\r'r,cóeZdZiZed¦«Zd#dZdZdZd „Z d
Z
d Z d$d Z d
Z
dZdZdZed¦«Zed¦«ZdZdZd%dZdZdZdZd&dZdZdZdZdZd „Zed!„¦«Zd$d"„Z dS)'ÚcRequestHandlercóBd}d}d}d}d}|||||g}t|¦«S)NzPMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:152.0) Gecko/20100101 Firefox/152.0z}Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 OPR/133.0.0.0z}Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 Edg/150.0.0.0zoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36zuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15r)Ú
FF_USER_AGENTÚOPERA_USER_AGENTÚEDGE_USER_AGENTÚCHROME_USER_AGENTÚSAFARI_USER_AGENTÚ _User_Agentss r%ÚRandomUAzcRequestHandler.RandomUA?sNðkˆ
ð[ÐðZˆðNÐðTÐà%Ð'7¸ÐJ[Ð]nÐoˆ Ý#r'TFÚGETNc óž| |¦«|_d|_| ¦«|_i|_i|_tt¦«  d¦«¦«|_
d|_ d|_ d|_
d|_||_| d¦«| d¦«||_||_||_||_||_||_t1t¦« dd¦«¦«dz|_t1t¦« dd¦«¦«|_t¦« d d
¦«d k|_| d ¦«| d ¦«| ¦«|  ¦«| !¦«t¦« d
d
¦«d k|_"|j"rtG¦«|_$tKj&|j¦«dS)ÚprofileFÚ cacheTimeéiÚrequestTimeouté
r.r/r0volatileHtmlCache)'Ú_cRequestHandler__cleanupUrlÚ_sUrlÚ _sRealUrlrKÚ _USER_AGENTÚ _aParametersÚ_headerEntriesrrÚ getAddonInfoÚ _profilePathÚ
_cachePathÚ _cookiePathÚ_StatusÚ_sResponseHeaderÚ _ssl_verifyÚ
ignoreDiscardÚ
ignoreExpiredÚcachingÚmethodÚdataÚ ignoreErrorsÚ compressionÚjspostÚintr2rPrRr.ÚremoveBreakLinesÚremoveNewLinesÚ"_cRequestHandler__setDefaultHeaderÚ_cRequestHandler__setCachePathÚ_cRequestHandler__setCookiePathÚisMemoryCacheActiverÚ _memCacher(Úsetdefaulttimeout) r8ÚsUrlrdrgrerfrhriÚ
ssl_verifys r%Ú__init__zcRequestHandler.__init__KØ×& ,ˆŒ
؈ŒØŸ=š=™?œ?ˆÔØˆÔØ ˆÔÝ)­'©)¬)×*@Ò*@ÀÑ*KÔ*KÑÔØˆŒØˆÔ؈Œ Ø "ˆÔØÔØ ×Ò˜5Ñ ×Ò˜5шŒ ؈Œ ؈Œ ØÔØÔ؈Œ ÝW™YœY×1°+¸qÑBÀTÑIˆŒÝ!¥'¡)¤)×"6Ò"6Ð7GÈÑ"LÔ"LÑMˆÔÝ%™iœi×2°?ÀGÑLÐPVÒÔØ ×Ò˜dÑ ×Ò˜DÑ ×ÒÑ ×ÒÑÔÐØ ×ÒÑÔÐÝ$+¡I¤I×$8Ò$8Ð9LÈgÑ$VÔ$VÐZ`Ò$`ˆÔ Ø Ô #™XœXˆDŒNåÔ  Ô!4Ñ5r'có|jSr)r_©r8s r%Ú getStatuszcRequestHandler.getStatusms
ØŒ|Ðr'có||_dSr)Ú!_cRequestHandler__bRemoveNewLines)r8ÚbRemoveNewLiness r%rlzcRequestHandler.removeNewLinespsØ!0ˆÔÐÐr'có||_dSr)Ú#_cRequestHandler__bRemoveBreakLines)r8ÚbRemoveBreakLiness r%rkz cRequestHandler.removeBreakLinesssØ#4ˆÔ Ð Ð r'có||j|<dSr©rZ)r8Ú
sHeaderKeyÚ sHeaderValues r%ÚaddHeaderEntryzcRequestHandler.addHeaderEntryvsØ*6ˆÔ˜'r'có2||jvr
|j|SdSrr€)r8rs r%ÚgetHeaderEntryzcRequestHandler.getHeaderEntryys&Ø ˜Ô Ô&   ,r'cóV|s|ntt|¦«¦«|j|<dSr)rÚstrrY)r8ÚkeyÚvalueÚQuotes r%Ú
addParameterszcRequestHandler.addParameters}s,Ø.3Ð!J  ½½sÀ5¹z¼zÑ9JÔ9JˆÔ˜ÐÐr'có|jSr)r`rws r%ÚgetResponseHeaderz!cRequestHandler.getResponseHeader€s ØÔ$r'có|jSr)rWrws r%Ú
getRealUrlzcRequestHandler.getRealUrlƒs
ØŒ~Ðr'có@|jdzt|j¦«zS)?)rVr rYrws r%Ú
getRequestUrizcRequestHandler.getRequestUri†sØŒz˜¥)¨DÔ,=Ñ">Ô">Ñ>r'có&| d|j¦«| dd¦«| dd¦«|jr| dd¦«| dd ¦«| d
d ¦«dS) Nz
User-AgentzAccept-Languagezde,en-US;q=0.7,en;q=0.3ÚAcceptzUtext/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8zAccept-Encodingz
gzip, deflateÚ
Connectionz
keep-alivez
Keep-Alivez timeout=5)rXrhrws r%Ú__setDefaultHeaderz"cRequestHandler.__setDefaultHeader‰Ø ×Ò˜L¨$Ô*:Ñ ×ÒÐ-Ð/HÑ ×Ò˜HÐ&}Ñ Ô ð DØ × Ò Ð 1°?Ñ  ×Ò˜L¨,Ñ ×Ò˜L¨+Ñ6r'có|rOtjtj¦«¬¦«}d|_tj|_t|¬¦«gStj¦«}d|_tj|_t|¬¦«gS)N)ÚcafileT)ÚcontextF) ÚsslÚcreate_default_contextÚcertifiÚwhereÚcheck_hostnameÚ
CERT_REQUIREDÚ verify_moderÚ CERT_NONE)rtÚ ssl_contexts r%Ú__getDefaultHandlerz#cRequestHandler.__getDefaultHandlers~à ðÔ4½G¼M¹O¼OÐLˆKØ)-ˆ &Ý&)Ô&7ˆ  ¨Ð Ô6ˆKØ).ˆ &Ý&)¤mˆ  ¨Ð 6r'cóbt|t¦«sdSt|t¦«sdS|S)NrN)Ú
isinstancer‡)Úurls r%Ú __cleanupUrlzcRequestHandler.__cleanupUrlŸs7å˜# ؘ# ؈
r'c ó¶|jr…|jdkrz|jdkro|j€h|jr.| | ¦«|j¦«}n'| | ¦«¦«}|r d|_|Sn)tj
d| ¦«z¦«|j r|  |j
¦«}nd}t|j
¦«j}t!|j¬¦«} | |j|j¬¦«n+#t*$r}tj|¦«Yd}~nd}~wwxYwt|j
¦«j}|t0jvrt0j|}n`| |j¦«}|t9¦«t;|¬¦«t=¦«gz
}t?|Ž}|t0j|<|jdkr‡|j}tA|jtB¦«r'tE|j¦« #¦«} n­tA|jtH¦«r|j #¦«} ny|j} nqd} nn|j%r+tMj'|j(¦« #¦«n&tE|j(d ¦« #¦«} tS| ¦«dkrd} tU|j
| rtS| ¦«dkr| nd¦«}
|j+ ,¦«D]\} } |
 -| | ¦«Œ|jdkr d
|j+vr|
 -d
d ¦«n|j%r|
 -d
d ¦«| .|
¦« t_||¦«5| 0|
¦«}
ddd¦«n #1swxYwYnÉ#tb$r·}|j2d
krõtI|j2¦«|_|j3 4¦«}dtI|¦«vrt?t;|¦«¦«}d|j5fd|j
fg|_6| 0d¦«}| 4¦« 7dd¦«}tqj9d|¦«}t|j
¦«}|j:d|jd|d}t?t;|¦«¦«}d|j5fd|j
fg|_6| 0|¦« 4¦«t?t;|¦«¦«}d|j5fd|j
fg|_6| 0|j
tS| ¦«dkr| nd¦«}
|
s"tj;d|j
z¦«Yd}~dSnÆdtI|j<¦«vrZ|j=s1t}t¦« @d¦«dd¬¦«tj;d|j
z¦«Yd}~dS|j=sotƒjB¦« Cd t¦« @d!¦«d" D|j
tI|¦«¦«z¦«tj;d#tI|¦«zd$z|j
z¦«Yd}~d%S|j=sotƒjB¦« Cd t¦« @d!¦«d" D|j
tI|¦«¦«z¦«tj;d#tI|¦«zd$z|j
z¦«Yd}~d%SYd}~n d}~w$r}|j=s9tƒjB¦« Cd tI|jF¦«¦«tj;d&tI|jF¦«zd$z|j
z¦«Yd}~d'Sd}~w$ru}|j=s4tƒjB¦« Cd tI|¦«¦«tj;d(tI|¦«zd$z|j
z¦«Yd}~d)Sd}~wwxYw|
 
¦«|_H|jH Id*d+¦« J¦«}|r|
 4¦«}|d,kr$t—jL|tjMd-z¬.¦«}n*|d/kr"t—jL|tjM ¬.¦«}n|}| 7dd¦«}n(|
 4¦« 7dd¦«}d0|vrPt¦« O|j
|||j5| ¦«}|r|}ntj;d1|j
z¦« | P|j|j¬¦«n.#t*$r!}tj;d2|z¦«Yd}~nd}~wwxYw|
 Q¦«|_R|j
|jRkr|
 S¦«nd3|_|jTr*| Ud4d+¦« Ud5d+¦«}|jVr| Ud6d+¦«}|jru|jdkrj|jdkr_|j€X|jr)| W| ¦«|¦«n(| X| ¦«|¦«|S)7NrrLÚ200z%-> [requestHandler]: read html for %s)Úfilename)Úignore_discardÚignore_expires)Ú cookiejarÚPOSTTz Content-Typez!application/x-www-form-urlencodedzapplication/jsoniz
DDOS-GUARDú
User-agentÚRefererz%https://check.ddos-guard.net/check.jsúutf-8ÚreplacezImage.*?'([^']+)'; newú://ú/z0 -> [requestHandler]: Failed DDOS-GUARD active: zDDOS GUARD SCHUTZÚ
cloudflareimxÚWARNINGi')ÚiconÚtimez0 -> [requestHandler]: Failed Cloudflare active: zCLOUDFLARE-SCHUTZ AKTIVÚxStreami3vz {0} {1}z -> [requestHandler]: HTTPError z Url: zSEITE NICHT ERREICHBARz -> [requestHandler]: URLError z
URL FEHLERz$ -> [requestHandler]: HTTPException ÚTIMEOUTzContent-EncodingrNÚgzipé)ÚwbitsÚdeflateÚ
lazingfastz1 -> [requestHandler]: Failed Blazingfast active: z, -> [requestHandler]: Failed save cookie: %sÚ301r1z
z&nbsp;)YrdrPrerfrpÚ#_cRequestHandler__readVolatileCacherÚ%_cRequestHandler__readPersistentCacher_rÚinfor.Ú_cRequestHandler__doh_requestrVr
r#rr^ÚloadÚ _cRequestHandler__bIgnoreDiscardÚ _cRequestHandler__bIgnoreExpiredÚ ExceptionÚdebugÚnetlocrCÚpersistent_openersÚ#_cRequestHandler__getDefaultHandlerrarrr,rÚdictr Úencoder‡riÚjsonÚdumpsrYÚlenrrZÚitemsÚ
add_headerÚadd_cookie_headerr*Úopenr r;r:ÚreadrXÚ
addheadersÚdecodeÚreÚfindallÚschemeÚerrorÚheadersrgrrr6r3r4r5Úformatr
Úreasonrr`ÚgetÚlowerÚzlibÚ
decompressÚ MAX_WBITSÚcBFÚresolveÚsaveÚgeturlrWÚgetcoderzr}Ú$_cRequestHandler__writeVolatileCacheÚ&_cRequestHandler__writePersistentCache)r8ÚsContentÚ ip_overrideÚ _doh_hostÚ cookieJarÚdomainÚopenerÚhandlersÚ sParametersÚoRequestrˆr‰Ú oResponserfÚresponseÚcontentÚurl2Úurl3Úcontent_encodingÚ raw_contentÚ decompressedÚbfs r%ÚrequestzcRequestHandler.request¯ Ø Œ<ð X˜DœN¨QÒ.°D´KÀ5Ò4HÐ4HÈTÌYÐM^ØÔ
LØ×3°D×4FÒ4FÑ4HÔ4HÈ$Ì.ÑYà×5°d×6HÒ6HÑ6JÔ6JÑKØð
Ø$ Øð
õ
ŒKÐ?À$×BTÒBTÑBVÔBVÑ  Ô ð Ø×,¨T¬ZÑ8ˆKˆKàˆKݘTœZÑ1ˆ å ¨$Ô*:Ð;ˆ ð Ø NŠN¨$Ô*?ÐPTÔPeˆ føÝð ð ð Ý ŒL˜‰OŒOˆOˆOˆOˆOˆOˆOøøøøð øøøõ˜$œ*ÑØ •_Ô Ô?ˆFˆFà×Ô0@ÑAˆHØ œÕ(;ÀiÐ(PÑ(PÔ(PÕR`ÑRbÔRbÐ cˆ! ,ˆFØ9? .¨vÑ  Œ;˜ Ð ØŒyИdœi­Ñ,å"+¨D¬IÑ"6Ô"6×"=Ò"=Ñ"?Ô"?K ¤ ­,Ø"&¤)×"2Ò"2Ñ"4Ô"4KKà"&¤)K" àDHÄKðA$œ* TÔ%6Ñ7×@ÕU^Ð_cÔ_pÐrvÑUwÔUw×U~ÒU~ñVAôVAˆÔ " å˜4œ:°kÐ'dÅcÈ+ÑFVÔFVÐYZÒFZÐFZ { {Ð`dÑeˆàÔ-× ,‰JˆCØ × Ò   UÑ Œ;˜ Ð  ^¸4Ô;NÐ%NÐ%NØ × Ò  Ð0SÑ
Œ[ð DØ × Ò  Ð0BÑ ×# 0 Ý  ¨KÑ

"ŸKšK¨Ñ1 ð