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

35 lines
4.6 KiB
Plaintext
Raw Normal View History

2016-05-27 11:18:25 +08:00
<EFBFBD><EFBFBD>
U<EFBFBD> Wc@s<>ddkZddkZddkZddkZddkZddkZddkZddkZddkZddk Z ddk
Z
ddk Z ddk Z ddk Tdefd<00><00>YZdS(i<><69><EFBFBD><EFBFBD>N(t*t
ServerPoolcBskeZd Zd<00>Zed<00><00>Zed<00><00>Zd<00>Zd<00>Z d<00>Z
d<00>Z d<00>Z d<00>Z RS(
cCs<>ti<00>tit<00>|_ti<00>ti<00>|_t i
<00>|_ h|_ h|_ ti<00>|_titi|i|i|i f<00>dS(N(tutilst check_pythont
get_configtFalsetconfigtprint_shadowsockstasyncdnst DNSResolvert dns_resolvertasyncmgrt ServerMgrtmgrttcp_servers_pooltudp_servers_poolt eventloopt EventLooptlooptthreadtstart_new_threadRt_loop(tself((s(/home/wwwroot/shadowsocks/server_pool.pyt__init__+s

  cCs'tidjot<00>t_ntiS(N(RtinstancetNone(((s(/home/wwwroot/shadowsocks/server_pool.pyt get_instance7scCs}y(|i|<00>|i|<00>|i<00>WnNtttfj
o9}ti|<00>ddk}|i<00>t i
d<00>nXdS(Ni<4E><69><EFBFBD><EFBFBD>i( t add_to_looptruntKeyboardInterrupttIOErrortOSErrortloggingterrort tracebackt print_exctostexit(RR
R teR"((s(/home/wwwroot/shadowsocks/server_pool.pyR=s    
cCs%t|<00>}||ijotStS(N(tintRtTrueR(Rtport((s(/home/wwwroot/shadowsocks/server_pool.pyt server_is_runIs cCs<>t|<00>}tid|<16>yIttt<00>}|idti||fti ti
f<00>|i <00>Wn"t j
o}ti |<00>nXtS(Nsstart server at %ds
%s:%s:%s:1(R'R tinfotsockettAF_INETt
SOCK_DGRAMtsendtotConfigt MANAGE_PASStMANAGE_BIND_IPt MANAGE_PORTtcloset ExceptiontwarnR((RR)tpasswordtudpsockR&((s(/home/wwwroot/shadowsocks/server_pool.pyt
new_serverOs ,cCs8t}t|<00>}d|ijo||ijo#tid|id|f<16>dS|ii<00>}||d<||d<y<>tid|d|f<16>ti||i t
<00>}|i |i <00>||i|<t i||i t
<00>}|i |i <00>|iih||6<>Wq4tj
o}ti|<00>q4XntS(Ntserversserver already at %s:%ds#this port server is already runningt server_portR7sstarting server at %s:%d(R(R'RRR R+tcopyttcprelaytTCPRelayR
RRRtudprelaytUDPRelayRtupdateR5R6(RR)R7tretta_configt
tcp_servert
udp_serverR&((s(/home/wwwroot/shadowsocks/server_pool.pyt cb_new_serverZs( 

 cCs<>t|<00>}tid|<16>yFttt<00>}|idti|fti ti
f<00>|i <00>Wn"t j
o}ti |<00>nXtS(Nsdel server at %ds %s:%s:0:0(R'R R+R,R-R.R/R0R1R2R3R4R5R6R((RR)R8R&((s(/home/wwwroot/shadowsocks/server_pool.pyt
del_serverrs )cCs<>t|<00>}||ijo"tid|id|f<16>nmtid|id|f<16>y%|i|}|i|=|i<00>Wn"tj
o}ti|<00>nXtSdS(Ns$stopped server at %s:%d already stopR:sstopped server at %s:%d( R'RR R+RtdestroyR5R6R((RR)R:R&((s(/home/wwwroot/shadowsocks/server_pool.pyt cb_del_server}s " 
cCsNh}|ii<00>}x2|i<00>D]$}||i||ig||<q"W|S(N(RR<tkeystserver_transfer_ultserver_transfer_dl(RRBtserversR)((s(/home/wwwroot/shadowsocks/server_pool.pytget_servers_transfer<65>s  "N(t__name__t
__module__RRRt staticmethodRRR*R9RFRGRIRN(((s(/home/wwwroot/shadowsocks/server_pool.pyR's    (R$R RttimeRR=R?RRt threadingtsysR R0R,tobjectR(((s(/home/wwwroot/shadowsocks/server_pool.pyt<module>s