Create index.js
Browse files
index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
const _0x430712=_0x37e3;(function(_0x1bb8e9,_0x149528){const _0x52b67d=_0x37e3,_0x55fa43=_0x1bb8e9();while(!![]){try{const _0x1bfd81=parseInt(_0x52b67d(0x128))/0x1*(-parseInt(_0x52b67d(0x13c))/0x2)+-parseInt(_0x52b67d(0x134))/0x3*(-parseInt(_0x52b67d(0x15e))/0x4)+parseInt(_0x52b67d(0x13b))/0x5*(-parseInt(_0x52b67d(0x144))/0x6)+-parseInt(_0x52b67d(0x178))/0x7+-parseInt(_0x52b67d(0x16b))/0x8+parseInt(_0x52b67d(0x168))/0x9*(parseInt(_0x52b67d(0x160))/0xa)+-parseInt(_0x52b67d(0x142))/0xb*(-parseInt(_0x52b67d(0x17e))/0xc);if(_0x1bfd81===_0x149528)break;else _0x55fa43['push'](_0x55fa43['shift']());}catch(_0x728e0){_0x55fa43['push'](_0x55fa43['shift']());}}}(_0xbabb,0x509b0));const http=require(_0x430712(0x155)),https=require('https'),fs=require('fs'),axios=require(_0x430712(0x14a)),net=require(_0x430712(0x183)),path=require('path'),crypto=require(_0x430712(0x133)),{Buffer}=require(_0x430712(0x149)),{WebSocket,createWebSocketStream}=require('ws');function generateUUID(){return crypto['randomUUID']();}const UUID=process[_0x430712(0x185)]['UUID']||generateUUID(),DOMAIN=process['env'][_0x430712(0x139)]||_0x430712(0x15b),WSPATH=process['env'][_0x430712(0x182)]||UUID[_0x430712(0x156)](0x0,0x8),SUB_PATH=process[_0x430712(0x185)][_0x430712(0x16c)]||_0x430712(0x158),NAME=process[_0x430712(0x185)][_0x430712(0x14c)]||'',PORT=process[_0x430712(0x185)][_0x430712(0x162)]||0x1eb4,TLS_KEY_PATH=process[_0x430712(0x185)][_0x430712(0x16d)]||'',TLS_CERT_PATH=process[_0x430712(0x185)]['TLS_CERT_PATH']||'';function _0x37e3(_0x2f4def,_0x391ab6){_0x2f4def=_0x2f4def-0x128;const _0xbabbc8=_0xbabb();let _0x37e385=_0xbabbc8[_0x2f4def];return _0x37e385;}let ISP='';const GetISP=async()=>{const _0x5d3739=_0x430712;try{const _0x1e7612=await axios[_0x5d3739(0x17a)](_0x5d3739(0x17c)),_0x58d83b=_0x1e7612[_0x5d3739(0x17d)];ISP=(_0x58d83b[_0x5d3739(0x172)]+'-'+_0x58d83b['isp'])[_0x5d3739(0x171)](/ /g,'_');}catch(_0x4b3491){ISP='Unknown';}};GetISP();function normalizeSecret(_0x11352a){if(!_0x11352a)return'';return _0x11352a['includes']('\x5cn')?_0x11352a['replace'](/\\n/g,'\x0a'):_0x11352a;}function _0xbabb(){const _0x41e117=['https://api.ip.sb/geoip','data','79164dfdksO','listen','every','Not\x20Found\x0a','WSPATH','net','connection','env','find','2oDkwWQ','send','url','Both\x20TLS\x20key\x20and\x20certificate\x20are\x20required;\x20falling\x20back\x20to\x20HTTP.','length','HTTP/WS','utf8','1.1.1.1','readUInt8','write','&path=%2F','crypto','3DvvQzk','trojan://','end','Failed\x20to\x20resolve\x20','Hello\x20world!','DOMAIN','error','1106035zxnmus','129462QbsUJr','substr','&type=A','hex','sha224','createHash','1287GCTPgH','map','6oaYxsf','reduce','isAbsolute','message','decode','buffer','axios','connect','NAME','from','?security=tls&sni=','concat','Server\x20is\x20running\x20on\x20','join','\x20with\x20all\x20DNS\x20servers','vless://','?encryption=none&security=tls&sni=','http','slice','update','yukuii','base64','application/dns-json','https://yukuii-coding.hf.space','writeHead','then','374212snYhbQ','text/html','20uZZvqF','catch','PORT','toString','readFileSync','close','text/plain','once','1940211cXPfzl','TLS_KEY','8.8.4.4','3378168IEBOQN','SUB_PATH','TLS_KEY_PATH','&fp=chrome&type=ws&host=','warn','Answer','replace','country_code','pipe','createServer','test','Failed\x20to\x20read\x20TLS\x20file\x20','readUInt16BE','1354220OSZgas','Server','get','digest'];_0xbabb=function(){return _0x41e117;};return _0xbabb();}function readOptionalFile(_0x38d05d){const _0x3ec1e0=_0x430712;if(!_0x38d05d)return'';const _0x57e195=path[_0x3ec1e0(0x146)](_0x38d05d)?_0x38d05d:path[_0x3ec1e0(0x151)](__dirname,_0x38d05d);try{return fs[_0x3ec1e0(0x164)](_0x57e195,_0x3ec1e0(0x12e));}catch(_0x45e1f7){return console['warn'](_0x3ec1e0(0x176)+_0x57e195+':\x20'+_0x45e1f7[_0x3ec1e0(0x147)]),'';}}function getTLSOptions(){const _0x4fa5ca=_0x430712;let _0x51a857=normalizeSecret(process['env'][_0x4fa5ca(0x169)]),_0xaf7bd4=normalizeSecret(process[_0x4fa5ca(0x185)]['TLS_CERT']);!_0x51a857&&(_0x51a857=readOptionalFile(TLS_KEY_PATH));!_0xaf7bd4&&(_0xaf7bd4=readOptionalFile(TLS_CERT_PATH));if(_0x51a857&&_0xaf7bd4)return{'key':_0x51a857,'cert':_0xaf7bd4};return(_0x51a857||_0xaf7bd4)&&console[_0x4fa5ca(0x16f)](_0x4fa5ca(0x12b)),null;}const requestHandler=(_0x583349,_0x175c8c)=>{const _0x32b6d0=_0x430712;if(_0x583349[_0x32b6d0(0x12a)]==='/'){const _0x2648d0=path[_0x32b6d0(0x151)](__dirname,'index.html');fs['readFile'](_0x2648d0,_0x32b6d0(0x12e),(_0x137236,_0xc5b867)=>{const _0x330afc=_0x32b6d0;if(_0x137236){_0x175c8c['writeHead'](0xc8,{'Content-Type':_0x330afc(0x15f)}),_0x175c8c[_0x330afc(0x136)](_0x330afc(0x138));return;}_0x175c8c['writeHead'](0xc8,{'Content-Type':_0x330afc(0x15f)}),_0x175c8c['end'](_0xc5b867);});return;}else{if(_0x583349[_0x32b6d0(0x12a)]==='/'+SUB_PATH){const _0x4ca9e8=NAME?NAME+'-'+ISP:ISP,_0x3bc407=_0x32b6d0(0x153)+UUID+'@'+DOMAIN+_0x32b6d0(0x154)+DOMAIN+_0x32b6d0(0x16e)+DOMAIN+_0x32b6d0(0x132)+WSPATH+'#'+_0x4ca9e8,_0x1ec6c5=_0x32b6d0(0x135)+UUID+'@'+DOMAIN+_0x32b6d0(0x14e)+DOMAIN+_0x32b6d0(0x16e)+DOMAIN+_0x32b6d0(0x132)+WSPATH+'#'+_0x4ca9e8,_0x57b177=_0x3bc407+'\x0a'+_0x1ec6c5,_0x2b5606=Buffer[_0x32b6d0(0x14d)](_0x57b177)[_0x32b6d0(0x163)](_0x32b6d0(0x159));_0x175c8c[_0x32b6d0(0x15c)](0xc8,{'Content-Type':'text/plain'}),_0x175c8c[_0x32b6d0(0x136)](_0x2b5606+'\x0a');}else _0x175c8c[_0x32b6d0(0x15c)](0x194,{'Content-Type':_0x32b6d0(0x166)}),_0x175c8c[_0x32b6d0(0x136)](_0x32b6d0(0x181));}},tlsOptions=getTLSOptions(),httpServer=tlsOptions?https['createServer'](tlsOptions,requestHandler):http[_0x430712(0x174)](requestHandler),wss=new WebSocket[(_0x430712(0x179))]({'server':httpServer}),uuid=UUID[_0x430712(0x171)](/-/g,''),DNS_SERVERS=[_0x430712(0x16a),_0x430712(0x12f)];function resolveHost(_0x55cb73){return new Promise((_0x145c03,_0x20d4f1)=>{const _0x559be0=_0x37e3;if(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/[_0x559be0(0x175)](_0x55cb73)){_0x145c03(_0x55cb73);return;}let _0x9ebe88=0x0;function _0x3b4526(){const _0x50e01e=_0x559be0;if(_0x9ebe88>=DNS_SERVERS[_0x50e01e(0x12c)]){_0x20d4f1(new Error(_0x50e01e(0x137)+_0x55cb73+_0x50e01e(0x152)));return;}const _0x9e1a50=DNS_SERVERS[_0x9ebe88];_0x9ebe88++;const _0x1f9c8b='https://dns.google/resolve?name='+encodeURIComponent(_0x55cb73)+_0x50e01e(0x13e);axios[_0x50e01e(0x17a)](_0x1f9c8b,{'timeout':0x1388,'headers':{'Accept':_0x50e01e(0x15a)}})[_0x50e01e(0x15d)](_0x3ff33e=>{const _0x2bf319=_0x50e01e,_0x5ce6ca=_0x3ff33e[_0x2bf319(0x17d)];if(_0x5ce6ca['Status']===0x0&&_0x5ce6ca['Answer']&&_0x5ce6ca[_0x2bf319(0x170)]['length']>0x0){const _0x12acaf=_0x5ce6ca[_0x2bf319(0x170)][_0x2bf319(0x186)](_0x114ab8=>_0x114ab8['type']===0x1);if(_0x12acaf){_0x145c03(_0x12acaf[_0x2bf319(0x17d)]);return;}}_0x3b4526();})[_0x50e01e(0x161)](_0x56b699=>{_0x3b4526();});}_0x3b4526();});}function handleVlessConnection(_0x4a8d1a,_0x38c538){const _0x125cb0=_0x430712,[_0x400027]=_0x38c538,_0x491a56=_0x38c538[_0x125cb0(0x156)](0x1,0x11);if(!_0x491a56[_0x125cb0(0x180)]((_0x384781,_0x3115fa)=>_0x384781==parseInt(uuid[_0x125cb0(0x13d)](_0x3115fa*0x2,0x2),0x10)))return![];let _0x142c35=_0x38c538[_0x125cb0(0x156)](0x11,0x12)[_0x125cb0(0x130)]()+0x13;const _0x45ee5e=_0x38c538['slice'](_0x142c35,_0x142c35+=0x2)[_0x125cb0(0x177)](0x0),_0x36cefe=_0x38c538[_0x125cb0(0x156)](_0x142c35,_0x142c35+=0x1)['readUInt8'](),_0x1231b7=_0x36cefe==0x1?_0x38c538[_0x125cb0(0x156)](_0x142c35,_0x142c35+=0x4)[_0x125cb0(0x151)]('.'):_0x36cefe==0x2?new TextDecoder()[_0x125cb0(0x148)](_0x38c538[_0x125cb0(0x156)](_0x142c35+0x1,_0x142c35+=0x1+_0x38c538[_0x125cb0(0x156)](_0x142c35,_0x142c35+0x1)[_0x125cb0(0x130)]())):_0x36cefe==0x3?_0x38c538[_0x125cb0(0x156)](_0x142c35,_0x142c35+=0x10)[_0x125cb0(0x145)]((_0x7d8ec6,_0x743e8f,_0xdbb7e8,_0x1879f6)=>_0xdbb7e8%0x2?_0x7d8ec6[_0x125cb0(0x14f)](_0x1879f6[_0x125cb0(0x156)](_0xdbb7e8-0x1,_0xdbb7e8+0x1)):_0x7d8ec6,[])['map'](_0x5ed4ac=>_0x5ed4ac['readUInt16BE'](0x0)[_0x125cb0(0x163)](0x10))[_0x125cb0(0x151)](':'):'';_0x4a8d1a[_0x125cb0(0x129)](new Uint8Array([_0x400027,0x0]));const _0x17bb3c=createWebSocketStream(_0x4a8d1a);return resolveHost(_0x1231b7)['then'](_0x187a0d=>{const _0xdbc0ed=_0x125cb0;net[_0xdbc0ed(0x14b)]({'host':_0x187a0d,'port':_0x45ee5e},function(){const _0x5b1301=_0xdbc0ed;this[_0x5b1301(0x131)](_0x38c538[_0x5b1301(0x156)](_0x142c35)),_0x17bb3c['on'](_0x5b1301(0x13a),()=>{})[_0x5b1301(0x173)](this)['on'](_0x5b1301(0x13a),()=>{})[_0x5b1301(0x173)](_0x17bb3c);})['on']('error',()=>{});})[_0x125cb0(0x161)](_0x4e8935=>{const _0x50cc99=_0x125cb0;net[_0x50cc99(0x14b)]({'host':_0x1231b7,'port':_0x45ee5e},function(){const _0x455d23=_0x50cc99;this[_0x455d23(0x131)](_0x38c538[_0x455d23(0x156)](_0x142c35)),_0x17bb3c['on'](_0x455d23(0x13a),()=>{})['pipe'](this)['on'](_0x455d23(0x13a),()=>{})[_0x455d23(0x173)](_0x17bb3c);})['on'](_0x50cc99(0x13a),()=>{});}),!![];}function handleTrojanConnection(_0x6f01a5,_0x43a7a5){const _0x491f31=_0x430712;try{if(_0x43a7a5[_0x491f31(0x12c)]<0x3a)return![];const _0xe8fd80=_0x43a7a5[_0x491f31(0x156)](0x0,0x38)[_0x491f31(0x163)](),_0x18e916=[UUID];let _0x593362=null;for(const _0x45a805 of _0x18e916){const _0x1f8e94=crypto[_0x491f31(0x141)](_0x491f31(0x140))[_0x491f31(0x157)](_0x45a805)[_0x491f31(0x17b)](_0x491f31(0x13f));if(_0x1f8e94===_0xe8fd80){_0x593362=_0x45a805;break;}}if(!_0x593362)return![];let _0x4397bb=0x38;_0x43a7a5[_0x4397bb]===0xd&&_0x43a7a5[_0x4397bb+0x1]===0xa&&(_0x4397bb+=0x2);const _0x53d211=_0x43a7a5[_0x4397bb];if(_0x53d211!==0x1)return![];_0x4397bb+=0x1;const _0x46845c=_0x43a7a5[_0x4397bb];_0x4397bb+=0x1;let _0x46cc7b,_0x2a9e3e;if(_0x46845c===0x1)_0x46cc7b=_0x43a7a5[_0x491f31(0x156)](_0x4397bb,_0x4397bb+0x4)[_0x491f31(0x151)]('.'),_0x4397bb+=0x4;else{if(_0x46845c===0x3){const _0x2a95c4=_0x43a7a5[_0x4397bb];_0x4397bb+=0x1,_0x46cc7b=_0x43a7a5['slice'](_0x4397bb,_0x4397bb+_0x2a95c4)[_0x491f31(0x163)](),_0x4397bb+=_0x2a95c4;}else{if(_0x46845c===0x4)_0x46cc7b=_0x43a7a5[_0x491f31(0x156)](_0x4397bb,_0x4397bb+0x10)[_0x491f31(0x145)]((_0x47dce2,_0x3e275d,_0x1035da,_0x200e93)=>_0x1035da%0x2?_0x47dce2['concat'](_0x200e93[_0x491f31(0x156)](_0x1035da-0x1,_0x1035da+0x1)):_0x47dce2,[])[_0x491f31(0x143)](_0xd6eddd=>_0xd6eddd['readUInt16BE'](0x0)[_0x491f31(0x163)](0x10))[_0x491f31(0x151)](':'),_0x4397bb+=0x10;else return![];}}_0x2a9e3e=_0x43a7a5['readUInt16BE'](_0x4397bb),_0x4397bb+=0x2;_0x4397bb<_0x43a7a5[_0x491f31(0x12c)]&&_0x43a7a5[_0x4397bb]===0xd&&_0x43a7a5[_0x4397bb+0x1]===0xa&&(_0x4397bb+=0x2);const _0x17f630=createWebSocketStream(_0x6f01a5);return resolveHost(_0x46cc7b)[_0x491f31(0x15d)](_0x6750d7=>{const _0xc4b303=_0x491f31;net[_0xc4b303(0x14b)]({'host':_0x6750d7,'port':_0x2a9e3e},function(){const _0x4234f4=_0xc4b303;_0x4397bb<_0x43a7a5[_0x4234f4(0x12c)]&&this[_0x4234f4(0x131)](_0x43a7a5[_0x4234f4(0x156)](_0x4397bb)),_0x17f630['on'](_0x4234f4(0x13a),()=>{})[_0x4234f4(0x173)](this)['on'](_0x4234f4(0x13a),()=>{})[_0x4234f4(0x173)](_0x17f630);})['on']('error',()=>{});})[_0x491f31(0x161)](_0x24dc4b=>{const _0x59a76e=_0x491f31;net['connect']({'host':_0x46cc7b,'port':_0x2a9e3e},function(){const _0x4f3f91=_0x37e3;_0x4397bb<_0x43a7a5['length']&&this[_0x4f3f91(0x131)](_0x43a7a5['slice'](_0x4397bb)),_0x17f630['on']('error',()=>{})[_0x4f3f91(0x173)](this)['on'](_0x4f3f91(0x13a),()=>{})[_0x4f3f91(0x173)](_0x17f630);})['on'](_0x59a76e(0x13a),()=>{});}),!![];}catch(_0x59e84e){return![];}}wss['on'](_0x430712(0x184),(_0xfe26c8,_0x10223b)=>{const _0x330b56=_0x430712,_0x2b442a=_0x10223b[_0x330b56(0x12a)]||'';_0xfe26c8[_0x330b56(0x167)](_0x330b56(0x147),_0x4d21e0=>{const _0x4a849f=_0x330b56;if(_0x4d21e0[_0x4a849f(0x12c)]>0x11&&_0x4d21e0[0x0]===0x0){const _0x24127a=_0x4d21e0[_0x4a849f(0x156)](0x1,0x11),_0x108aa4=_0x24127a[_0x4a849f(0x180)]((_0x4a9df4,_0x92b109)=>_0x4a9df4==parseInt(uuid[_0x4a849f(0x13d)](_0x92b109*0x2,0x2),0x10));if(_0x108aa4){!handleVlessConnection(_0xfe26c8,_0x4d21e0)&&_0xfe26c8[_0x4a849f(0x165)]();return;}}!handleTrojanConnection(_0xfe26c8,_0x4d21e0)&&_0xfe26c8[_0x4a849f(0x165)]();})['on'](_0x330b56(0x13a),()=>{});}),httpServer[_0x430712(0x17f)](PORT,()=>{const _0x4ec63d=_0x430712,_0x2adebe=tlsOptions?'HTTPS/WSS':_0x4ec63d(0x12d);console['log'](_0x4ec63d(0x150)+_0x2adebe+'\x20port\x20'+PORT);});
|