-
Notifications
You must be signed in to change notification settings - Fork 91
Expand file tree
/
Copy pathforward.js
More file actions
10 lines (6 loc) · 29.5 KB
/
forward.js
File metadata and controls
10 lines (6 loc) · 29.5 KB
1
2
3
4
5
6
7
8
9
10
/*
嘘,憋问
hostname = %APPEND% fluxapi.vvebo.vip
forward = type=http-request, pattern=^https?:\/\/fluxapi\.vvebo\.vip\/v1\/purchase\/iap\/subscription$, script-path=forward.js, requires-body=true, max-size=-1, timeout=60
*/
(()=>{var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e={exports:{}},s=function(t){if(t.__esModule)return t;var e=t.default;if("function"==typeof e){var s=function t(){return this instanceof t?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};s.prototype=e.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(t).forEach((function(e){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,r.get?r:{enumerable:!0,get:function(){return t[e]}})})),s}(Object.freeze({__proto__:null,default:{}}));e.exports=function(){var e=e||function(e,r){var i;if("undefined"!=typeof window&&window.crypto&&(i=window.crypto),"undefined"!=typeof self&&self.crypto&&(i=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(i=globalThis.crypto),!i&&"undefined"!=typeof window&&window.msCrypto&&(i=window.msCrypto),!i&&void 0!==t&&t.crypto&&(i=t.crypto),!i)try{i=s}catch(t){}var n=function(){if(i){if("function"==typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function t(){}return function(e){var s;return t.prototype=e,s=new t,t.prototype=null,s}}(),a={},c=a.lib={},h=c.Base={extend:function(t){var e=o(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},u=c.WordArray=h.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,s=t.words,r=this.sigBytes,i=t.sigBytes;if(this.clamp(),r%4)for(var n=0;n<i;n++){var o=s[n>>>2]>>>24-n%4*8&255;e[r+n>>>2]|=o<<24-(r+n)%4*8}else for(var a=0;a<i;a+=4)e[r+a>>>2]=s[a>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,s=this.sigBytes;t[s>>>2]&=4294967295<<32-s%4*8,t.length=e.ceil(s/4)},clone:function(){var t=h.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],s=0;s<t;s+=4)e.push(n());return new u.init(e,t)}}),d=a.enc={},l=d.Hex={stringify:function(t){for(var e=t.words,s=t.sigBytes,r=[],i=0;i<s;i++){var n=e[i>>>2]>>>24-i%4*8&255;r.push((n>>>4).toString(16)),r.push((15&n).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,s=[],r=0;r<e;r+=2)s[r>>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new u.init(s,e/2)}},f=d.Latin1={stringify:function(t){for(var e=t.words,s=t.sigBytes,r=[],i=0;i<s;i++){var n=e[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(n))}return r.join("")},parse:function(t){for(var e=t.length,s=[],r=0;r<e;r++)s[r>>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new u.init(s,e)}},p=d.Utf8={stringify:function(t){try{return decodeURIComponent(escape(f.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return f.parse(unescape(encodeURIComponent(t)))}},g=c.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=p.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var s,r=this._data,i=r.words,n=r.sigBytes,o=this.blockSize,a=n/(4*o),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,h=e.min(4*c,n);if(c){for(var d=0;d<c;d+=o)this._doProcessBlock(i,d);s=i.splice(0,c),r.sigBytes-=h}return new u.init(s,h)},clone:function(){var t=h.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});c.Hasher=g.extend({cfg:h.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){g.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,s){return new t.init(s).finalize(e)}},_createHmacHelper:function(t){return function(e,s){return new y.HMAC.init(t,s).finalize(e)}}});var y=a.algo={};return a}(Math);return e}();var r,i=e.exports,n=function(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}(i),o={exports:{}};var a,c={exports:{}};var h,u={exports:{}},d={exports:{}};var l,f,p={exports:{}};function g(){return f||(f=1,u.exports=function(t){return function(){var e=t,s=e.lib,r=s.Base,i=s.WordArray,n=e.algo,o=n.MD5,a=n.EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:o,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var s,r=this.cfg,n=r.hasher.create(),o=i.create(),a=o.words,c=r.keySize,h=r.iterations;a.length<c;){s&&n.update(s),s=n.update(t).finalize(e),n.reset();for(var u=1;u<h;u++)s=n.finalize(s),n.reset();o.concat(s)}return o.sigBytes=4*c,o}});e.EvpKDF=function(t,e,s){return a.create(s).compute(t,e)}}(),t.EvpKDF}(i,(h||(h=1,d.exports=function(t){return s=(e=t).lib,r=s.WordArray,i=s.Hasher,n=e.algo,o=[],a=n.SHA1=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=this._hash.words,r=s[0],i=s[1],n=s[2],a=s[3],c=s[4],h=0;h<80;h++){if(h<16)o[h]=0|t[e+h];else{var u=o[h-3]^o[h-8]^o[h-14]^o[h-16];o[h]=u<<1|u>>>31}var d=(r<<5|r>>>27)+c+o[h];d+=h<20?1518500249+(i&n|~i&a):h<40?1859775393+(i^n^a):h<60?(i&n|i&a|n&a)-1894007588:(i^n^a)-899497514,c=a,a=n,n=i<<30|i>>>2,i=r,r=d}s[0]=s[0]+r|0,s[1]=s[1]+i|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return e[r>>>5]|=128<<24-r%32,e[14+(r+64>>>9<<4)]=Math.floor(s/4294967296),e[15+(r+64>>>9<<4)]=s,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA1=i._createHelper(a),e.HmacSHA1=i._createHmacHelper(a),t.SHA1;var e,s,r,i,n,o,a}(i)),d.exports),(l||(l=1,p.exports=(e=(t=i).lib.Base,s=t.enc.Utf8,void(t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=s.parse(e));var r=t.blockSize,i=4*r;e.sigBytes>i&&(e=t.finalize(e)),e.clamp();for(var n=this._oKey=e.clone(),o=this._iKey=e.clone(),a=n.words,c=o.words,h=0;h<r;h++)a[h]^=1549556828,c[h]^=909522486;n.sigBytes=o.sigBytes=i,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,s=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(s))}})))),p.exports))),u.exports;var t,e,s}var y;!function(t){(function(){var e=t,s=e.lib.BlockCipher,r=e.algo,i=[],n=[],o=[],a=[],c=[],h=[],u=[],d=[],l=[],f=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var s=0,r=0;for(e=0;e<256;e++){var p=r^r<<1^r<<2^r<<3^r<<4;p=p>>>8^255&p^99,i[s]=p,n[p]=s;var g=t[s],y=t[g],v=t[y],m=257*t[p]^16843008*p;o[s]=m<<24|m>>>8,a[s]=m<<16|m>>>16,c[s]=m<<8|m>>>24,h[s]=m,m=16843009*v^65537*y^257*g^16843008*s,u[p]=m<<24|m>>>8,d[p]=m<<16|m>>>16,l[p]=m<<8|m>>>24,f[p]=m,s?(s=g^t[t[t[v^g]]],r^=t[t[r]]):s=r=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=s.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,s=t.sigBytes/4,r=4*((this._nRounds=s+6)+1),n=this._keySchedule=[],o=0;o<r;o++)o<s?n[o]=e[o]:(h=n[o-1],o%s?s>6&&o%s==4&&(h=i[h>>>24]<<24|i[h>>>16&255]<<16|i[h>>>8&255]<<8|i[255&h]):(h=i[(h=h<<8|h>>>24)>>>24]<<24|i[h>>>16&255]<<16|i[h>>>8&255]<<8|i[255&h],h^=p[o/s|0]<<24),n[o]=n[o-s]^h);for(var a=this._invKeySchedule=[],c=0;c<r;c++){if(o=r-c,c%4)var h=n[o];else h=n[o-4];a[c]=c<4||o<=4?h:u[i[h>>>24]]^d[i[h>>>16&255]]^l[i[h>>>8&255]]^f[i[255&h]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,a,c,h,i)},decryptBlock:function(t,e){var s=t[e+1];t[e+1]=t[e+3],t[e+3]=s,this._doCryptBlock(t,e,this._invKeySchedule,u,d,l,f,n),s=t[e+1],t[e+1]=t[e+3],t[e+3]=s},_doCryptBlock:function(t,e,s,r,i,n,o,a){for(var c=this._nRounds,h=t[e]^s[0],u=t[e+1]^s[1],d=t[e+2]^s[2],l=t[e+3]^s[3],f=4,p=1;p<c;p++){var g=r[h>>>24]^i[u>>>16&255]^n[d>>>8&255]^o[255&l]^s[f++],y=r[u>>>24]^i[d>>>16&255]^n[l>>>8&255]^o[255&h]^s[f++],v=r[d>>>24]^i[l>>>16&255]^n[h>>>8&255]^o[255&u]^s[f++],m=r[l>>>24]^i[h>>>16&255]^n[u>>>8&255]^o[255&d]^s[f++];h=g,u=y,d=v,l=m}g=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[d>>>8&255]<<8|a[255&l])^s[f++],y=(a[u>>>24]<<24|a[d>>>16&255]<<16|a[l>>>8&255]<<8|a[255&h])^s[f++],v=(a[d>>>24]<<24|a[l>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^s[f++],m=(a[l>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&d])^s[f++],t[e]=g,t[e+1]=y,t[e+2]=v,t[e+3]=m},keySize:8});e.AES=s._createHelper(g)})(),t.AES}(i,(r||(r=1,o.exports=function(t){return function(){var e=t,s=e.lib.WordArray;function r(t,e,r){for(var i=[],n=0,o=0;o<e;o++)if(o%4){var a=r[t.charCodeAt(o-1)]<<o%4*2|r[t.charCodeAt(o)]>>>6-o%4*2;i[n>>>2]|=a<<24-n%4*8,n++}return s.create(i,n)}e.enc.Base64={stringify:function(t){var e=t.words,s=t.sigBytes,r=this._map;t.clamp();for(var i=[],n=0;n<s;n+=3)for(var o=(e[n>>>2]>>>24-n%4*8&255)<<16|(e[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|e[n+2>>>2]>>>24-(n+2)%4*8&255,a=0;a<4&&n+.75*a<s;a++)i.push(r.charAt(o>>>6*(3-a)&63));var c=r.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(t){var e=t.length,s=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n<s.length;n++)i[s.charCodeAt(n)]=n}var o=s.charAt(64);if(o){var a=t.indexOf(o);-1!==a&&(e=a)}return r(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),t.enc.Base64}(i)),o.exports),(a||(a=1,c.exports=function(t){return function(e){var s=t,r=s.lib,i=r.WordArray,n=r.Hasher,o=s.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=o.MD5=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var r=e+s,i=t[r];t[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var n=this._hash.words,o=t[e+0],c=t[e+1],f=t[e+2],p=t[e+3],g=t[e+4],y=t[e+5],v=t[e+6],m=t[e+7],_=t[e+8],S=t[e+9],w=t[e+10],b=t[e+11],k=t[e+12],x=t[e+13],B=t[e+14],E=t[e+15],C=n[0],O=n[1],j=n[2],R=n[3];C=h(C,O,j,R,o,7,a[0]),R=h(R,C,O,j,c,12,a[1]),j=h(j,R,C,O,f,17,a[2]),O=h(O,j,R,C,p,22,a[3]),C=h(C,O,j,R,g,7,a[4]),R=h(R,C,O,j,y,12,a[5]),j=h(j,R,C,O,v,17,a[6]),O=h(O,j,R,C,m,22,a[7]),C=h(C,O,j,R,_,7,a[8]),R=h(R,C,O,j,S,12,a[9]),j=h(j,R,C,O,w,17,a[10]),O=h(O,j,R,C,b,22,a[11]),C=h(C,O,j,R,k,7,a[12]),R=h(R,C,O,j,x,12,a[13]),j=h(j,R,C,O,B,17,a[14]),C=u(C,O=h(O,j,R,C,E,22,a[15]),j,R,c,5,a[16]),R=u(R,C,O,j,v,9,a[17]),j=u(j,R,C,O,b,14,a[18]),O=u(O,j,R,C,o,20,a[19]),C=u(C,O,j,R,y,5,a[20]),R=u(R,C,O,j,w,9,a[21]),j=u(j,R,C,O,E,14,a[22]),O=u(O,j,R,C,g,20,a[23]),C=u(C,O,j,R,S,5,a[24]),R=u(R,C,O,j,B,9,a[25]),j=u(j,R,C,O,p,14,a[26]),O=u(O,j,R,C,_,20,a[27]),C=u(C,O,j,R,x,5,a[28]),R=u(R,C,O,j,f,9,a[29]),j=u(j,R,C,O,m,14,a[30]),C=d(C,O=u(O,j,R,C,k,20,a[31]),j,R,y,4,a[32]),R=d(R,C,O,j,_,11,a[33]),j=d(j,R,C,O,b,16,a[34]),O=d(O,j,R,C,B,23,a[35]),C=d(C,O,j,R,c,4,a[36]),R=d(R,C,O,j,g,11,a[37]),j=d(j,R,C,O,m,16,a[38]),O=d(O,j,R,C,w,23,a[39]),C=d(C,O,j,R,x,4,a[40]),R=d(R,C,O,j,o,11,a[41]),j=d(j,R,C,O,p,16,a[42]),O=d(O,j,R,C,v,23,a[43]),C=d(C,O,j,R,S,4,a[44]),R=d(R,C,O,j,k,11,a[45]),j=d(j,R,C,O,E,16,a[46]),C=l(C,O=d(O,j,R,C,f,23,a[47]),j,R,o,6,a[48]),R=l(R,C,O,j,m,10,a[49]),j=l(j,R,C,O,B,15,a[50]),O=l(O,j,R,C,y,21,a[51]),C=l(C,O,j,R,k,6,a[52]),R=l(R,C,O,j,p,10,a[53]),j=l(j,R,C,O,w,15,a[54]),O=l(O,j,R,C,c,21,a[55]),C=l(C,O,j,R,_,6,a[56]),R=l(R,C,O,j,E,10,a[57]),j=l(j,R,C,O,v,15,a[58]),O=l(O,j,R,C,x,21,a[59]),C=l(C,O,j,R,g,6,a[60]),R=l(R,C,O,j,b,10,a[61]),j=l(j,R,C,O,f,15,a[62]),O=l(O,j,R,C,S,21,a[63]),n[0]=n[0]+C|0,n[1]=n[1]+O|0,n[2]=n[2]+j|0,n[3]=n[3]+R|0},_doFinalize:function(){var t=this._data,s=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;s[i>>>5]|=128<<24-i%32;var n=e.floor(r/4294967296),o=r;s[15+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),s[14+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(s.length+1),this._process();for(var a=this._hash,c=a.words,h=0;h<4;h++){var u=c[h];c[h]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});function h(t,e,s,r,i,n,o){var a=t+(e&s|~e&r)+i+o;return(a<<n|a>>>32-n)+e}function u(t,e,s,r,i,n,o){var a=t+(e&r|s&~r)+i+o;return(a<<n|a>>>32-n)+e}function d(t,e,s,r,i,n,o){var a=t+(e^s^r)+i+o;return(a<<n|a>>>32-n)+e}function l(t,e,s,r,i,n,o){var a=t+(s^(e|~r))+i+o;return(a<<n|a>>>32-n)+e}s.MD5=n._createHelper(c),s.HmacMD5=n._createHmacHelper(c)}(Math),t.MD5}(i)),c.exports),g(),y||(y=1,function(t){t.lib.Cipher||function(e){var s=t,r=s.lib,i=r.Base,n=r.WordArray,o=r.BufferedBlockAlgorithm,a=s.enc;a.Utf8;var c=a.Base64,h=s.algo.EvpKDF,u=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,s){this.cfg=this.cfg.extend(s),this._xformMode=t,this._key=e,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?_:v}return function(e){return{encrypt:function(s,r,i){return t(r).encrypt(e,s,r,i)},decrypt:function(s,r,i){return t(r).decrypt(e,s,r,i)}}}}()});r.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var d=s.mode={},l=r.BlockCipherMode=i.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),f=d.CBC=function(){var t=l.extend();function e(t,e,s){var r,i=this._iv;i?(r=i,this._iv=undefined):r=this._prevBlock;for(var n=0;n<s;n++)t[e+n]^=r[n]}return t.Encryptor=t.extend({processBlock:function(t,s){var r=this._cipher,i=r.blockSize;e.call(this,t,s,i),r.encryptBlock(t,s),this._prevBlock=t.slice(s,s+i)}}),t.Decryptor=t.extend({processBlock:function(t,s){var r=this._cipher,i=r.blockSize,n=t.slice(s,s+i);r.decryptBlock(t,s),e.call(this,t,s,i),this._prevBlock=n}}),t}(),p=(s.pad={}).Pkcs7={pad:function(t,e){for(var s=4*e,r=s-t.sigBytes%s,i=r<<24|r<<16|r<<8|r,o=[],a=0;a<r;a+=4)o.push(i);var c=n.create(o,r);t.concat(c)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};r.BlockCipher=u.extend({cfg:u.cfg.extend({mode:f,padding:p}),reset:function(){var t;u.reset.call(this);var e=this.cfg,s=e.iv,r=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=r.createEncryptor:(t=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,s&&s.words):(this._mode=t.call(r,this,s&&s.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4});var g=r.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),y=(s.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,s=t.salt;return(s?n.create([1398893684,1701076831]).concat(s).concat(e):e).toString(c)},parse:function(t){var e,s=c.parse(t),r=s.words;return 1398893684==r[0]&&1701076831==r[1]&&(e=n.create(r.slice(2,4)),r.splice(0,4),s.sigBytes-=16),g.create({ciphertext:s,salt:e})}},v=r.SerializableCipher=i.extend({cfg:i.extend({format:y}),encrypt:function(t,e,s,r){r=this.cfg.extend(r);var i=t.createEncryptor(s,r),n=i.finalize(e),o=i.cfg;return g.create({ciphertext:n,key:s,iv:o.iv,algorithm:t,mode:o.mode,padding:o.padding,blockSize:t.blockSize,formatter:r.format})},decrypt:function(t,e,s,r){return r=this.cfg.extend(r),e=this._parse(e,r.format),t.createDecryptor(s,r).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),m=(s.kdf={}).OpenSSL={execute:function(t,e,s,r,i){if(r||(r=n.random(8)),i)o=h.create({keySize:e+s,hasher:i}).compute(t,r);else var o=h.create({keySize:e+s}).compute(t,r);var a=n.create(o.words.slice(e),4*s);return o.sigBytes=4*e,g.create({key:o,iv:a,salt:r})}},_=r.PasswordBasedCipher=v.extend({cfg:v.cfg.extend({kdf:m}),encrypt:function(t,e,s,r){var i=(r=this.cfg.extend(r)).kdf.execute(s,t.keySize,t.ivSize,r.salt,r.hasher);r.iv=i.iv;var n=v.encrypt.call(this,t,e,i.key,r);return n.mixIn(i),n},decrypt:function(t,e,s,r){r=this.cfg.extend(r),e=this._parse(e,r.format);var i=r.kdf.execute(s,t.keySize,t.ivSize,e.salt,r.hasher);return r.iv=i.iv,v.decrypt.call(this,t,e,i.key,r)}})}()}(i,g())));const v="75c4bc828b770497bfe74805724b72f4",m="73cfab358fe3aa0f";t.$decrypt=t=>{const e=n.enc.Utf8.parse(v),s=n.enc.Utf8.parse(m);return n.AES.decrypt(t,e,{iv:s,mode:n.mode.CBC,padding:n.pad.Pkcs7}).toString(n.enc.Utf8)},t.$encrypt=t=>{const e=n.enc.Utf8.parse(v),s=n.enc.Utf8.parse(m);return n.AES.encrypt(t,e,{iv:s,mode:n.mode.CBC,padding:n.pad.Pkcs7}).toString()}})();const $=new Env("ForWard"),Response={status:$.isQuanX()?"HTTP/1.1 200 OK":200,headers:{Server:"openresty",Date:(new Date).toUTCString(),"X-Powered-By":"Express","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS, PUT, DELETE","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Timestamp, X-Sign, X-Auth","Content-Type":"application/json; charset=utf-8"},body:""};function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;"POST"===e&&(s=this.post);const r=new Promise(((e,r)=>{s.call(this,t,((t,s,i)=>{t?r(t):e(s)}))}));return t.timeout?((t,e=1e3)=>Promise.race([t,new Promise(((t,s)=>{setTimeout((()=>{s(new Error("请求超时"))}),e)}))]))(r,t.timeout):r}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((e=>{this.get({url:t},((t,s,r)=>e(r)))}))}runScript(t,e){return new Promise((s=>{let r=this.getdata("@chavy_boxjs_userCfgs.httpapi");r=r?r.replace(/\n/g,"").trim():r;let i=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");i=i?1*i:20,i=e&&e.timeout?e.timeout:i;const[n,o]=r.split("@"),a={url:`http://${o}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:i},headers:{"X-Key":n,Accept:"*/*"},policy:"DIRECT",timeout:i};this.post(a,((t,e,r)=>s(r)))})).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),r=!s&&this.fs.existsSync(e);if(!s&&!r)return{};{const r=s?t:e;try{return JSON.parse(this.fs.readFileSync(r))}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),r=!s&&this.fs.existsSync(e),i=JSON.stringify(this.data);s?this.fs.writeFileSync(t,i):r?this.fs.writeFileSync(e,i):this.fs.writeFileSync(t,i)}}lodash_get(t,e,s){const r=e.replace(/\[(\d+)\]/g,".$1").split(".");let i=t;for(const t of r)if(i=Object(i)[t],void 0===i)return s;return i}lodash_set(t,e,s){return Object(t)!==t||(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce(((t,s,r)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[r+1])>>0==+e[r+1]?[]:{}),t)[e[e.length-1]]=s),t}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,r]=/^@(.*?)\.(.*?)$/.exec(t),i=s?this.getval(s):"";if(i)try{const t=JSON.parse(i);e=t?this.lodash_get(t,r,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,r,i]=/^@(.*?)\.(.*?)$/.exec(e),n=this.getval(r),o=r?"null"===n?null:n||"{}":"{}";try{const e=JSON.parse(o);this.lodash_set(e,i,t),s=this.setval(JSON.stringify(e),r)}catch(e){const n={};this.lodash_set(n,i,t),s=this.setval(JSON.stringify(n),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?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:{},t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.cookie&&void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar)))}get(t,e=(()=>{})){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.isQuanX()&&(t.opts?t.opts.redirection=!1:t.opts={redirection:!1})),this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":default:this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,((t,s,r)=>{!t&&s&&(s.body=r,s.statusCode=s.status?s.status:s.statusCode,s.status=s.statusCode),e(t,s,r)}));break;case"Quantumult X":this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then((t=>{const{statusCode:s,statusCode:r,headers:i,body:n,bodyBytes:o}=t;e(null,{status:s,statusCode:r,headers:i,body:n,bodyBytes:o},n,o)}),(t=>e(t&&t.error||"UndefinedError")));break;case"Node.js":let s=require("iconv-lite");this.initGotEnv(t),this.got(t).on("redirect",((t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}})).then((t=>{const{statusCode:r,statusCode:i,headers:n,rawBody:o}=t,a=s.decode(o,this.encoding);e(null,{status:r,statusCode:i,headers:n,rawBody:o,body:a},a)}),(t=>{const{message:r,response:i}=t;e(r,i,i&&s.decode(i.rawBody,this.encoding))}));break}}post(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"post";switch(t.body&&t.headers&&!t.headers["Content-Type"]&&!t.headers["content-type"]&&(t.headers["content-type"]="application/x-www-form-urlencoded"),t.headers&&(delete t.headers["Content-Length"],delete t.headers["content-length"]),void 0===t.followRedirect||t.followRedirect||((this.isSurge()||this.isLoon())&&(t["auto-redirect"]=!1),this.isQuanX()&&(t.opts?t.opts.redirection=!1:t.opts={redirection:!1})),this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":default:this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,((t,s,r)=>{!t&&s&&(s.body=r,s.statusCode=s.status?s.status:s.statusCode,s.status=s.statusCode),e(t,s,r)}));break;case"Quantumult X":t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then((t=>{const{statusCode:s,statusCode:r,headers:i,body:n,bodyBytes:o}=t;e(null,{status:s,statusCode:r,headers:i,body:n,bodyBytes:o},n,o)}),(t=>e(t&&t.error||"UndefinedError")));break;case"Node.js":let r=require("iconv-lite");this.initGotEnv(t);const{url:i,...n}=t;this.got[s](i,n).then((t=>{const{statusCode:s,statusCode:i,headers:n,rawBody:o}=t,a=r.decode(o,this.encoding);e(null,{status:s,statusCode:i,headers:n,rawBody:o,body:a},a)}),(t=>{const{message:s,response:i}=t;e(s,i,i&&r.decode(i.rawBody,this.encoding))}));break}}time(t,e=null){const s=e?new Date(e):new Date;let r={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in r)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?r[e]:("00"+r[e]).substr((""+r[e]).length)));return t}queryStr(t){let e="";for(const s in t){let r=t[s];null!=r&&""!==r&&("object"==typeof r&&(r=JSON.stringify(r)),e+=`${s}=${r}&`)}return e=e.substring(0,e.length-1),e}msg(e=t,s="",r="",i={}){const n=t=>{const{$open:e,$copy:s,$media:r,$mediaMime:i}=t;switch(typeof t){case void 0:return t;case"string":switch(this.getEnv()){case"Surge":case"Stash":default:return{url:t};case"Loon":case"Shadowrocket":return t;case"Quantumult X":return{"open-url":t};case"Node.js":return}case"object":switch(this.getEnv()){case"Surge":case"Stash":case"Shadowrocket":default:{const n={};let o=t.openUrl||t.url||t["open-url"]||e;o&&Object.assign(n,{action:"open-url",url:o});let a=t["update-pasteboard"]||t.updatePasteboard||s;if(a&&Object.assign(n,{action:"clipboard",text:a}),r){let t,e,s;if(r.startsWith("http"))t=r;else if(r.startsWith("data:")){const[t]=r.split(";"),[,i]=r.split(",");e=i,s=t.replace("data:","")}else e=r,s=(t=>{const e={JVBERi0:"application/pdf",R0lGODdh:"image/gif",R0lGODlh:"image/gif",iVBORw0KGgo:"image/png","/9j/":"image/jpg"};for(var s in e)if(0===t.indexOf(s))return e[s];return null})(r);Object.assign(n,{"media-url":t,"media-base64":e,"media-base64-mime":i??s})}return Object.assign(n,{"auto-dismiss":t["auto-dismiss"],sound:t.sound}),n}case"Loon":{const s={};let i=t.openUrl||t.url||t["open-url"]||e;i&&Object.assign(s,{openUrl:i});let n=t.mediaUrl||t["media-url"];return r?.startsWith("http")&&(n=r),n&&Object.assign(s,{mediaUrl:n}),s}case"Quantumult X":{const i={};let n=t["open-url"]||t.url||t.openUrl||e;n&&Object.assign(i,{"open-url":n});let o=t["media-url"]||t.mediaUrl;r?.startsWith("http")&&(o=r),o&&Object.assign(i,{"media-url":o});let a=t["update-pasteboard"]||t.updatePasteboard||s;return a&&Object.assign(i,{"update-pasteboard":a}),i}case"Node.js":return}default:return}};if(!this.isMute)switch(this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":default:$notification.post(e,s,r,n(i));break;case"Quantumult X":$notify(e,s,r,n(i));break;case"Node.js":break}if(!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),r&&t.push(r),this.logs=this.logs.concat(t)}}debug(...t){this.logLevels[this.logLevel]<=this.logLevels.debug&&t.length>0&&(this.logs=[...this.logs,...t])}info(...t){this.logLevels[this.logLevel]<=this.logLevels.info&&t.length>0&&(this.logs=[...this.logs,...t])}warn(...t){this.logLevels[this.logLevel]<=this.logLevels.warn&&t.length>0&&(this.logs=[...this.logs,...t])}error(...t){this.logLevels[this.logLevel]<=this.logLevels.error&&t.length>0&&(this.logs=[...this.logs,...t])}log(...t){t.length>0&&(this.logs=[...this.logs,...t])}logErr(t,e){switch(this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":case"Quantumult X":default:this.log("",`❗️${this.name}, 错误!`,e,t);break;case"Node.js":this.log("",`❗️${this.name}, 错误!`,e,void 0!==t.message?t.message:t,t.stack);break}}wait(t){return new Promise((e=>setTimeout(e,t)))}done(t={}){const e=((new Date).getTime()-this.startTime)/1e3;switch(this.log("",`🔔${this.name}, 结束! 🕛 ${e} 秒`),this.log(),this.getEnv()){case"Surge":case"Loon":case"Stash":case"Shadowrocket":case"Quantumult X":default:$done(t);break;case"Node.js":process.exit(1)}}}(t,e)}(async()=>{const t=Object.fromEntries(Object.entries($request.headers).map((([t,e])=>[t.toLowerCase(),e]))),{"x-auth-key":e,"x-timestamp":s}=t;Response.body=`"${$encrypt(JSON.stringify({status_code:200,success:!0,message:"Success",data:{isOEM:!0,isSubscribed:!0,expiresDate:null,originalTransactionId:"290002232734378",bindingType:"",bindingDatas:[],isEarlyBird:!1},randomKey:e,timestamp:Number(s)}))}"`,$.done($.isQuanX()?Response:{response:Response})})().catch((t=>$.logErr(t)));