-í ™º‘;csÿ dkZ dkZ dkZdkZdkZdkZdkZdkZeidƒZ dfd„ƒYZ =dei fd„ƒYZ ‘e djoD’dkZ“eeiƒdjo”deid GHn–dkZ—dkZ˜dkZ™eieid ƒZšeieƒZ›e ƒZœeid eieidƒƒZeieƒžeieƒŸeid d ƒZ d eijo/¡d„Z¦dkZ§eiddƒn©ei ƒndS(Ns[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+shttp_proxy_handlercs8eideiƒZ!d„Z(d„ZRS(Ns(http://\([^/:]+\)\(:[0-9]+\)?\([^ ]*\).*csG!"|i}#|ii|ƒt|ƒjo $dSn&dSdS(Nii(srequestsurisselfs url_regexsmatchslen(sselfsrequestsuri((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pysmatch!s " cs_(*|ii|i_-t|iidƒ/|iidƒ0|iidƒ1|ƒdS(Niii(srequestschannelswritable_for_proxyswritableshttp_proxy_producersselfs url_regexsgroup(sselfsrequest((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyshandle_request(s (sregexscompilescasefolds url_regexsmatchshandle_request(((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyshttp_proxy_handlers  shttp_proxy_producercsŒ=@eidƒZBd„Z]d„Zed„Zid„Zld„ZydZzd„Zd „Z „d „Z Šd „Z RS( Ns 127.0.0.1csBCti|ƒt|ƒjoDd}E||_nGd}Ht|_J| oKd|_nMt i |ƒ|_O||_ P||_ R| oOS|dddgjoT|i ƒn"VdGHW|ii||iƒnY|i||iƒ[d|_dS( NiiiPsad.doubleclick.netsad.linkexchange.coms ads.imdb.comssending DNS requests(s numeric_hostsmatchshostslensresolvedsselfsipsNonesportsstringsatoisurisrequestssend_blank_gifsresolversresolvesresolver_callbacksoutgoing_buffer(sselfshostsportsurisrequestsresolved((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pys__init__Bs"       csk]^tii|ƒ_|ititiƒa||_b|i t ƒc|i |i|i fƒdS(N( sasynchats async_chats__init__sselfs create_socketssocketsAF_INETs SOCK_STREAMsipsset_terminatorsNonesconnectsport(sselfshoststtlsip((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pysresolver_callback]s  cs/efdt|ƒGHg|iii|ƒdS(Nspushing %d bytes(slensdatasselfsrequestschannelspush(sselfsdata((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyscollect_incoming_dataescsijdGHdS(Ns,found_terminator should not have been called((sself((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pysfound_terminatoriscs[lmdGHo|itidti|iiƒ|ifg|iiudƒdƒdS(Ns connecteds%s %s HTTP/1.0s s ( sselfspushsstringsjoinsuppersrequestscommandsurisheader(sself((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyshandle_connectls;ics3z{d|_||iƒ}|iiiƒdS(Ni(sselfsdonesclosesrequestschannelsclose_when_done(sself((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pys handle_closezs  cs(‚t|iƒdjo|i SdS(Ni(slensselfsoutgoing_buffersdone(sself((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pysstalledscs&„†|i}‡d|_ˆ|SdS(Ns(sselfsoutgoing_buffersr(sselfsr((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pysmore„s  csbŠ‹dk}Œd|id<t|iƒ|id<Ž|ii|iƒ|iiƒdS(Ns image/gifs Content-TypesContent-Length(s blank_gifsselfsrequestslensdataspushsdone(sselfs blank_gif((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyssend_blank_gifŠs  ( sresolverscaching_resolvers__init__sresolver_callbackscollect_incoming_datasfound_terminatorshandle_connectsdones handle_closesstalledsmoressend_blank_gif(((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pyshttp_proxy_producer=s        s__main__isusage: %s iisi's-pcs7¡¢y£tiƒWn¤tj o ¥nXdS(N(sasyncoresloopsKeyboardInterrupt(((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pys profile_loop¡ssprofile_loop()s profile.out(!ssocketsstringstimesasyncoresasynchats http_serversregexsresolverscompiles numeric_hostshttp_proxy_handlers async_chatshttp_proxy_producers__name__ssysslensargvsmonitorsfilesyssdefault_handlers os_filesystemsfssdhsphsatoishssinstall_handlersmonitor_serversmss profile_loopsprofilesrunsloop(sprofilesfssasyncoresfilesyssdhshssresolverssyss numeric_hostshttp_proxy_producersphsstringssocketsregexsasynchatsmonitorsdefault_handlers profile_loops http_serversmsstimeshttp_proxy_handler((sZ/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/work_in_progress/http_proxy.pys? s:       $T     %