This commit is contained in:
2024 committed 2024-08-13 11:07:35 +08:00
1 parent 68f2888717
commit 7d6714d83e
1 file changed
+2 -2
+2 -2
View File
@@ -5,5 +5,5 @@ APP首页-领京豆
const $ = new Env('领京豆签到');
var _0xodX='jsjiami.com.v7';const _0x1894b5=_0x5bb4;(function(_0x16f3b1,_0x506ed3,_0x28d1e6,_0x184cad,_0x717910,_0x1444de,_0x5e997b){return _0x16f3b1=_0x16f3b1>>0x7,_0x1444de='hs',_0x5e997b='hs',function(_0x261bd9,_0x44d197,_0x3f7ce,_0x27d7f8,_0x1ba0c1){const _0x5eec9e=_0x5bb4;_0x27d7f8='tfi',_0x1444de=_0x27d7f8+_0x1444de,_0x1ba0c1='up',_0x5e997b+=_0x1ba0c1,_0x1444de=_0x3f7ce(_0x1444de),_0x5e997b=_0x3f7ce(_0x5e997b),_0x3f7ce=0x0;const _0x30b033=_0x261bd9();while(!![]&&--_0x184cad+_0x44d197){try{_0x27d7f8=-parseInt(_0x5eec9e(0x2c3,'EjNY'))/0x1+parseInt(_0x5eec9e(0x31e,'u7]U'))/0x2*(-parseInt(_0x5eec9e(0x29d,'%ZJM'))/0x3)+parseInt(_0x5eec9e(0x1b8,'vvEr'))/0x4*(-parseInt(_0x5eec9e(0x31c,'tu20'))/0x5)+-parseInt(_0x5eec9e(0x24e,'RhG9'))/0x6+-parseInt(_0x5eec9e(0x2b8,'Vedz'))/0x7+-parseInt(_0x5eec9e(0x2a0,'EjNY'))/0x8*(parseInt(_0x5eec9e(0x21c,'BpJS'))/0x9)+parseInt(_0x5eec9e(0x244,'d3M&'))/0xa;}catch(_0x4cde90){_0x27d7f8=_0x3f7ce;}finally{_0x1ba0c1=_0x30b033[_0x1444de]();if(_0x16f3b1<=_0x184cad)_0x3f7ce?_0x717910?_0x27d7f8=_0x1ba0c1:_0x717910=_0x1ba0c1:_0x3f7ce=_0x1ba0c1;else{if(_0x3f7ce==_0x717910['replace'](/[TKfGUAEHXWNYFMuQP=]/g,'')){if(_0x27d7f8===_0x44d197){_0x30b033['un'+_0x1444de](_0x1ba0c1);break;}_0x30b033[_0x5e997b](_0x1ba0c1);}}}}}(_0x28d1e6,_0x506ed3,function(_0x55fd4b,_0xf78572,_0x5639e6,_0x293040,_0x5b705e,_0xf82541,_0x34e55b){return _0xf78572='\x73\x70\x6c\x69\x74',_0x55fd4b=arguments[0x0],_0x55fd4b=_0x55fd4b[_0xf78572](''),_0x5639e6=`\x72\x65\x76\x65\x72\x73\x65`,_0x55fd4b=_0x55fd4b[_0x5639e6]('\x76'),_0x293040=`\x6a\x6f\x69\x6e`,(0x17d6a8,_0x55fd4b[_0x293040](''));});}(0x6400,0x68a1b,_0x15f2,0xca),_0x15f2)&&(_0xodX=_0x15f2);const _0x379693=$[_0x1894b5(0x2b1,'zp6^')]()?require(_0x1894b5(0x1b7,'oZ^m')):'';let _0x2e90d5=[];function _0x5bb4(_0x458161,_0x210d9d){const _0x165d07=_0x15f2();return _0x5bb4=function(_0x51f41d,_0x302568){_0x51f41d=_0x51f41d-0x1af;let _0x15f25a=_0x165d07[_0x51f41d];if(_0x5bb4['IgzgGH']===undefined){var _0x5bb45e=function(_0x102c44){const _0xf2aa43='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x165694='',_0x19e2e8='',_0x37c858=_0x165694+_0x5bb45e;for(let _0x5e7ee1=0x0,_0x1185d9,_0x3d6fe6,_0x7331d7=0x0;_0x3d6fe6=_0x102c44['charAt'](_0x7331d7++);~_0x3d6fe6&&(_0x1185d9=_0x5e7ee1%0x4?_0x1185d9*0x40+_0x3d6fe6:_0x3d6fe6,_0x5e7ee1++%0x4)?_0x165694+=_0x37c858['charCodeAt'](_0x7331d7+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1185d9>>(-0x2*_0x5e7ee1&0x6)):_0x5e7ee1:0x0){_0x3d6fe6=_0xf2aa43['indexOf'](_0x3d6fe6);}for(let _0x330f54=0x0,_0x3efdbe=_0x165694['length'];_0x330f54<_0x3efdbe;_0x330f54++){_0x19e2e8+='%'+('00'+_0x165694['charCodeAt'](_0x330f54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19e2e8);};const _0x235007=function(_0x343059,_0x4f0f70){let _0x11876d=[],_0x33ca64=0x0,_0x4bcab6,_0x53568c='';_0x343059=_0x5bb45e(_0x343059);let _0x1b0309;for(_0x1b0309=0x0;_0x1b0309<0x100;_0x1b0309++){_0x11876d[_0x1b0309]=_0x1b0309;}for(_0x1b0309=0x0;_0x1b0309<0x100;_0x1b0309++){_0x33ca64=(_0x33ca64+_0x11876d[_0x1b0309]+_0x4f0f70['charCodeAt'](_0x1b0309%_0x4f0f70['length']))%0x100,_0x4bcab6=_0x11876d[_0x1b0309],_0x11876d[_0x1b0309]=_0x11876d[_0x33ca64],_0x11876d[_0x33ca64]=_0x4bcab6;}_0x1b0309=0x0,_0x33ca64=0x0;for(let _0x53a247=0x0;_0x53a247<_0x343059['length'];_0x53a247++){_0x1b0309=(_0x1b0309+0x1)%0x100,_0x33ca64=(_0x33ca64+_0x11876d[_0x1b0309])%0x100,_0x4bcab6=_0x11876d[_0x1b0309],_0x11876d[_0x1b0309]=_0x11876d[_0x33ca64],_0x11876d[_0x33ca64]=_0x4bcab6,_0x53568c+=String['fromCharCode'](_0x343059['charCodeAt'](_0x53a247)^_0x11876d[(_0x11876d[_0x1b0309]+_0x11876d[_0x33ca64])%0x100]);}return _0x53568c;};_0x5bb4['kECRmT']=_0x235007,_0x458161=arguments,_0x5bb4['IgzgGH']=!![];}const _0x2ff08b=_0x165d07[0x0],_0x150fdb=_0x51f41d+_0x2ff08b,_0x5b28a5=_0x458161[_0x150fdb];if(!_0x5b28a5){if(_0x5bb4['OOTsuH']===undefined){const _0x3db02e=function(_0x529a91){this['FLlWKl']=_0x529a91,this['hBjeip']=[0x1,0x0,0x0],this['LKevYt']=function(){return'newState';},this['IjWqfq']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['dAWycH']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3db02e['prototype']['hZLAhb']=function(){const _0x49a23b=new RegExp(this['IjWqfq']+this['dAWycH']),_0xdf5e98=_0x49a23b['test'](this['LKevYt']['toString']())?--this['hBjeip'][0x1]:--this['hBjeip'][0x0];return this['zilLyn'](_0xdf5e98);},_0x3db02e['prototype']['zilLyn']=function(_0x51c6a9){if(!Boolean(~_0x51c6a9))return _0x51c6a9;return this['avrZfU'](this['FLlWKl']);},_0x3db02e['prototype']['avrZfU']=function(_0x377171){for(let _0x20178c=0x0,_0x22b7b0=this['hBjeip']['length'];_0x20178c<_0x22b7b0;_0x20178c++){this['hBjeip']['push'](Math['round'](Math['random']())),_0x22b7b0=this['hBjeip']['length'];}return _0x377171(this['hBjeip'][0x0]);},new _0x3db02e(_0x5bb4)['hZLAhb'](),_0x5bb4['OOTsuH']=!![];}_0x15f25a=_0x5bb4['kECRmT'](_0x15f25a,_0x302568),_0x458161[_0x150fdb]=_0x15f25a;}else _0x15f25a=_0x5b28a5;return _0x15f25a;},_0x5bb4(_0x458161,_0x210d9d);}if($[_0x1894b5(0x1c7,'BRqB')]()){Object[_0x18Line truncated
function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `\ud83d\udd14${this.name}, \u5f00\u59cb!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } isShadowrocket() { return "undefined" != typeof $rocket } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), a = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(a, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, ObjectLine truncated
var _0xodh='jsjiami.com.v7';const _0x2258ef=_0x59d7;(function(_0x1efec2,_0xddf61,_0x5aa7dd,_0x6341a8,_0x5d219f,_0x6a2e5e,_0x923c2){return _0x1efec2=_0x1efec2>>0x2,_0x6a2e5e='hs',_0x923c2='hs',function(_0x17777a,_0x27553d,_0x28a04b,_0x34cfe3,_0x2bb4ba){const _0x328e0a=_0x59d7;_0x34cfe3='tfi',_0x6a2e5e=_0x34cfe3+_0x6a2e5e,_0x2bb4ba='up',_0x923c2+=_0x2bb4ba,_0x6a2e5e=_0x28a04b(_0x6a2e5e),_0x923c2=_0x28a04b(_0x923c2),_0x28a04b=0x0;const _0x5b887e=_0x17777a();while(!![]&&--_0x6341a8+_0x27553d){try{_0x34cfe3=-parseInt(_0x328e0a(0x10d,'*dx8'))/0x1+parseInt(_0x328e0a(0x2a6,'w@wX'))/0x2+-parseInt(_0x328e0a(0x20a,'Xo)f'))/0x3*(-parseInt(_0x328e0a(0x15d,'zzFR'))/0x4)+-parseInt(_0x328e0a(0x25b,'6R)J'))/0x5*(parseInt(_0x328e0a(0x244,'Mz!@'))/0x6)+parseInt(_0x328e0a(0x1bf,'[U#5'))/0x7*(-parseInt(_0x328e0a(0x22e,'N0vZ'))/0x8)+-parseInt(_0x328e0a(0x1fb,'uSoz'))/0x9+-parseInt(_0x328e0a(0x1d2,'gTt4'))/0xa*(-parseInt(_0x328e0a(0x15c,'*LQw'))/0xb);}catch(_0x41e383){_0x34cfe3=_0x28a04b;}finally{_0x2bb4ba=_0x5b887e[_0x6a2e5e]();if(_0x1efec2<=_0x6341a8)_0x28a04b?_0x5d219f?_0x34cfe3=_0x2bb4ba:_0x5d219f=_0x2bb4ba:_0x28a04b=_0x2bb4ba;else{if(_0x28a04b==_0x5d219f['replace'](/[BTphRbGgHtVdDfFqryw=]/g,'')){if(_0x34cfe3===_0x27553d){_0x5b887e['un'+_0x6a2e5e](_0x2bb4ba);break;}_0x5b887e[_0x923c2](_0x2bb4ba);}}}}}(_0x5aa7dd,_0xddf61,function(_0x3ff03e,_0xb951d8,_0x2e5270,_0xacabc7,_0x16e591,_0x5aa63d,_0x277f21){return _0xb951d8='\x73\x70\x6c\x69\x74',_0x3ff03e=arguments[0x0],_0x3ff03e=_0x3ff03e[_0xb951d8](''),_0x2e5270=`\x72\x65\x76\x65\x72\x73\x65`,_0x3ff03e=_0x3ff03e[_0x2e5270]('\x76'),_0xacabc7=`\x6a\x6f\x69\x6e`,(0x17dcd7,_0x3ff03e[_0xacabc7](''));});}(0x314,0xcb3fb,_0x4ae6,0xc7),_0x4ae6)&&(_0xodh=`\xa3e`);const _0x162b32=$[_0x2258ef(0x268,'ei#y')]()?require(_0x2258ef(0x1cf,'qr4d')):'';function _0x4ae6(){const _0x11682f=(function(){return[...[_0xodh,'rhTjDHsgwbjBfViFwaGdRmBig.pqcHhyorm.Htv7==','tvruhHNcOmkA','lCojaaJdGW','WOe1WPtcOg0','WPa/WPq','W59sWQXkomkl','BH8Qz8od','WRfbCSktWRbIxZddMSkJe0W','lNP2W6NcKq','WQSTWRlcQW','amopEfxcHCkV','WP3dICkCWQxcUb12W4GaWPa','DZuJq8oS','WOvRW67dHSkmcrGOzfxdHHPv','WRmyWRldUNq','WPrsECkuWO4','WO4FWPTmlmk+zmkAW4tcI8oxgGtcG2u','WPrKea','W6dcHGu','dSodWR3cTSok','WPSPbctdSeT1h8ogWPe','W4HfmJm','tI/cIGi','jmoCWQe','WP8/WP3dVMZcP8k6WO7dM8kfl1nni3u','h2ueaCky','hNWzeq','W75wW4y','W6KUC8ks','WOldUw17Fa','W419xh7cUZK2nCo1WPnLW6L+','o093W4RcQCkndq5C','o8oYfWpdVW','WPz4y8kTFG','W4HjptK','oM01aSke','cCkTW7xdRmkh','W50IW4hdGCoz','lvKBiSkt','gmo0WOxcTG','WQW/WPhcOw9r','WOqEWOfxf8k1ymkgW5xcGCoI','mefCW6NcKW','leTQW5dcSW','oSkpW6pdUmkYW7ek','W5XeW4WkFmoMkCkjW4lcH8oBgX0','W5JdT8kYsSk5','5P2z5yQF5PAN55Q45B+P5BUW','WOvrnHVcMa','WPxdUNVdTCoS','rwRcN8o2WPK','W7KHW7hdV8oc','54M85P2l772tdCoIksldOmoUWQlcOG','kCoCFvlcPW','g1NdSa','W67dHddcRmkwkxFcQCkYbCoZW4ekW4jNzaZdJu1QW7FcRqOsWPq','W49uWQrpe8klighcMSodqW','W6/cTJVcOCkH','ymoDycvrtW','WP0TdcBdIh1Jdmoq','W7RKURVKUA/NUj/LJOJPO7hLJyKK','W50CtG','WOyJWRdcPwjrqHy','W5a+WR7cMmomFLCZzeq','WRfuWPVdTSkpWOKHpmkwWOK','WPVdVdFdLti','WPxdH8ks','W5GWWRdcSCohtq','WOtdPNVdGSo1W57cPCkdW6O','jNNcVYtdGmojeWpcSCkfW5/dTXlcSCo5ACoYWO7dJLhcLW','W59sWQ1vomkangBcR8ozDG0YW7ej','W55uWRLSiSkj','WPfEW70fW7a','WP9libFcJSoBWRbeWQG','lLjRW4lcQ8kghq','WP45WP3dRG','WOFcHxxcImoetKhdOmoMW6uJW7BcVeeBa8kOpXKnW7NdVSkfjqaPo8k7WOWHvIJcJJ7cVJFcJWhcTmk9erhdNSolxaqXWOy','W6hcICkfE8oKBudcKCo1rGb0W6zhohBdSSoGWRXxW6uzW5ZdQCk6W5ykWPZdGSoCjCooFgtdImotl8kVjmoiW75Gb8k1h8kghHVdU3aFW7a+WRz1tdxcHSoHW7eJWQfIWOXty1TIidHOkW7cSSoyWP8FWQjzW5ZdM8kgW4uXW4pcSmkJWPFcLZ3cTmoQW6tdHmoCW5xcKSkoW7CXw8k7kW3dI8o8vN0Wdmo7j8kEWQO','h3FcQGZdTa','W5jsWRq','WP3cKg/cNmoygq','ichcLCok','EtNcJH7cKxZdSaW','W5C9uCoyaW','W7NcHr7cQCoi','W4hdH1CLW5W','iCoOW5VcHCov','WOjEpXS','W7dcGZS','dv9hW6RcIG','WOhdGxjNr8oBWP3cLSoK','df/cPIFdMW','hx/dNv7dPYJcQv4RsmkrWR5Bbq','ECkUvL/cQ8oFW5VdJSkoq8oaWQZdNa','W63cHXdcHSkxW5DoW4BcGSodlmkhBW','W7y2Fq','cSoKW6xcM8os','WOGmhJZdUq','W7/dP1K','W4ySwxhdQG','WQ8cWRxdK0O','W6fnW5mNuqfkW4ddJW','WQv1uCkH','W5XtecRcHq','WO8vWPrwbmkNCmkbW5q','W55yWQjpeSkbnghcRW','WOXPemklwIJdNhxdTsuQW69U','BmkWW5tcNW','itK+zxxcUmklW6LzWRzPW5S','WODEW6GU','W6dcHGxcKSkgWPHg','xmk2W4lcMSoPW7pdNGjk','D3/cKCofWRFdPq','WPhdVCk+WOpcRq','WQNcJSkhyCo2zM3cJCkYbdz7W6CjnW','WPrZq8oobx7cNKVdRGPZW6juWPFcVCo8rW','eCoEA1lcQmkNesPi','jGtcVmodW5m','W4XmpdlcUW','WP3dTuTBsa','yWa9','WP5WW70','WPi7cG','WOfAW70H','WOldPh/dMa','W7/cRWJcSmkD','WQ8sWQbEfq','W73cKJlcTCkazbVdRSkXdSo8W4PiWO1ZlcNcK15nW7xdRW1vWOGaphFdV8kdxSkrWR0dWRW9tCk0WR87W7qJAq','WOW8hYhdP21Rgmon','WP13r8kpWOm','Dt7cIatcUW','cSoIW68','ySo6W7jm','W4X4FSknxM1FWOO','k15SW48','WRfbCSktWQv0tsNdSG','WPJcKgJcJa','W6hdQ38HW5K','WOlcPgtcNCou','jIJdISkDW67cSCkCwCkIESkYW4W','u8oxW6zucW','f8oAFL0','WRBdG3y','hNawg8kPW7e8yWq','vGS7rCku','gKarmmkp','WOHEjH8','wXBLPQBOTRbGWP3LJ5/LMzWMW6G','WRyLWRJcOeLrAtZdHqhdGa','B8oAzG','WQv7s8kL','lcxcMCobW5bCWRqKW7y','i8oEWQvcW5i','W6lcKcNcKmoOW61PWQfYl8k0'],...(function(){return[...['WQddMg8IW74efW','WPzxFX3cJG','WOFcHxxcImoetKhdOmoQW7vSW7ldOajFdCoICHupWRVcTSkqBWyIESkTWPCVw07cIIJcTMddLine truncated
function Env(o,t){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((r,i)=>{s.call(this,t,(t,e,s)=>{t?i(t):r(e)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.logLevels={debug:0,info:1,warn:2,error:3},this.logLevelPrefixs={debug:"[DEBUG] ",info:"[INFO] ",warn:"[WARN] ",error:"[ERROR] "},this.logLevel="info",this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.encoding="utf-8",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}getEnv(){return"undefined"!=typeof $environment&&$environment["surge-version"]?"Surge":"undefined"!=typeof $environment&&$environment["stash-version"]?"Stash":"undefined"!=typeof module&&module.exports?"Node.js":"undefined"!=typeof $task?"Quantumult X":"undefined"!=typeof $loon?"Loon":"undefined"!=typeof $rocket?"Shadowrocket":void 0}isNode(){return"Node.js"===this.getEnv()}isQuanX(){return"Quantumult X"===this.getEnv()}isSurge(){return"Surge"===this.getEnv()}isLoon(){return"Loon"===this.getEnv()}isShadowrocket(){return"Shadowrocket"===this.getEnv()}isStash(){return"Stash"===this.getEnv()}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null,...s){try{return JSON.stringify(t,...s)}catch{return e}}getjson(t,e){let s=e;if(this.getdata(t))try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(r=>{this.get({url:t},(t,e,s)=>r(s))})}runScript(a,o){return new Promise(r=>{let t=this.getdata("@chavy_boxjs_userCfgs.httpapi");t=t&&t.replace(/\n/g,"").trim();var e=(e=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"))?+e:20,[s,i]=(e=o&&o.timeout?o.timeout:e,t.split("@"));this.post({url:`http://${i}/v1/scripting/evaluate`,body:{script_text:a,mock_type:"cron",timeout:e},headers:{"X-Key":s,Accept:"*/*"},timeout:e},(t,e,s)=>r(s))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};this.fs=this.fs||require("fs"),this.path=this.path||require("path");var t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),r=!s&&this.fs.existsSync(e);if(!s&&!r)return{};r=s?t:e;try{return JSON.parse(this.fs.readFileSync(r))}catch(t){return{}}}writedata(){var t,e,s,r,i;this.isNode()&&(this.fs=this.fs||require("fs"),this.path=this.path||require("path"),t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),r=!(s=this.fs.existsSync(t))&&this.fs.existsSync(e),i=JSON.stringify(this.data),!s&&r?this.fs.writeFileSync(e,i):this.fs.writeFileSync(t,i))}lodash_get(t,e,s){let r=t;for(const t of e.replace(/\[(\d+)\]/g,".$1").split("."))if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,r,e){return Object(t)===t&&((r=Array.isArray(r)?r:r.toString().match(/[^.[\]]+/g)||[]).slice(0,-1).reduce((t,e,s)=>Object(t[e])===t[e]?t[e]:t[e]=Math.abs(r[s+1])>>0==+r[s+1]?[]:{},t)[r[r.length-1]]=e),t}getdata(t){let e=this.getval(t);if(/^@/.test(t)){var[,s,r]=/^@(.*?)\.(.*?)$/.exec(t);if(s=s?this.getval(s):"")try{const t=JSON.parse(s);e=t?this.lodash_get(t,r,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){var[,r,i]=/^@(.*?)\.(.*?)$/.exec(e),a=this.getval(r),a=r?"null"===a?null:a||"{}":"{}";try{const e=JSON.parse(a);this.lodash_set(e,i,t),s=this.setval(JSON.stringify(e),r)}catch(e){this.lodash_set(a={},i,t),s=this.setval(JSON.stringify(a),r)}}else s=this.setval(t,e);return s}getval(t){switch(this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":return $persistentStore.read(t);case"Quantumult X":return $prefs.valueForKey(t);case"Node.js":return this.data=this.loaddata(),this.data[t];default:return this.data&&this.data[t]||null}}setval(t,e){switch(this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":return $persistentStore.write(t,e);case"Quantumult X":return $prefs.setValueForKey(t,e);case"Node.js":return this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0;default:return this.data&&this.data[e]||null}}initGotEnv(t){this.got=this.got||require("got"),this.cktough=this.cktough||require("tough-cookie"),this.ckjar=this.ckjar||new this.cktough.CookieJar,t&&(t.headers=t.headers||{},t)&&(t.headers=t.headers||{},void 0===t.headers.cookie)&&void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar)}tmout(){return new Promise((t,e)=>{this.tmoutId=setTimeout(()=>{this.prms.cancel(),e({message:"timemout",response:""})},5e4)})}get(t,a=()=>{}){switch(t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"],delete t.headers["content-type"],delete t.headers["content-length"]),t.params&&(t.url+="?"+this.queryStr(t.params)),void 0===t.followRedirect||t.followRedirect||((this.isSurge()||this.isLoon())&&(t["auto-redirect"]=!1),this.isQLine truncated