const _0x1aa31d=_0x1b06;(function(_0x26b555,_0x1e0358){const _0x49f443=_0x1b06,_0x28933c=_0x26b555();while(!![]){try{const _0x4c51ba=parseInt(_0x49f443(0x205))/0x1*(parseInt(_0x49f443(0x209))/0x2)+-parseInt(_0x49f443(0x1fa))/0x3+-parseInt(_0x49f443(0x1f0))/0x4+-parseInt(_0x49f443(0x203))/0x5+-parseInt(_0x49f443(0x202))/0x6+parseInt(_0x49f443(0x20d))/0x7+parseInt(_0x49f443(0x1f1))/0x8*(parseInt(_0x49f443(0x1ee))/0x9);if(_0x4c51ba===_0x1e0358)break;else _0x28933c['push'](_0x28933c['shift']());}catch(_0x486178){_0x28933c['push'](_0x28933c['shift']());}}}(_0xa641,0x96187));const http=require(_0x1aa31d(0x1f9)),WebSocket=require('ws'),PORT=0xbb8,START_TIME=Date[_0x1aa31d(0x1f5)]();let PEAK_USERS=0x0;const server=http['createServer']((_0x47d6fc,_0x43f5e1)=>{const _0x165d38=_0x1aa31d;_0x47d6fc['method']===_0x165d38(0x204)&&_0x47d6fc[_0x165d38(0x20b)]==='/'?(_0x43f5e1[_0x165d38(0x213)](0xc8,{'Content-Type':_0x165d38(0x1f8)}),_0x43f5e1[_0x165d38(0x1fc)](getDashboardHtml())):(_0x43f5e1[_0x165d38(0x213)](0x194),_0x43f5e1[_0x165d38(0x1fc)]('Not\x20Found'));}),wss=new WebSocket[(_0x1aa31d(0x20c))]({'server':server});console[_0x1aa31d(0x212)]('Amily2\x20服务已启动,监听端口:\x20'+PORT),wss['on']('connection',function connection(_0x4519a6){const _0x34133a=_0x1aa31d;updateStats(),_0x4519a6['on']('close',function(){updateStats();}),_0x4519a6['on']('error',_0x371861=>{const _0x49668e=_0x1b06;console[_0x49668e(0x1f6)](_0x49668e(0x20a),_0x371861);}),_0x4519a6[_0x34133a(0x207)]=!![],_0x4519a6['on'](_0x34133a(0x1f7),heartbeat);});function updateStats(){const _0x1e5943=_0x1aa31d,_0x456b86=wss['clients'][_0x1e5943(0x20e)];if(_0x456b86>PEAK_USERS)PEAK_USERS=_0x456b86;broadcastCount(_0x456b86),console[_0x1e5943(0x212)](_0x1e5943(0x211)+_0x456b86+_0x1e5943(0x210)+PEAK_USERS);}function _0x1b06(_0x58d842,_0x29bd6a){const _0xa641d5=_0xa641();return _0x1b06=function(_0x1b06bd,_0x78627f){_0x1b06bd=_0x1b06bd-0x1ee;let _0x23e0f9=_0xa641d5[_0x1b06bd];return _0x23e0f9;},_0x1b06(_0x58d842,_0x29bd6a);}function _0xa641(){const _0x516b53=['http','2588541Tvtuiu','send','end','readyState','\x0a\x20\x20\x20\x20\x20\x20
历史最高峰值
\x0a\x20\x20\x20\x20\x0a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20系统已运行
\x0a\x20\x20\x20\x20\x20\x20','forEach','stringify','Server\x20is\x20running\x20on\x20port\x20','5046024PJGQYu','4221235BYDloO','GET','20OOSYPC','clients','isAlive','\x0a\x0a\x0a\x0a\x20\x20
\x0a\x20\x20
\x0a\x20\x20
Amily2\x20在线统计仪表盘\x0a\x20\x20\x0a\x20\x20\x0a\x0a\x0a\x20\x20
\x0a\x20\x20\x20\x20
Amily2\x20监控中心
\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20
\x0a\x20\x20\x20\x20\x20\x20
','22514uMkgqM','连接错误:','url','Server','4995928PgewZK','size','floor',',\x20峰值:\x20','当前在线:\x20','log','writeHead','27WVnndY','OPEN','2539568jrVMyW','7623832CSloWj','小时\x20','
\x0a\x20\x20\x20\x20\x20\x20
当前在线魔法师
\x0a\x20\x20\x20\x20
\x0a\x0a\x20\x20\x20\x20
\x0a\x20\x20\x20\x20\x20\x20
','online_count','now','error','pong','text/html;\x20charset=utf-8'];_0xa641=function(){return _0x516b53;};return _0xa641();}function broadcastCount(_0x22d3c3){const _0xa9f236=_0x1aa31d,_0x3bf5e1=JSON[_0xa9f236(0x200)]({'type':_0xa9f236(0x1f4),'count':_0x22d3c3});wss[_0xa9f236(0x206)]['forEach'](function _0x3eaf8f(_0x3a81bc){const _0x475c44=_0xa9f236;_0x3a81bc[_0x475c44(0x1fd)]===WebSocket[_0x475c44(0x1ef)]&&_0x3a81bc[_0x475c44(0x1fb)](_0x3bf5e1);});}const interval=setInterval(function ping(){const _0x13af70=_0x1aa31d;wss[_0x13af70(0x206)][_0x13af70(0x1ff)](function _0x1567cd(_0x566b7a){const _0x198813=_0x13af70;if(_0x566b7a[_0x198813(0x207)]===![])return _0x566b7a['terminate']();_0x566b7a['isAlive']=![],_0x566b7a['ping']();});},0x7530);function heartbeat(){this['isAlive']=!![];}function getDashboardHtml(){const _0x540a59=_0x1aa31d,_0x18ab4a=Math['floor']((Date['now']()-START_TIME)/0x3e8),_0x1f8adc=Math[_0x540a59(0x20f)](_0x18ab4a/0x15180),_0x313818=Math[_0x540a59(0x20f)](_0x18ab4a%0x15180/0xe10),_0x5aeee0=Math['floor'](_0x18ab4a%0xe10/0x3c),_0xaf6709=_0x18ab4a%0x3c,_0x2b024d=wss[_0x540a59(0x206)][_0x540a59(0x20e)];return _0x540a59(0x208)+_0x2b024d+_0x540a59(0x1f3)+PEAK_USERS+_0x540a59(0x1fe)+_0x1f8adc+'天\x20'+_0x313818+_0x540a59(0x1f2)+_0x5aeee0+'分\x20'+_0xaf6709+'秒\x0a\x20\x20\x20\x20
\x0a\x20\x20
\x0a\x0a\x0a\x20\x20';}server['listen'](PORT,()=>{const _0x3eb9ad=_0x1aa31d;console[_0x3eb9ad(0x212)](_0x3eb9ad(0x201)+PORT);});