Files
Shadowsocks-For-WHMCS/Server/shadowsocks/udprelay.pyc

43 lines
6.6 KiB
Plaintext
Raw Normal View History

2016-05-27 11:18:25 +08:00
<EFBFBD><EFBFBD>
T#zUc @s<>ddkZddkZddkZddkZddkZddkZddkZddkZddkZddk l
Z
l Z dZ d<00>Z defd<00><00>YZdS(i<><69><EFBFBD><EFBFBD>N(t parse_headert pack_addricCsd||||fS(Ns %s:%s:%s:%s((tatbtctd((s%/home/wwwroot/shadowsocks/udprelay.pyt
client_keyTstUDPRelaycBsbeZd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Z d<00>Z
d <00>Z RS(
c Cs<>||_|o8|d|_|d|_|d|_|d|_n-|d|_|d|_d|_d|_||_|d|_|d|_|d|_ ||_
t i d|dd|i <00>|_t i d|d<19>|_d|_t|_ti<00>|_t<00>|_ti|i|id titi<00>}t|<00>d jo td
|i|if<16><00>n|d \}}}}} ti|||<00>}
|
i|i|if<00>|
it<00>|
|_dS( Nt local_addresst
local_porttservert server_porttpasswordtmethodttimeouttclose_callbackiscan't get addrinfo for %s:%d( t_configt _listen_addrt _listen_portt _remote_addrt _remote_porttNonet _dns_resolvert _passwordt_methodt_timeoutt _is_localt lru_cachetLRUCachet _close_clientt_cachet_client_fd_to_server_addrt
_eventlooptFalset_closedttimet
_last_timetsett_socketstsockett getaddrinfot
SOCK_DGRAMtSOL_UDPtlent Exceptiontbindt setblockingt_server_socket( tselftconfigt dns_resolvertis_localtaddrstaftsocktypetprotot canonnametsat server_socket((s%/home/wwwroot/shadowsocks/udprelay.pyt__init__Ys@                 cCs]|id}|id}t|<00>tjoti|<00>}ntid||<00>||fS(NR
R schosen server: %s:%d(Rttypetlisttrandomtchoicetloggingtdebug(R0R
R ((s%/home/wwwroot/shadowsocks/udprelay.pyt _get_a_server~s   cCsHt|d<00>o4|ii|i<00><00>|ii|<00>|i<00>ndS(Ntclose(thasattrR&tremovetfilenoR RC(R0tclient((s%/home/wwwroot/shadowsocks/udprelay.pyR<00>s
c Cs<>|i}|it<00>\}}|ptid<00>n|io=t|d<19>}|djotid<00>dS|d}n8ti |i
|i d|<00>}|ptid<00>dSt |<00>}|djodS|\}}}} |io|i<00>\}
} n||}
} t|d|d||<00>} |ii| d<00>} | p<>ti|
| dtiti<00>}|o_|d\}}}}}ti|||<00>} | it<00>| |i| <||i| i<00><ndS|ii| i<00><00>|ii| ti<00>n|io.ti |i
|i d|<00>}|pdSn || }|pdSy| i||
| f<00>WnNt j
oB}ti!|<00>}|t"i#t"i$fjoq<>ti%|<00>nXdS(Ns UDP handle_server: data is emptyiis"drop a message since frag is not 0is.UDP handle_server: data is empty after decrypti(&R/trecvfromtBUF_SIZER@RARtordtwarntencryptt encrypt_allRRRRRBRRtgetR'R(R)R*R.R!RRFR&taddR t eventlooptPOLL_INtsendtotIOErrorterrno_from_exceptionterrnot EINPROGRESStEAGAINterror(R0R
tdatatr_addrtfragt header_resulttaddrtypet dest_addrt dest_portt header_lengtht server_addrR tkeyRGR4R5R6R7R8R9teterr((s%/home/wwwroot/shadowsocks/udprelay.pyt_handle_server<65>sb 
     
   
 
cCs<|it<00>\}}|ptid<00>dS|ipxt|d<19>}|djodSt|d<19>tid|d<19>|}t i
|i |i d|<00>}|pdSnSt i
|i |i d|<00>}|pdSt |<00>}|djodSd|}|ii|i<00><00>}|o|ii||<00>ndS(Ns UDP handle_client: data is emptyii<>s>Hit(RHRIR@RARR+RtstructtpackRLRMRRRRRRNRFR/RR(R0tsockRYRZtaddrlentresponseR\t client_addr((s%/home/wwwroot/shadowsocks/udprelay.pyt_handle_client<6E>s2 
 (     
cCsw|iotd<00><00>n|iotd<00><00>n||_|i|i<00>|i}|ii|titi B<>dS(Nsalready add to loopsalready closed(
R R,R"t add_handlert_handle_eventsR/RORPRQtPOLL_ERR(R0tloopR:((s%/home/wwwroot/shadowsocks/udprelay.pyt add_to_loop<6F>s

   cCs*|ii|i<00>|ii|i<00>dS(N(R RER/tremove_handlerRo(R0((s%/home/wwwroot/shadowsocks/udprelay.pytremove_to_loop<6F>scCs!|i<00>|i<00>d|_dS(N(RtRCRR(R0((s%/home/wwwroot/shadowsocks/udprelay.pytdestroys

cCsx<>|D]<5D>\}}}||ijo-|ti@otid<00>n|i<00>q|o@||ijo0|ti@otid<00>n|i|<00>qqWti<00>}||i djo|i
i <00>n||i djo|i i <00>||_ ndS(NsUDP server_socket errsUDP client_socket errg @i( R/RPRpR@RXReR&RmR#R$RtsweepR(R0teventsRitfdteventtnow((s%/home/wwwroot/shadowsocks/udprelay.pyRos   cCst|_|ii<00>dS(N(tTrueR"R/RC(R0((s%/home/wwwroot/shadowsocks/udprelay.pyRCs ( t__name__t
__module__R;RBRReRmRrRtRuRoRC(((s%/home/wwwroot/shadowsocks/udprelay.pyRXs % ? !   (R#R'R@RgRUR>RLRPRtcommonRRRIRtobjectR(((s%/home/wwwroot/shadowsocks/udprelay.pyt<module>Es