commit
64337f3339
11 changed files with 22101 additions and 0 deletions
-
18README.md
-
149app.js
-
1154douyin/_ac_signature.js
-
267hnw/hn.js
-
14017kuaishou/ks_slid.js
-
807package-lock.json
-
7package.json
-
135wx_video/tools.js
-
4709wx_video/wasm_video_decode.js
-
BINwx_video/wasm_video_decode.wasm
-
838xhs/xs-commen.js
@ -0,0 +1,18 @@ |
|||
# nodejs-param |
|||
|
|||
###nodejs---各个平台逆向参数生成 |
|||
- kuaishou:js生成参数verifyParam |
|||
- api: |
|||
- POST: http://x:3000/kuaishou/get_verifyParam |
|||
- hnw: js翻译的wasm代码,生成部分参数的中间值 |
|||
- api: |
|||
- GET: http://x:3000/hn/get_signature?nonce={key} |
|||
- douyin:js生成参数 __ac_signature |
|||
- api: |
|||
- GET: http://x:3000/douyin/get_signature?nonce={nonce} |
|||
|
|||
|
|||
###代码位置: |
|||
` |
|||
` |
|||
- 启动: pm2 app |
@ -0,0 +1,149 @@ |
|||
|
|||
const express = require("express"); |
|||
const bodyParser = require("body-parser"); |
|||
const multer = require('multer'); // 接受视频流
|
|||
const fs = require('fs'); |
|||
|
|||
|
|||
var captcha = require("./kuaishou/ks_slid"); // 快手滑块
|
|||
var hn = require("./hnw/hn"); // 惠农网 headers
|
|||
var dy_signature = require("./douyin/_ac_signature"); // 抖音主页signature
|
|||
var wx_func = require("./wx_video/wasm_video_decode"); // 微信视频号算法生成
|
|||
var wx_tool = require("./wx_video/tools"); // 微信视频号解密
|
|||
var xhs = require("./xhs/xs-commen"); // 小红书x-comment
|
|||
|
|||
let Module; // 保存对象存留
|
|||
var app = express(); |
|||
// 调整参数大小限制
|
|||
app.use(bodyParser.json()); |
|||
app.use(bodyParser.urlencoded({extended: true})); |
|||
// 设置multer来处理上传的文件
|
|||
const storage = multer.memoryStorage(); |
|||
const upload = multer({ storage: storage }); |
|||
|
|||
|
|||
app.post("/kuaishou/get_verifyParam", function(req, res){ |
|||
try{ |
|||
var info = req.body["info"] |
|||
var result = captcha.getJose(info); |
|||
res.send(result); |
|||
console.log("[kuaishou-verify_fp] 请求成功"); |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[kuaishou-verify_fp] verify fp error"); |
|||
} |
|||
}); |
|||
|
|||
app.get("/hn/get_signature", function(req, res){ |
|||
try{ |
|||
var noce = req.query.nonce; |
|||
var result = hn.getS(noce); |
|||
res.send(result); |
|||
console.log("[hn-get_header] 请求成功"); |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[hn-get_header] get header error"); |
|||
} |
|||
}); |
|||
|
|||
|
|||
app.get("/douyin/get_signature", function(req, res){ |
|||
try{ |
|||
var noce = req.query.nonce; |
|||
var result = dy_signature.get_ac_signature(noce); |
|||
res.send(result); |
|||
console.log("[douyin-get_signature] 请求成功"); |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[douyin-get_signature] get signature error"); |
|||
} |
|||
}); |
|||
|
|||
|
|||
app.post("/wx/decode", upload.single('file'), async (req,res) =>{ |
|||
if(Module == undefined){ |
|||
Module = await wx_func.createWasm(); // 创建modul实例
|
|||
console.log("[wx] 初始化 wasm 模块!"); |
|||
} |
|||
|
|||
try{ |
|||
if(req.file){ |
|||
var buffer = req.file.buffer; // 视频流
|
|||
var decodekey = req.query.decodekey; // 视频buffer
|
|||
var local_path = "wx_video/tmp/".concat(decodekey).concat(".mp4"); |
|||
console.log("[wx] 获取到的 decodekey:", decodekey,); |
|||
wx_func.p.decryptor = new Module["WxIsaac64"](decodekey); |
|||
wx_func.p.decryptor.generate(131072); |
|||
var video_res = await wx_tool.main1(local_path, buffer, decodekey, wx_func.p.decryptor_array); |
|||
wx_func.p.decryptor.delete(); |
|||
console.log("[wx] ", video_res); |
|||
res.send(video_res); |
|||
}else{ |
|||
res.send({"status": 500, "msg": "未识别文件"}); |
|||
} |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[wx] decode error"); |
|||
} |
|||
}); |
|||
|
|||
|
|||
// 测试版
|
|||
app.post("/wx/decode1", upload.single('file'), async (req,res) =>{ |
|||
if(Module == undefined){ |
|||
Module = await wx_func.createWasm(); // 创建modul实例
|
|||
console.log("[wx] 初始化 wasm 模块!"); |
|||
} |
|||
|
|||
try{ |
|||
var buffer = req.file.buffer; // 视频流
|
|||
console.log(buffer); |
|||
var decodekey = req.query.decodekey; // 视频buffer
|
|||
var local_path = "wx_video/tmp/".concat(decodekey).concat(".mp4"); |
|||
console.log("[wx] 获取到的 decodekey:", decodekey,); |
|||
wx_func.p.decryptor = new Module["WxIsaac64"](decodekey); |
|||
wx_func.p.decryptor.generate(131072); |
|||
const video_res = await wx_tool.main2(local_path, buffer, decodekey, wx_func.p.decryptor_array); |
|||
wx_func.p.decryptor.delete(); |
|||
// 将Uint8Array转换为Buffer
|
|||
const new_buffer = Buffer.from(video_res); |
|||
// 设置响应类型为二进制
|
|||
res.setHeader('Content-Type', 'application/octet-stream'); |
|||
|
|||
// 发送Buffer数据
|
|||
res.send(new_buffer); |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[wx] decode error"); |
|||
} |
|||
|
|||
}); |
|||
|
|||
app.post("/xhs/get_comment", function(req, res){ |
|||
try{ |
|||
var a1 = req.body["a1"]; |
|||
var xs = req.body["xs"]; |
|||
var xt = req.body["xt"]; |
|||
|
|||
var result = xhs.getCommon(a1, xs, xt); |
|||
// console.log(result);
|
|||
res.send(result); |
|||
// res.send(window.code);
|
|||
// console.log(window.code);
|
|||
// console.log(a);
|
|||
console.log("[xhs-comment] 请求成功"); |
|||
}catch(e){ |
|||
console.log(e); |
|||
res.send("[xhs-comment] verify fp error"); |
|||
} |
|||
// res.send(result.toString());
|
|||
}); |
|||
|
|||
|
|||
app.listen(3000, ()=>{ |
|||
console.log("开启服务,端口3000", new Date().toString()); |
|||
}) |
|||
|
|||
|
|||
|
|||
|
1154
douyin/_ac_signature.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,267 @@ |
|||
var w = 4294967296; // 先固定
|
|||
var M = r2(0,0,false); |
|||
|
|||
|
|||
function mul_(v0, v1, v2, v3){ |
|||
let i32_v0 = new Int32Array(8); |
|||
i32_v0[0] = v0; |
|||
let i64_v0 = new BigInt64Array(i32_v0.buffer)[0]; |
|||
// console.log(i64_v0)
|
|||
let i32_v1 = new Int32Array(8); |
|||
i32_v1[0] = v1; |
|||
let i64_v1 = new BigInt64Array(i32_v1.buffer)[0]; |
|||
|
|||
|
|||
let i32_v2 = new Int32Array(8); |
|||
i32_v2[0] = v2; |
|||
let i64_v2 = new BigInt64Array(i32_v2.buffer)[0]; |
|||
|
|||
|
|||
let i32_v3 = new Int32Array(8); |
|||
i32_v3[0] = v3; |
|||
let i64_v3 = new BigInt64Array(i32_v3.buffer)[0]; |
|||
|
|||
let i64_const = 32n; |
|||
|
|||
// shl、or、mul操作
|
|||
let tmp = (i64_v0 | (i64_v1 << i64_const)) * (i64_v2 | (i64_v3 << i64_const)); |
|||
|
|||
// console.log(Number(tmp), tmp)
|
|||
// global0 shr_s
|
|||
let get_length = Number(tmp >> i64_const); |
|||
|
|||
let res = Number(tmp) >> 32; |
|||
|
|||
// console.log(res, get_length);
|
|||
return {mul: res, get_length: get_length} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
function div_u_(v0, v1, v2, v3){ |
|||
let i32_v0 = new Int32Array(8); |
|||
i32_v0[0] = v0; |
|||
let i64_v0 = new BigInt64Array(i32_v0.buffer)[0]; |
|||
// console.log(i64_v0)
|
|||
let i32_v1 = new Int32Array(8); |
|||
i32_v1[0] = v1; |
|||
let i64_v1 = new BigInt64Array(i32_v1.buffer)[0]; |
|||
// console.log(i64_v1)
|
|||
|
|||
let i32_v2 = new Int32Array(8); |
|||
i32_v2[0] = v2; |
|||
let i64_v2 = new BigInt64Array(i32_v2.buffer)[0]; |
|||
|
|||
|
|||
let i32_v3 = new Int32Array(8); |
|||
i32_v3[0] = v3; |
|||
let i64_v3 = new BigInt64Array(i32_v3.buffer)[0]; |
|||
|
|||
let i64_const = 32n; |
|||
// let u32_max = 0xFFFFFFFF;
|
|||
|
|||
// shl、or、div操作
|
|||
let tmp = ((i64_v0 | (i64_v1 << i64_const)) / (i64_v2 | (i64_v3 << i64_const))) |
|||
|
|||
// console.log(Number(tmp))
|
|||
// global0 shr_s
|
|||
let get_length = Number(tmp >> i64_const); |
|||
|
|||
let res = Number(tmp) >> 32; |
|||
|
|||
// console.log(res, get_length);
|
|||
return {div_u: res, get_length: get_length} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
function randomInt (e, t) { |
|||
return Math.floor(Math.random() * (t - e + 1) + e) |
|||
} |
|||
|
|||
function o(t) { |
|||
return !0 === (t && t.__isLong__) |
|||
} |
|||
|
|||
function m(t, e) { |
|||
return "number" == typeof t ? l(t, e) : "string" == typeof t ? y(t, e) : d(t.low, t.high, "boolean" == typeof e ? e : t.unsigned) |
|||
} |
|||
|
|||
|
|||
function toUnsigned(obj) { |
|||
return obj.unsigned ? obj : d(obj.low, obj.high, !0) |
|||
} |
|||
|
|||
function isZero(obj) { |
|||
return 0 === obj.high && 0 === obj.low |
|||
} |
|||
|
|||
|
|||
function r2(t, e, n) { |
|||
return {low:0 | t, high:0 | e, unsigned:!!n} |
|||
} |
|||
|
|||
|
|||
function d(t, e, n) { |
|||
return r2(t,e,n) |
|||
} |
|||
|
|||
function eq(t, obj) { |
|||
return o(t) || (t = m(t)), |
|||
(obj.unsigned === t.unsigned || obj.high >>> 31 != 1 || t.high >>> 31 != 1) && (obj.high === t.high && obj.low === t.low) |
|||
} |
|||
|
|||
function not(obj){ |
|||
return d(~obj.low, ~obj.high, obj.unsigned); |
|||
} |
|||
|
|||
function neg(obj) { |
|||
let k = { |
|||
"low": 1, |
|||
"high": 0, |
|||
"unsigned": false |
|||
} |
|||
return add(k, not(obj)); |
|||
} |
|||
|
|||
|
|||
|
|||
function l(t, e) { |
|||
return t < 0 ? l(-t, e).neg() : d(t % w | 0, t / w | 0, e) |
|||
} |
|||
|
|||
function isNegative(obj){ |
|||
return !obj.unsigned && obj.high < 0 |
|||
} |
|||
|
|||
|
|||
function isOdd(obj) { |
|||
return 1 == (1 & obj.low) |
|||
} |
|||
|
|||
|
|||
function mul(t, obj) { |
|||
if (isZero(obj)) |
|||
return M; |
|||
if (o(t) || (t = m(t))){ |
|||
let mul$ = mul_(obj.low, obj.high, t.low, t.high); |
|||
return d(mul$["mul"], mul$["get_length"], obj.unsigned); |
|||
} |
|||
if (isZero(t)) |
|||
return M; |
|||
if (eq(j, obj)) |
|||
return t.isOdd() ? j : M; |
|||
if (eq(j, t)) |
|||
return isOdd(obj) ? j : M; |
|||
if (isNegative(obj)) |
|||
return t.isNegative() ? this.neg().mul(t.neg()) : this.neg().mul(t).neg(); |
|||
if (t.isNegative()) |
|||
return this.mul(t.neg()).neg(); |
|||
if (this.lt(x) && t.lt(x)) |
|||
return l(this.toNumber() * t.toNumber(), this.unsigned); |
|||
var e = obj.high >>> 16 |
|||
, r = 65535 & obj.high |
|||
, f = obj.low >>> 16 |
|||
, c = 65535 & obj.low |
|||
, h = t.high >>> 16 |
|||
, v = 65535 & t.high |
|||
, y = t.low >>> 16 |
|||
, w = 65535 & t.low |
|||
, _ = 0 |
|||
, S = 0 |
|||
, E = 0 |
|||
, k = 0; |
|||
return E += (k += c * w) >>> 16, |
|||
S += (E += f * w) >>> 16, |
|||
E &= 65535, |
|||
S += (E += c * y) >>> 16, |
|||
_ += (S += r * w) >>> 16, |
|||
S &= 65535, |
|||
_ += (S += f * y) >>> 16, |
|||
S &= 65535, |
|||
_ += (S += c * v) >>> 16, |
|||
_ += e * w + r * y + f * v + c * h, |
|||
d((E &= 65535) << 16 | (k &= 65535), (_ &= 65535) << 16 | (S &= 65535), obj.unsigned) |
|||
} |
|||
|
|||
|
|||
function div(t, o){ |
|||
let div_ = div_u_(o.low, o.high, t.low, t.high); |
|||
return o.unsigned || -2147483648 !== o.high || -1 !== t.low || -1 !== t.high ? d(div_["div_u"], div_["get_length"], o.unsigned) : o; |
|||
} |
|||
|
|||
|
|||
function sub(t, obj) { |
|||
return o(t) || (t = m(t)), |
|||
add(neg(t), obj) |
|||
} |
|||
|
|||
function toInt(obj) { |
|||
return obj.unsigned ? obj.low >>> 0 : obj.low |
|||
} |
|||
|
|||
|
|||
function toS(t, obj){ |
|||
for (var r = l(Math.pow(t, 6), obj.unsigned), o = obj, f = ""; ; ) { |
|||
var c = div(r, o) |
|||
|
|||
h = (toInt(sub(mul(r, c), o)) >>> 0).toString(t), |
|||
h = (toInt(sub(mul(r, c), o)) >>> 0).toString(t); |
|||
if (isZero(o = c)) |
|||
return h + f; |
|||
for (; h.length < 6; ) |
|||
h = "0" + h; |
|||
f = "" + h + f |
|||
} |
|||
} |
|||
|
|||
|
|||
function add(t, obj) { |
|||
o(t) || (t = m(t)); |
|||
var e = obj.high >>> 16 |
|||
, n = 65535 & obj.high |
|||
, r = obj.low >>> 16 |
|||
, f = 65535 & obj.low |
|||
, c = t.high >>> 16 |
|||
, h = 65535 & t.high |
|||
, l = t.low >>> 16 |
|||
, v = 0 |
|||
, y = 0 |
|||
, w = 0 |
|||
, _ = 0; |
|||
return w += (_ += f + (65535 & t.low)) >>> 16, |
|||
y += (w += r + l) >>> 16, |
|||
v += (y += n + h) >>> 16, |
|||
v += e + c, |
|||
d((w &= 65535) << 16 | (_ &= 65535), (v &= 65535) << 16 | (y &= 65535), obj.unsigned) |
|||
} |
|||
|
|||
function y(t, e, n) { |
|||
var p; |
|||
for (var r = l(Math.pow(n, 8)), o = M, i = 0; i < t.length; i += 8) { |
|||
var f = Math.min(8, t.length - i) |
|||
, c = parseInt(t.substring(i, i + f), n); |
|||
if (f < 8) { |
|||
var h = l(Math.pow(n, f)); |
|||
o = add(l(c), mul(h, o)); |
|||
} else{ |
|||
o = add(l(c), mul(r, o)); |
|||
} |
|||
|
|||
} |
|||
return o.unsigned = e, |
|||
o |
|||
} |
|||
|
|||
function getS(key){ |
|||
return toS(10, toUnsigned(y(key, !0, 16))); |
|||
} |
|||
|
|||
|
|||
module.exports = { |
|||
getS |
|||
} |
|||
|
|||
|
14017
kuaishou/ks_slid.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,807 @@ |
|||
{ |
|||
"name": "nodejs-param", |
|||
"lockfileVersion": 3, |
|||
"requires": true, |
|||
"packages": { |
|||
"": { |
|||
"dependencies": { |
|||
"body-parser": "^1.20.2", |
|||
"express": "^4.19.2", |
|||
"multer": "^1.4.5-lts.1" |
|||
} |
|||
}, |
|||
"node_modules/accepts": { |
|||
"version": "1.3.8", |
|||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
|||
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", |
|||
"dependencies": { |
|||
"mime-types": "~2.1.34", |
|||
"negotiator": "0.6.3" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/append-field": { |
|||
"version": "1.0.0", |
|||
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", |
|||
"integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" |
|||
}, |
|||
"node_modules/array-flatten": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |
|||
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" |
|||
}, |
|||
"node_modules/body-parser": { |
|||
"version": "1.20.2", |
|||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", |
|||
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", |
|||
"dependencies": { |
|||
"bytes": "3.1.2", |
|||
"content-type": "~1.0.5", |
|||
"debug": "2.6.9", |
|||
"depd": "2.0.0", |
|||
"destroy": "1.2.0", |
|||
"http-errors": "2.0.0", |
|||
"iconv-lite": "0.4.24", |
|||
"on-finished": "2.4.1", |
|||
"qs": "6.11.0", |
|||
"raw-body": "2.5.2", |
|||
"type-is": "~1.6.18", |
|||
"unpipe": "1.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8", |
|||
"npm": "1.2.8000 || >= 1.4.16" |
|||
} |
|||
}, |
|||
"node_modules/buffer-from": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", |
|||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" |
|||
}, |
|||
"node_modules/busboy": { |
|||
"version": "1.6.0", |
|||
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", |
|||
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", |
|||
"dependencies": { |
|||
"streamsearch": "^1.1.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">=10.16.0" |
|||
} |
|||
}, |
|||
"node_modules/bytes": { |
|||
"version": "3.1.2", |
|||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", |
|||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/call-bind": { |
|||
"version": "1.0.5", |
|||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", |
|||
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", |
|||
"dependencies": { |
|||
"function-bind": "^1.1.2", |
|||
"get-intrinsic": "^1.2.1", |
|||
"set-function-length": "^1.1.1" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/concat-stream": { |
|||
"version": "1.6.2", |
|||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", |
|||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", |
|||
"engines": [ |
|||
"node >= 0.8" |
|||
], |
|||
"dependencies": { |
|||
"buffer-from": "^1.0.0", |
|||
"inherits": "^2.0.3", |
|||
"readable-stream": "^2.2.2", |
|||
"typedarray": "^0.0.6" |
|||
} |
|||
}, |
|||
"node_modules/content-disposition": { |
|||
"version": "0.5.4", |
|||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", |
|||
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", |
|||
"dependencies": { |
|||
"safe-buffer": "5.2.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/content-type": { |
|||
"version": "1.0.5", |
|||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", |
|||
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/cookie": { |
|||
"version": "0.6.0", |
|||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", |
|||
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/cookie-signature": { |
|||
"version": "1.0.6", |
|||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
|||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" |
|||
}, |
|||
"node_modules/core-util-is": { |
|||
"version": "1.0.3", |
|||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", |
|||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" |
|||
}, |
|||
"node_modules/debug": { |
|||
"version": "2.6.9", |
|||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
|||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", |
|||
"dependencies": { |
|||
"ms": "2.0.0" |
|||
} |
|||
}, |
|||
"node_modules/define-data-property": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", |
|||
"integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", |
|||
"dependencies": { |
|||
"get-intrinsic": "^1.2.1", |
|||
"gopd": "^1.0.1", |
|||
"has-property-descriptors": "^1.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
} |
|||
}, |
|||
"node_modules/depd": { |
|||
"version": "2.0.0", |
|||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", |
|||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/destroy": { |
|||
"version": "1.2.0", |
|||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", |
|||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", |
|||
"engines": { |
|||
"node": ">= 0.8", |
|||
"npm": "1.2.8000 || >= 1.4.16" |
|||
} |
|||
}, |
|||
"node_modules/ee-first": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
|||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" |
|||
}, |
|||
"node_modules/encodeurl": { |
|||
"version": "1.0.2", |
|||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", |
|||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/escape-html": { |
|||
"version": "1.0.3", |
|||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", |
|||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" |
|||
}, |
|||
"node_modules/etag": { |
|||
"version": "1.8.1", |
|||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
|||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/express": { |
|||
"version": "4.19.2", |
|||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", |
|||
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", |
|||
"dependencies": { |
|||
"accepts": "~1.3.8", |
|||
"array-flatten": "1.1.1", |
|||
"body-parser": "1.20.2", |
|||
"content-disposition": "0.5.4", |
|||
"content-type": "~1.0.4", |
|||
"cookie": "0.6.0", |
|||
"cookie-signature": "1.0.6", |
|||
"debug": "2.6.9", |
|||
"depd": "2.0.0", |
|||
"encodeurl": "~1.0.2", |
|||
"escape-html": "~1.0.3", |
|||
"etag": "~1.8.1", |
|||
"finalhandler": "1.2.0", |
|||
"fresh": "0.5.2", |
|||
"http-errors": "2.0.0", |
|||
"merge-descriptors": "1.0.1", |
|||
"methods": "~1.1.2", |
|||
"on-finished": "2.4.1", |
|||
"parseurl": "~1.3.3", |
|||
"path-to-regexp": "0.1.7", |
|||
"proxy-addr": "~2.0.7", |
|||
"qs": "6.11.0", |
|||
"range-parser": "~1.2.1", |
|||
"safe-buffer": "5.2.1", |
|||
"send": "0.18.0", |
|||
"serve-static": "1.15.0", |
|||
"setprototypeof": "1.2.0", |
|||
"statuses": "2.0.1", |
|||
"type-is": "~1.6.18", |
|||
"utils-merge": "1.0.1", |
|||
"vary": "~1.1.2" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.10.0" |
|||
} |
|||
}, |
|||
"node_modules/finalhandler": { |
|||
"version": "1.2.0", |
|||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", |
|||
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", |
|||
"dependencies": { |
|||
"debug": "2.6.9", |
|||
"encodeurl": "~1.0.2", |
|||
"escape-html": "~1.0.3", |
|||
"on-finished": "2.4.1", |
|||
"parseurl": "~1.3.3", |
|||
"statuses": "2.0.1", |
|||
"unpipe": "~1.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/forwarded": { |
|||
"version": "0.2.0", |
|||
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", |
|||
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/fresh": { |
|||
"version": "0.5.2", |
|||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", |
|||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/function-bind": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", |
|||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/get-intrinsic": { |
|||
"version": "1.2.2", |
|||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", |
|||
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", |
|||
"dependencies": { |
|||
"function-bind": "^1.1.2", |
|||
"has-proto": "^1.0.1", |
|||
"has-symbols": "^1.0.3", |
|||
"hasown": "^2.0.0" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/gopd": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", |
|||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", |
|||
"dependencies": { |
|||
"get-intrinsic": "^1.1.3" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/has-property-descriptors": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", |
|||
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", |
|||
"dependencies": { |
|||
"get-intrinsic": "^1.2.2" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/has-proto": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", |
|||
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/has-symbols": { |
|||
"version": "1.0.3", |
|||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", |
|||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/hasown": { |
|||
"version": "2.0.0", |
|||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", |
|||
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", |
|||
"dependencies": { |
|||
"function-bind": "^1.1.2" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
} |
|||
}, |
|||
"node_modules/http-errors": { |
|||
"version": "2.0.0", |
|||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", |
|||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", |
|||
"dependencies": { |
|||
"depd": "2.0.0", |
|||
"inherits": "2.0.4", |
|||
"setprototypeof": "1.2.0", |
|||
"statuses": "2.0.1", |
|||
"toidentifier": "1.0.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/iconv-lite": { |
|||
"version": "0.4.24", |
|||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", |
|||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", |
|||
"dependencies": { |
|||
"safer-buffer": ">= 2.1.2 < 3" |
|||
}, |
|||
"engines": { |
|||
"node": ">=0.10.0" |
|||
} |
|||
}, |
|||
"node_modules/inherits": { |
|||
"version": "2.0.4", |
|||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
|||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
|||
}, |
|||
"node_modules/ipaddr.js": { |
|||
"version": "1.9.1", |
|||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
|||
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", |
|||
"engines": { |
|||
"node": ">= 0.10" |
|||
} |
|||
}, |
|||
"node_modules/isarray": { |
|||
"version": "1.0.0", |
|||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", |
|||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" |
|||
}, |
|||
"node_modules/media-typer": { |
|||
"version": "0.3.0", |
|||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
|||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/merge-descriptors": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", |
|||
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" |
|||
}, |
|||
"node_modules/methods": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", |
|||
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/mime": { |
|||
"version": "1.6.0", |
|||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", |
|||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", |
|||
"bin": { |
|||
"mime": "cli.js" |
|||
}, |
|||
"engines": { |
|||
"node": ">=4" |
|||
} |
|||
}, |
|||
"node_modules/mime-db": { |
|||
"version": "1.52.0", |
|||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", |
|||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/mime-types": { |
|||
"version": "2.1.35", |
|||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", |
|||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", |
|||
"dependencies": { |
|||
"mime-db": "1.52.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/minimist": { |
|||
"version": "1.2.8", |
|||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", |
|||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/mkdirp": { |
|||
"version": "0.5.6", |
|||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", |
|||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", |
|||
"dependencies": { |
|||
"minimist": "^1.2.6" |
|||
}, |
|||
"bin": { |
|||
"mkdirp": "bin/cmd.js" |
|||
} |
|||
}, |
|||
"node_modules/ms": { |
|||
"version": "2.0.0", |
|||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
|||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" |
|||
}, |
|||
"node_modules/multer": { |
|||
"version": "1.4.5-lts.1", |
|||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", |
|||
"integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", |
|||
"dependencies": { |
|||
"append-field": "^1.0.0", |
|||
"busboy": "^1.0.0", |
|||
"concat-stream": "^1.5.2", |
|||
"mkdirp": "^0.5.4", |
|||
"object-assign": "^4.1.1", |
|||
"type-is": "^1.6.4", |
|||
"xtend": "^4.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 6.0.0" |
|||
} |
|||
}, |
|||
"node_modules/negotiator": { |
|||
"version": "0.6.3", |
|||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
|||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/object-assign": { |
|||
"version": "4.1.1", |
|||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
|||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", |
|||
"engines": { |
|||
"node": ">=0.10.0" |
|||
} |
|||
}, |
|||
"node_modules/object-inspect": { |
|||
"version": "1.13.1", |
|||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", |
|||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/on-finished": { |
|||
"version": "2.4.1", |
|||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", |
|||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", |
|||
"dependencies": { |
|||
"ee-first": "1.1.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/parseurl": { |
|||
"version": "1.3.3", |
|||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", |
|||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/path-to-regexp": { |
|||
"version": "0.1.7", |
|||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", |
|||
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" |
|||
}, |
|||
"node_modules/process-nextick-args": { |
|||
"version": "2.0.1", |
|||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", |
|||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" |
|||
}, |
|||
"node_modules/proxy-addr": { |
|||
"version": "2.0.7", |
|||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", |
|||
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", |
|||
"dependencies": { |
|||
"forwarded": "0.2.0", |
|||
"ipaddr.js": "1.9.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.10" |
|||
} |
|||
}, |
|||
"node_modules/qs": { |
|||
"version": "6.11.0", |
|||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", |
|||
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", |
|||
"dependencies": { |
|||
"side-channel": "^1.0.4" |
|||
}, |
|||
"engines": { |
|||
"node": ">=0.6" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/range-parser": { |
|||
"version": "1.2.1", |
|||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", |
|||
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/raw-body": { |
|||
"version": "2.5.2", |
|||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", |
|||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", |
|||
"dependencies": { |
|||
"bytes": "3.1.2", |
|||
"http-errors": "2.0.0", |
|||
"iconv-lite": "0.4.24", |
|||
"unpipe": "1.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/readable-stream": { |
|||
"version": "2.3.8", |
|||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", |
|||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", |
|||
"dependencies": { |
|||
"core-util-is": "~1.0.0", |
|||
"inherits": "~2.0.3", |
|||
"isarray": "~1.0.0", |
|||
"process-nextick-args": "~2.0.0", |
|||
"safe-buffer": "~5.1.1", |
|||
"string_decoder": "~1.1.1", |
|||
"util-deprecate": "~1.0.1" |
|||
} |
|||
}, |
|||
"node_modules/readable-stream/node_modules/safe-buffer": { |
|||
"version": "5.1.2", |
|||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
|||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" |
|||
}, |
|||
"node_modules/safe-buffer": { |
|||
"version": "5.2.1", |
|||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
|||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", |
|||
"funding": [ |
|||
{ |
|||
"type": "github", |
|||
"url": "https://github.com/sponsors/feross" |
|||
}, |
|||
{ |
|||
"type": "patreon", |
|||
"url": "https://www.patreon.com/feross" |
|||
}, |
|||
{ |
|||
"type": "consulting", |
|||
"url": "https://feross.org/support" |
|||
} |
|||
] |
|||
}, |
|||
"node_modules/safer-buffer": { |
|||
"version": "2.1.2", |
|||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
|||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
|||
}, |
|||
"node_modules/send": { |
|||
"version": "0.18.0", |
|||
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", |
|||
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", |
|||
"dependencies": { |
|||
"debug": "2.6.9", |
|||
"depd": "2.0.0", |
|||
"destroy": "1.2.0", |
|||
"encodeurl": "~1.0.2", |
|||
"escape-html": "~1.0.3", |
|||
"etag": "~1.8.1", |
|||
"fresh": "0.5.2", |
|||
"http-errors": "2.0.0", |
|||
"mime": "1.6.0", |
|||
"ms": "2.1.3", |
|||
"on-finished": "2.4.1", |
|||
"range-parser": "~1.2.1", |
|||
"statuses": "2.0.1" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8.0" |
|||
} |
|||
}, |
|||
"node_modules/send/node_modules/ms": { |
|||
"version": "2.1.3", |
|||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", |
|||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" |
|||
}, |
|||
"node_modules/serve-static": { |
|||
"version": "1.15.0", |
|||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", |
|||
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", |
|||
"dependencies": { |
|||
"encodeurl": "~1.0.2", |
|||
"escape-html": "~1.0.3", |
|||
"parseurl": "~1.3.3", |
|||
"send": "0.18.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.8.0" |
|||
} |
|||
}, |
|||
"node_modules/set-function-length": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", |
|||
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", |
|||
"dependencies": { |
|||
"define-data-property": "^1.1.1", |
|||
"get-intrinsic": "^1.2.1", |
|||
"gopd": "^1.0.1", |
|||
"has-property-descriptors": "^1.0.0" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.4" |
|||
} |
|||
}, |
|||
"node_modules/setprototypeof": { |
|||
"version": "1.2.0", |
|||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", |
|||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" |
|||
}, |
|||
"node_modules/side-channel": { |
|||
"version": "1.0.4", |
|||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", |
|||
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", |
|||
"dependencies": { |
|||
"call-bind": "^1.0.0", |
|||
"get-intrinsic": "^1.0.2", |
|||
"object-inspect": "^1.9.0" |
|||
}, |
|||
"funding": { |
|||
"url": "https://github.com/sponsors/ljharb" |
|||
} |
|||
}, |
|||
"node_modules/statuses": { |
|||
"version": "2.0.1", |
|||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
|||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/streamsearch": { |
|||
"version": "1.1.0", |
|||
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", |
|||
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", |
|||
"engines": { |
|||
"node": ">=10.0.0" |
|||
} |
|||
}, |
|||
"node_modules/string_decoder": { |
|||
"version": "1.1.1", |
|||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
|||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
|||
"dependencies": { |
|||
"safe-buffer": "~5.1.0" |
|||
} |
|||
}, |
|||
"node_modules/string_decoder/node_modules/safe-buffer": { |
|||
"version": "5.1.2", |
|||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
|||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" |
|||
}, |
|||
"node_modules/toidentifier": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", |
|||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", |
|||
"engines": { |
|||
"node": ">=0.6" |
|||
} |
|||
}, |
|||
"node_modules/type-is": { |
|||
"version": "1.6.18", |
|||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
|||
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", |
|||
"dependencies": { |
|||
"media-typer": "0.3.0", |
|||
"mime-types": "~2.1.24" |
|||
}, |
|||
"engines": { |
|||
"node": ">= 0.6" |
|||
} |
|||
}, |
|||
"node_modules/typedarray": { |
|||
"version": "0.0.6", |
|||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", |
|||
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" |
|||
}, |
|||
"node_modules/unpipe": { |
|||
"version": "1.0.0", |
|||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
|||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/util-deprecate": { |
|||
"version": "1.0.2", |
|||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", |
|||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" |
|||
}, |
|||
"node_modules/utils-merge": { |
|||
"version": "1.0.1", |
|||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
|||
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", |
|||
"engines": { |
|||
"node": ">= 0.4.0" |
|||
} |
|||
}, |
|||
"node_modules/vary": { |
|||
"version": "1.1.2", |
|||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
|||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", |
|||
"engines": { |
|||
"node": ">= 0.8" |
|||
} |
|||
}, |
|||
"node_modules/xtend": { |
|||
"version": "4.0.2", |
|||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", |
|||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", |
|||
"engines": { |
|||
"node": ">=0.4" |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"dependencies": { |
|||
"body-parser": "^1.20.2", |
|||
"express": "^4.19.2", |
|||
"multer": "^1.4.5-lts.1" |
|||
} |
|||
} |
@ -0,0 +1,135 @@ |
|||
|
|||
const fs = require('fs'); |
|||
const url = "https://crawl-files.pontoaplus.com/upload"; |
|||
//const url = "http://172.18.1.113:8080/upload"
|
|||
|
|||
|
|||
/** |
|||
* 视频流解密操作 |
|||
**/ |
|||
function I(t, e, decryptor_array) { |
|||
for (var r = new Uint8Array(t), n = 0; n < t.byteLength && e + n < decryptor_array.length; n++) |
|||
r[n] ^= decryptor_array[n]; |
|||
return r |
|||
} |
|||
|
|||
|
|||
function toArrayBuffer(buffer) { |
|||
const arrayBuffer = new ArrayBuffer(buffer.length); |
|||
const view = new Uint8Array(arrayBuffer); |
|||
|
|||
for (let i = 0; i < buffer.length; i++) { |
|||
view[i] = buffer[i]; |
|||
} |
|||
|
|||
return arrayBuffer; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* |
|||
* 视频下载 |
|||
**/ |
|||
async function download(url, decode, decryptor_array){ |
|||
let response = await fetch(url, { |
|||
headers:{ |
|||
"Cache-Control": "no-cache" |
|||
} |
|||
}); |
|||
|
|||
if(response.status == 200){ |
|||
let arrayBuffer = await response["arrayBuffer"](); |
|||
let m = I(arrayBuffer, 0, decryptor_array); // 进行计算
|
|||
return m; |
|||
} |
|||
|
|||
console.log("下载失败:", decode, ":", url); |
|||
return undefined; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 视频上传 |
|||
**/ |
|||
async function upload(arrayBuffer, file_name){ |
|||
const formData = new FormData(); |
|||
const videoBlob = new Blob([arrayBuffer], { type: 'video/mp4' }); |
|||
formData.append('file', videoBlob, file_name); |
|||
try{ |
|||
let response = await fetch(url, { |
|||
method: 'POST', |
|||
body: formData, |
|||
timeout: 20000 // 设置超时
|
|||
}); |
|||
|
|||
if(response.status == 200){ |
|||
let data = await response.text(); |
|||
return data; |
|||
} |
|||
console.log("[wx] 视频上传失败") |
|||
}catch(e){ |
|||
console.log("[wx] 视频上传异常", e) |
|||
} |
|||
|
|||
|
|||
return undefined; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 保存文件到本地 |
|||
**/ |
|||
function saveUint8ArrayToFile(uint8Array, filePath) { |
|||
const buffer = Buffer.from(uint8Array); |
|||
|
|||
fs.writeFile(filePath, buffer, error => { |
|||
if (error) { |
|||
console.error('Failed to save file:', error); |
|||
} else { |
|||
console.log('File saved successfully.'); |
|||
} |
|||
}); |
|||
|
|||
|
|||
return filePath; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* |
|||
* 视频整体处理流程 |
|||
**/ |
|||
async function main(local_path, url, decode, decryptor_array){ |
|||
console.log(url); |
|||
let arrayBuffer = await download(url, decode, decryptor_array); |
|||
let file_name = decode.concat(".mp4"); |
|||
let upload_file = arrayBuffer !== undefined ? await upload(arrayBuffer, file_name):undefined; |
|||
let filePath = upload_file !== undefined ? upload_file:saveUint8ArrayToFile(arrayBuffer, local_path); |
|||
return filePath == undefined ? {"status": 500, "filePath": filePath, "msg": "下载失败"}: |
|||
(filePath != local_path ? {"status": 200, "filePath": filePath, "msg": "上传成功"}:{"status": 203, "filePath": filePath, "msg": "上传失败"}); |
|||
} |
|||
|
|||
|
|||
async function main1(local_path, buffer, decode, decryptor_array){ |
|||
let arrayBuffer = toArrayBuffer(buffer); |
|||
let file_name = decode.concat(".mp4"); |
|||
let m = I(arrayBuffer, 0, decryptor_array); // 进行计算
|
|||
let upload_file = m !== undefined ? await upload(m, file_name):undefined; |
|||
let filePath = upload_file !== undefined ? upload_file:saveUint8ArrayToFile(m, local_path); |
|||
return filePath == undefined ? {"status": 500, "filePath": filePath, "msg": "视频流传输失败"}: |
|||
(filePath != local_path ? {"status": 200, "filePath": filePath, "msg": "上传成功"}:{"status": 203, "filePath": filePath, "msg": "上传失败"}); |
|||
} |
|||
|
|||
|
|||
|
|||
async function main2(local_path, buffer, decode, decryptor_array){ |
|||
let arrayBuffer = toArrayBuffer(buffer); |
|||
let m = I(arrayBuffer, 0, decryptor_array); // 进行计算
|
|||
return m; |
|||
} |
|||
|
|||
|
|||
module.exports = {main, main1, main2}; |
|||
|
|||
|
|||
|
4709
wx_video/wasm_video_decode.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,838 @@ |
|||
function encodeUtf8(e) { |
|||
for (var t = 55, r = 28, n = 25, o = 74, i = 229, a = 119, u = 193, s = 90, c = 259, l = 280, p = 456, f = 422, d = 185, g = 77, A = 355, h = 1195, v = { |
|||
ndbxf: function(e, t) { |
|||
return e === t |
|||
}, |
|||
dlvDl: function(e, t) { |
|||
return e + t |
|||
}, |
|||
OgZjF: function(e, t, r) { |
|||
return e(t, r) |
|||
} |
|||
}, |
|||
y = encodeURIComponent(e), |
|||
m = [], _ = 0; _ < y[T(-t, r)]; _++) { |
|||
var b = y[T(-n, -82)](_); |
|||
if (v[T(o, i)](b, "%")) { |
|||
var w = y[T(-n, -126)](_ + 1) + y[T(-n, -a)](v[T(279, u)](_, 2)) |
|||
, x = v[T(s, c)](parseInt, w, 16); |
|||
m[T(l, p)](x), |
|||
_ += 2 |
|||
} else |
|||
m[T(l, f)](b[T(d, g) + T(228, A)](0)) |
|||
} |
|||
function T(e, t) { |
|||
return a0_0x5bf4a2(e - -h, t) |
|||
} |
|||
return m |
|||
} |
|||
function a0_0x5bf4a2(e, t) { |
|||
return a0_0x4e04(e - 975, t) |
|||
} |
|||
a0_0x4e04 = function(e, t) { |
|||
return r[e -= 157] |
|||
} |
|||
function tripletToBase64(e) { |
|||
var t = 438 |
|||
, r = 305 |
|||
, n = 389 |
|||
, o = 254 |
|||
, i = 171 |
|||
, a = 355 |
|||
, u = 221 |
|||
, s = 441 |
|||
, c = 306 |
|||
, l = 418 |
|||
, p = 438 |
|||
, f = 604 |
|||
, d = 389 |
|||
, g = 9 |
|||
, A = 355 |
|||
, h = 338 |
|||
, v = 171 |
|||
, y = 319 |
|||
, m = 230 |
|||
, _ = 137 |
|||
, b = 69 |
|||
, w = 1060 |
|||
, x = {}; |
|||
function T(e, t) { |
|||
return a0_0x5bf4a2(e - -w, t) |
|||
} |
|||
x[T(441, 298)] = function(e, t) { |
|||
return e + t |
|||
} |
|||
, |
|||
x[T(t, r)] = function(e, t) { |
|||
return e + t |
|||
} |
|||
, |
|||
x[T(n, o)] = function(e, t) { |
|||
return e & t |
|||
} |
|||
, |
|||
x[T(i, 27)] = function(e, t) { |
|||
return e >> t |
|||
} |
|||
, |
|||
x[T(a, u)] = function(e, t) { |
|||
return e & t |
|||
} |
|||
, |
|||
x[T(137, 45)] = function(e, t) { |
|||
return e & t |
|||
} |
|||
; |
|||
var E = x; |
|||
return E[T(s, c)](E[T(s, l)](E[T(p, f)](lookup[E[T(d, 529)](E[T(i, g)](e, 18), 63)], lookup[E[T(A, h)](E[T(v, y)](e, 12), 63)]), lookup[E[T(A, m)](e >> 6, 63)]), lookup[E[T(_, b)](e, 63)]) |
|||
} |
|||
function encodeChunk(e, t, r) { |
|||
var n, o = 1203, i = 1278, a = 1291, u = 1130, s = 1214, c = 1327, l = 1429, p = 1431, f = 1320, d = 1439, g = 1181, A = 1151, h = 1478, v = 36, y = { |
|||
pWkTP: function(e, t) { |
|||
return e < t |
|||
}, |
|||
HahEp: function(e, t) { |
|||
return e + t |
|||
}, |
|||
xvACd: function(e, t) { |
|||
return e & t |
|||
}, |
|||
Zymkz: function(e, t) { |
|||
return e << t |
|||
}, |
|||
QCmLq: function(e, t) { |
|||
return e & t |
|||
}, |
|||
Qdnej: function(e, t) { |
|||
return e + t |
|||
}, |
|||
MMCMk: function(e, t) { |
|||
return e(t) |
|||
} |
|||
}, m = []; |
|||
function _(e, t) { |
|||
return a0_0x5bf4a2(t - -v, e) |
|||
} |
|||
for (var b = t; y[_(1385, o)](b, r); b += 3) |
|||
n = y[_(i, a)](y[_(u, s)](y[_(c, l)](e[b], 16), 16711680), y[_(1530, p)](e[y[_(f, 1291)](b, 1)] << 8, 65280)) + (255 & e[y[_(1479, 1469)](b, 2)]), |
|||
m[_(1490, d)](y[_(g, A)](tripletToBase64, n)); |
|||
return m[_(h, 1437)]("") |
|||
} |
|||
function b64Encode(e) { |
|||
var t = 1063 |
|||
, r = 1211 |
|||
, n = 1255 |
|||
, o = 1145 |
|||
, i = 855 |
|||
, a = 1021 |
|||
, u = 1378 |
|||
, s = 1313 |
|||
, c = 1227 |
|||
, l = 1353 |
|||
, p = 1305 |
|||
, f = 1294 |
|||
, d = 1146 |
|||
, g = 1246 |
|||
, A = 1433 |
|||
, h = 1291 |
|||
, v = 1265 |
|||
, y = 1152 |
|||
, m = 1469 |
|||
, _ = 1332 |
|||
, b = 1199 |
|||
, w = 1353 |
|||
, x = 1186 |
|||
, T = 1118 |
|||
, E = 1296 |
|||
, S = 1146 |
|||
, k = 1109 |
|||
, I = 1078 |
|||
, B = 1189 |
|||
, C = 1351 |
|||
, O = 1300 |
|||
, M = 1244 |
|||
, L = 1353 |
|||
, D = 1125 |
|||
, N = 1465 |
|||
, R = 1283 |
|||
, j = 1035 |
|||
, F = 1035 |
|||
, P = 884 |
|||
, W = { |
|||
QZCeF: Z(1139, 1245) + Z(t, r) + "1", |
|||
tucXA: function(e, t) { |
|||
return e === t |
|||
}, |
|||
hhpmz: function(e, t) { |
|||
return e - t |
|||
}, |
|||
MIBDd: function(e, t) { |
|||
return e + t |
|||
}, |
|||
LpEPK: function(e, t) { |
|||
return e & t |
|||
}, |
|||
wDmFl: function(e, t) { |
|||
return e << t |
|||
}, |
|||
BKlTG: function(e, t) { |
|||
return e + t |
|||
}, |
|||
mVqpt: function(e, t) { |
|||
return e - t |
|||
}, |
|||
ivzJu: function(e, t) { |
|||
return e - t |
|||
}, |
|||
wrQPO: function(e, t) { |
|||
return e + t |
|||
}, |
|||
mzbVd: function(e, t) { |
|||
return e >> t |
|||
}, |
|||
pMnQF: function(e, t) { |
|||
return e & t |
|||
}, |
|||
KVFmX: function(e, t) { |
|||
return e % t |
|||
}, |
|||
Izlkq: function(e, t) { |
|||
return e < t |
|||
}, |
|||
jlpEd: function(e, t, r, n) { |
|||
return e(t, r, n) |
|||
}, |
|||
nJCOz: function(e, t) { |
|||
return e > t |
|||
}, |
|||
aLEDD: function(e, t) { |
|||
return e + t |
|||
} |
|||
} |
|||
, U = ['3', '6', '4', '7', '2', '5', '0', '1'] |
|||
, z = 0; |
|||
function Z(e, t) { |
|||
return a0_0x5bf4a2(t - -122, e) |
|||
} |
|||
for (; ; ) { |
|||
switch (U[z++]) { |
|||
case "0": |
|||
W[Z(i, a)](G, 1) ? (V = e[W[Z(u, s)](K, 1)], |
|||
Y[Z(c, l)](W[Z(p, f)](lookup[V >> 2], lookup[W[Z(1167, d)](W[Z(1115, g)](V, 4), 63)]) + "==")) : 2 === G && (V = W[Z(A, h)](e[W[Z(v, y)](K, 2)] << 8, e[W[Z(m, _)](K, 1)]), |
|||
Y[Z(b, w)](W[Z(1118, x)](lookup[W[Z(951, T)](V, 10)], lookup[W[Z(E, S)](V >> 4, 63)]) + lookup[W[Z(k, I)](W[Z(B, g)](V, 2), 63)] + "=")); |
|||
continue; |
|||
case "1": |
|||
return Y[Z(1263, C)](""); |
|||
case "2": |
|||
var H = 16383; |
|||
continue; |
|||
case "3": |
|||
var V; |
|||
continue; |
|||
case "4": |
|||
var G = W[Z(1378, O)](K, 3); |
|||
continue; |
|||
case "5": |
|||
for (var q = 0, Q = K - G; W[Z(1411, M)](q, Q); q += H) |
|||
Y[Z(1528, L)](W[Z(1169, D)](encodeChunk, e, q, W[Z(N, R)](W[Z(1018, j)](q, H), Q) ? Q : W[Z(951, F)](q, H))); |
|||
continue; |
|||
case "6": |
|||
var K = e[Z(P, 1018)]; |
|||
continue; |
|||
case "7": |
|||
var Y = []; |
|||
continue |
|||
} |
|||
break |
|||
} |
|||
} |
|||
let lookup = [ |
|||
"Z", |
|||
"m", |
|||
"s", |
|||
"e", |
|||
"r", |
|||
"b", |
|||
"B", |
|||
"o", |
|||
"H", |
|||
"Q", |
|||
"t", |
|||
"N", |
|||
"P", |
|||
"+", |
|||
"w", |
|||
"O", |
|||
"c", |
|||
"z", |
|||
"a", |
|||
"/", |
|||
"L", |
|||
"p", |
|||
"n", |
|||
"g", |
|||
"G", |
|||
"8", |
|||
"y", |
|||
"J", |
|||
"q", |
|||
"4", |
|||
"2", |
|||
"K", |
|||
"W", |
|||
"Y", |
|||
"j", |
|||
"0", |
|||
"D", |
|||
"S", |
|||
"f", |
|||
"d", |
|||
"i", |
|||
"k", |
|||
"x", |
|||
"3", |
|||
"V", |
|||
"T", |
|||
"1", |
|||
"6", |
|||
"I", |
|||
"l", |
|||
"U", |
|||
"A", |
|||
"F", |
|||
"M", |
|||
"9", |
|||
"7", |
|||
"h", |
|||
"E", |
|||
"C", |
|||
"v", |
|||
"u", |
|||
"R", |
|||
"X", |
|||
"5" |
|||
] |
|||
let r = [ |
|||
"asStrin", |
|||
"6421023qDUTlG", |
|||
"GwcGK", |
|||
"rbzrd", |
|||
"ZmserbB", |
|||
"IuNbm", |
|||
"horPD", |
|||
"dlEti", |
|||
"length", |
|||
"defineP", |
|||
"fMQeE", |
|||
"tucXA", |
|||
"isBuffe", |
|||
"Csdwa", |
|||
"GMnXY", |
|||
"wXAzc", |
|||
"hECvuRX", |
|||
"rNCWZ", |
|||
"toStrin", |
|||
"Iqqni", |
|||
"gMCOT", |
|||
"mPqBk", |
|||
"njKvQ", |
|||
"iVrVM", |
|||
"BZDgY", |
|||
"aLEDD", |
|||
"zqlLt", |
|||
"A4NjFqY", |
|||
"qrstuvw", |
|||
"nlloK", |
|||
"XoRcW", |
|||
"PmRiF", |
|||
"gNPmw", |
|||
"qfKTl", |
|||
"size", |
|||
"hKqxo", |
|||
"call", |
|||
"ule", |
|||
"charAt", |
|||
"CVGZf", |
|||
"LApMt", |
|||
"GIOVd", |
|||
"FqzNC", |
|||
"BlYYJ", |
|||
"iveAI", |
|||
"0DSfdik", |
|||
"floor", |
|||
"AFspt", |
|||
"nUgYR", |
|||
"vwKJd", |
|||
"vvUDs", |
|||
"functio", |
|||
"QHyuq", |
|||
"MVAwP", |
|||
"getTime", |
|||
"MMCMk", |
|||
"sYpSd", |
|||
"navigat", |
|||
"lUAFM97", |
|||
"14166300GRKScn", |
|||
"_gg", |
|||
"PTckW", |
|||
"9828858gDvJWH", |
|||
"zQHLA", |
|||
"onGsF", |
|||
"jYLZN", |
|||
"LfzDW", |
|||
"fXyCY", |
|||
"pMnQF", |
|||
"KXVXf", |
|||
"tYPHy", |
|||
"xjGie", |
|||
"Bvk6/7=", |
|||
"default", |
|||
"q42KWYj", |
|||
"uLaUm", |
|||
"qQEvx", |
|||
"WhtXq", |
|||
"bytesTo", |
|||
"pow", |
|||
"JfMBq", |
|||
"asBytes", |
|||
"CSkFe", |
|||
"oVSCj", |
|||
"zxlnG", |
|||
"YfWLP", |
|||
"isArray", |
|||
"vKozY", |
|||
"oGIPg", |
|||
"_hh", |
|||
"alert", |
|||
"WGYNO", |
|||
"qKVdC", |
|||
"XIyHu", |
|||
"35gJWoke", |
|||
"qHhcm", |
|||
"JAJSl", |
|||
"SiQnD", |
|||
"rGcjO", |
|||
"iAdEk", |
|||
"hasOwnP", |
|||
"jkBcl", |
|||
"qRUYU", |
|||
"LmgEU", |
|||
"indexOf", |
|||
"jklmnop", |
|||
"oBytes", |
|||
"pWkTP", |
|||
"mzbVd", |
|||
"ZConF", |
|||
"SybVD", |
|||
"giCxm", |
|||
"DKJgG", |
|||
"0XTdDgM", |
|||
"ZKOQP", |
|||
"jlpEd", |
|||
"atLE", |
|||
"HInoH", |
|||
"xvACd", |
|||
"UUpXV", |
|||
"xZKow", |
|||
"iiDsP", |
|||
"zDWFE", |
|||
"WDznH", |
|||
"1510EVYxDf", |
|||
"encodin", |
|||
"_isBuff", |
|||
"ewsiq", |
|||
"nypTe", |
|||
"JGiLO", |
|||
"JPvwn", |
|||
"dLkrl", |
|||
"GVKTc", |
|||
"maGnI", |
|||
" argume", |
|||
"QZCeF", |
|||
"LpEPK", |
|||
"ndbxf", |
|||
"HIJKLMN", |
|||
"zpXoh", |
|||
"yzFgN", |
|||
"LQzcw", |
|||
"mVqpt", |
|||
"EsNua", |
|||
"fMLzk", |
|||
"[object", |
|||
"JzsgP", |
|||
"exports", |
|||
"sUVZX", |
|||
"random", |
|||
"a2r1ZQo", |
|||
"iXIuP", |
|||
"JXCdt", |
|||
"OgZjF", |
|||
"ZyrdF", |
|||
"ZPSxl", |
|||
"cVte9UJ", |
|||
"gsXZX", |
|||
"AyuWg", |
|||
"jpgNW", |
|||
"fhBCN", |
|||
"7|4", |
|||
"undefin", |
|||
"iEbrz", |
|||
"ijPny", |
|||
"vQLRG", |
|||
"wOcza/L", |
|||
"0|9|6", |
|||
"roANW", |
|||
"gHrQO", |
|||
"lImSF", |
|||
"__esMod", |
|||
"xjwrk", |
|||
"yrsxt", |
|||
"split", |
|||
"ble", |
|||
"wrQPO", |
|||
"ckmlP", |
|||
"stringT", |
|||
"IIbJk", |
|||
"wQkPs", |
|||
"substr", |
|||
"Hex", |
|||
"FcvYN", |
|||
"rVTGu", |
|||
"CJhpg", |
|||
"GPKgf", |
|||
"VWXYZab", |
|||
"GEFbL", |
|||
"lnMXU", |
|||
"ytRAA", |
|||
"sscMP", |
|||
"YYwTi", |
|||
"fdXbs", |
|||
"pBIon", |
|||
"HahEp", |
|||
"epseL", |
|||
"FFGBs", |
|||
"dGTfa", |
|||
"oHQtNP+", |
|||
"nt ", |
|||
"|2|5|0|", |
|||
"1|8|2|4", |
|||
"ofNul", |
|||
"roperty", |
|||
"ctor", |
|||
"configu", |
|||
"FUmrx", |
|||
"Words", |
|||
"Bytes", |
|||
"3|6|5|1", |
|||
"zNDxq", |
|||
"MziVH", |
|||
"Illegal", |
|||
"PjFzZ", |
|||
"wFbRI", |
|||
"AgtoL", |
|||
"ulmju", |
|||
"eMMmS", |
|||
"pBQVD", |
|||
"OXCLS", |
|||
"pZJmk", |
|||
"JLuYf", |
|||
"pngG8yJ", |
|||
"test", |
|||
"5|2|0|4", |
|||
"endian", |
|||
"binary", |
|||
"vnWPy", |
|||
"9082503wDHZUe", |
|||
"fpNFL", |
|||
"ExLNh", |
|||
"BmKDO", |
|||
"slice", |
|||
"Izlkq", |
|||
"3|6|4|7", |
|||
"wDmFl", |
|||
"WzyGE", |
|||
"lAwpi", |
|||
"kEjFq", |
|||
"WMgoB", |
|||
"enumera", |
|||
"JiFfc", |
|||
"u5wPHsO", |
|||
"YUgHM", |
|||
"|2|8|0|", |
|||
"ynYJU", |
|||
"dKjoH", |
|||
"charCod", |
|||
"ABCDEFG", |
|||
"kmWtQ", |
|||
"AxAhe", |
|||
"_ii", |
|||
"fpHmu", |
|||
"FlrTz", |
|||
"get", |
|||
"gRzQm", |
|||
"wYjQX", |
|||
"npUFn", |
|||
"prototy", |
|||
"766Zmjnab", |
|||
"|3|5|7|", |
|||
"hPODe", |
|||
"bHRnl", |
|||
"string", |
|||
"vsoyz", |
|||
"JqpwC", |
|||
"teXIb", |
|||
"RiLUl", |
|||
"rTLAS", |
|||
"ize", |
|||
"constru", |
|||
"iamspam", |
|||
"nJCOz", |
|||
"zNReR", |
|||
"guKIL", |
|||
"JOWCA", |
|||
"xyz0123", |
|||
"nSULH", |
|||
"oFlMR", |
|||
" Array]", |
|||
"BKlTG", |
|||
"bKzCF", |
|||
"QEjqG", |
|||
"MIBDd", |
|||
"lTzWN", |
|||
"456789+", |
|||
"rable", |
|||
"TWqcu", |
|||
"AbucO", |
|||
"KVFmX", |
|||
"eAt", |
|||
"yRnhISG", |
|||
"_ff", |
|||
"VTbZO", |
|||
"Ebvdl", |
|||
"xbNCz", |
|||
"XZJYH", |
|||
"aDKZQ", |
|||
"PImcW", |
|||
"qbsfA", |
|||
"XELvr", |
|||
"fromCha", |
|||
"hhpmz", |
|||
"KblCWi+", |
|||
"bVwGo", |
|||
"userAge", |
|||
"replace", |
|||
"x3VT16I", |
|||
"gJOmQ", |
|||
"xkufh", |
|||
"1423755YoONuB", |
|||
"OcKoU", |
|||
"UwDmp", |
|||
" Object", |
|||
"tRIaN", |
|||
"utf8", |
|||
"fOtaQ", |
|||
"String", |
|||
"pPTeX", |
|||
"FtpSe", |
|||
"HLigX", |
|||
"ivzJu", |
|||
"uyiOy", |
|||
"BWpCW", |
|||
"ULPBW", |
|||
"_digest", |
|||
"kptIO", |
|||
"LpfE8xz", |
|||
"ayXCW", |
|||
"readFlo", |
|||
"FsSjC", |
|||
"stringi", |
|||
"Zymkz", |
|||
"bin", |
|||
"QCmLq", |
|||
"URzpu", |
|||
"bJXmh", |
|||
"|3|1", |
|||
"ZuXog", |
|||
"QWgdM", |
|||
"join", |
|||
"dlvDl", |
|||
"push", |
|||
"_blocks", |
|||
"XyCSd", |
|||
"VvVIb", |
|||
"LjQYx", |
|||
"ajtxP", |
|||
"yWXJR", |
|||
"zCWHZ", |
|||
"rotl", |
|||
"ZyeCw", |
|||
"wordsTo", |
|||
"jnBeR", |
|||
"pAnrE", |
|||
"NdIIp", |
|||
"8lYxANC", |
|||
"XGsUl", |
|||
"rCode", |
|||
"pUeGA", |
|||
"zGNlp", |
|||
"cdefghi", |
|||
"wsVCK", |
|||
"IPplF", |
|||
"kUMTd", |
|||
"JHZDn", |
|||
"tkLYM", |
|||
"rXWku", |
|||
"wOKuD", |
|||
"701812dHtSeL", |
|||
"RhoIX", |
|||
"GfZNv", |
|||
"Qdnej", |
|||
"FjgPK", |
|||
"OPQRSTU" |
|||
] |
|||
|
|||
var mcr = function(e) { |
|||
var t = 831 |
|||
, r = 841 |
|||
, n = 848 |
|||
, o = 770 |
|||
, i = 854 |
|||
, a = 1024 |
|||
, u = 667 |
|||
, s = 820 |
|||
, c = 773 |
|||
, l = 850 |
|||
, p = 973 |
|||
, f = 872 |
|||
, d = 753 |
|||
, g = 824 |
|||
, A = 868 |
|||
, h = 857 |
|||
, v = 1305 |
|||
, y = 1283 |
|||
, m = 1089 |
|||
, _ = 1271 |
|||
, b = 910 |
|||
, w = 1003 |
|||
, x = 1225 |
|||
, T = 1296 |
|||
, E = 1243 |
|||
, S = 1353 |
|||
, k = 1286 |
|||
, I = 1379 |
|||
, B = 1189 |
|||
, C = 1363 |
|||
, O = 1108 |
|||
, M = 1042 |
|||
, L = 1282 |
|||
, D = 1262 |
|||
, N = 1169 |
|||
, R = 1154 |
|||
, j = 442 |
|||
, F = 579 |
|||
, P = {}; |
|||
P[U(768, 863)] = function(e, t) { |
|||
return e === t |
|||
} |
|||
, |
|||
P[U(t, r)] = U(n, 817), |
|||
P[U(672, 829)] = function(e, t) { |
|||
return e < t |
|||
} |
|||
, |
|||
P[U(o, i)] = function(e, t) { |
|||
return e ^ t |
|||
} |
|||
, |
|||
P[U(a, 921)] = function(e, t) { |
|||
return e ^ t |
|||
} |
|||
, |
|||
P[U(u, 672)] = function(e, t) { |
|||
return e < t |
|||
} |
|||
, |
|||
P[U(971, s)] = function(e, t) { |
|||
return e & t |
|||
} |
|||
, |
|||
P[U(c, 712)] = function(e, t) { |
|||
return e >>> t |
|||
} |
|||
, |
|||
P[U(978, l)] = function(e, t) { |
|||
return e & t |
|||
} |
|||
, |
|||
P[U(p, 868)] = function(e, t) { |
|||
return e ^ t |
|||
} |
|||
, |
|||
P[U(790, f)] = function(e, t) { |
|||
return e >>> t |
|||
} |
|||
, |
|||
P[U(d, 847)] = function(e, t) { |
|||
return e >>> t |
|||
} |
|||
; |
|||
var W = P; |
|||
function U(e, t) { |
|||
return a0_0x5bf4a2(t - -F, e) |
|||
} |
|||
for (var z, Z, H = 3988292384, V = 256, G = []; V--; G[V] = z >>> 0) |
|||
for (Z = 8, |
|||
z = V; Z--; ) |
|||
z = W[U(g, l)](z, 1) ? W[U(1042, A)](W[U(h, f)](z, 1), H) : W[U(980, 847)](z, 1); |
|||
return function(e) { |
|||
function t(e, t) { |
|||
return U(e, t - j) |
|||
} |
|||
if (W[t(1196, v)]((0, |
|||
esm_typeof)(e), W[t(1183, y)])) { |
|||
for (var r = 0, n = -1; W[t(m, _)](r, e[t(b, w)]); ++r) |
|||
n = W[t(x, T)](G[W[t(1524, 1363)](255 & n, e[t(1233, E) + t(S, k)](r))], n >>> 8); |
|||
return W[t(I, 1363)](W[t(B, C)](n, -1), H) |
|||
} |
|||
for (r = 0, |
|||
n = -1; W[t(O, 1114)](r, e[t(M, 1003)]); ++r) |
|||
n = W[t(L, C)](G[W[t(1548, C)](W[t(1146, D)](n, 255), e[r])], W[t(N, R)](n, 8)); |
|||
return W[t(1226, 1363)](n, -1) ^ H |
|||
} |
|||
}() |
|||
function esm_typeof(e){ |
|||
return typeof e |
|||
} |
|||
|
|||
// console.log(mcr(
|
|||
// '1687697360034XYW_eyJzaWduU3ZuIjoiNTEiLCJzaWduVHlwZSI6IngxIiwiYXBwSWQiOiJ4aHMtcGMtd2ViIiwic2lnblZlcnNpb24iOiIxIiwicGF5bG9hZCI6IjU2OGRhNTM2Yzc4ODY4NzU2NDBlN2RhY2NhMzIyZWFlZGYyODQ0N2MxZDcyNWMwODRkN2QxOWMyNDE5MTY3NWY1NGI4OTM3OTQzZmZjNjIzNDFmNTkwOWZhYTlkNzc2Y2M5ZTNiZmRhMWZhYTFlYjkwZDc0YWEzMWI1NGM3MmNkMGQ3NGFhMzFiNTRjNzJjZGFjNDg5YjlkYThjZTVlNDhmNGFmYjlhY2ZjM2VhMjZmZTBiMjY2YTZiNGNjM2NiNWYyZDRlM2RlNzA0OTQ4YzE4OWUzZWQ5OTliZjgwMjM0MDIxYzgyMTQyMzI2MjlkYWYxY2VmMjlhZTA5NWU2OTZjMzkwNmQ0NjIxYzZlZTUzNjgxMDg4OGNlZDEwZWM3NzBiMzdkZmQ1Zjk1MTkzYzQ5YmZjNzhmNzhlYzYxOGNhZmVjYjk3ZmI2MTk2MmE3ZDVhYjgzYjgyYmFhODZhOWJkNWMyNTI3NjE3NTgxOGU2ZDU1ZjI4OTRkMzZmYjMwMSJ9I38rHdgsjopgIvesdVwgIC+oIELmBZ5e3VwXLgFTIxS3bqwErFeexd0ekncAzMFYnqthIhJeSfMDKutRI3KsYorWHPtGrbV0P9WfIi/eWc6eYqtyQApPI37ekmR1QL+5Ii6sdnosjoT5yqtXqqwYrBqoIx++GDi/sVtkIx0sxuwr4qtiIkrwIi/skcc3ICLfI3Oe0utl20DZsL5eDSJejVw0IieexVwL+Ptorqth+ZKexY8oICR1IErSgVwBGqtRIxE/eDdeVuwjIC0s1qtnIkpKIkRLee3eDoq6cU5sYqtzaDdefzq1zd/eWWF+IxoefutpIEoefqt9bmF9OoVGIvgeiqtu/YgexjqmIkLwIiDPGamjIvhm+I88IizuBVwlIvGF4eveDS7e1utCIC7sDc=='
|
|||
// ))
|
|||
function getCommon(a1,xs,xt) { |
|||
let f = "I38rHdgsjopgIvesdVwgIC+oIELmBZ5e3VwXLgFTIxS3bqwErFeexd0ekncAzMFYnqthIhJeD9MDKutRI3KsYorWHPtGrbV0P9WfIi/eWc6eYqtyQApPI37ekmR1QL+5Ii6sdnoeSfqYHqwl2qwYmf4OIClbOrm+sVtkIxdsxuwr4qtiIkrOIi/skcc3ICLdI3Oe0utl2ADmsLveDSKsSPw5IEvsiutJOqw8ButhNcKs6WqBIvSfIEr1gVw8Jqw7I3zceS5eVutkIvNs1PtyIkYKIimrzf7sYfGdZf0ejutmLLAsjZ47zfdeSDFwIxOeWPtGIheefPt7oYhMNBLsI30eiVtlnYvexfYPIi+LIES+N94AICPZtFrnIEQYgPtMI3Tu4o/sDLds6PwkIC7eSd7sffIeIhvsxLmC" |
|||
let ee = { |
|||
"s0":5, |
|||
"s1":"", |
|||
"x0":"1", |
|||
"x1":"3.6.8", |
|||
"x2":"Windows", |
|||
"x3":"xhs-pc-web", |
|||
"x4":"3.11.3", |
|||
"x5":a1, |
|||
"x6":xt, |
|||
"x7":xs, |
|||
"x8":f, |
|||
"x9":mcr((xt+'').concat(xs).concat(f)), |
|||
"x10":10 |
|||
} |
|||
return b64Encode(encodeUtf8(JSON.stringify(ee))) |
|||
} |
|||
|
|||
// data = getCommon("190be5ce563w91ew2bf8len812hfndyeklahbn52530000191674","XYW_eyJzaWduU3ZuIjoiNTEiLCJzaWduVHlwZSI6IngxIiwiYXBwSWQiOiJ4aHMtcGMtd2ViIiwic2lnblZlcnNpb24iOiIxIiwicGF5bG9hZCI6IjU1ZjExYjAwNTM5OGNiNmM3MDcyMGRiOTNiMjkzM2FkNWI0OWU2Yzc1YTMyMWIzZTA1MzYxYmY0N2UxYmQ5ZjUxMmUxMTcyODBkNTUzMzQxYTNkMWI3ZjRmZGNiYjIxNmM5ZTNiZmRhMWZhYTFlYjkwZDc0YWEzMWI1NGM3MmNkMGQ3NGFhMzFiNTRjNzJjZGFjNDg5YjlkYThjZTVlNDhmNGFmYjlhY2ZjM2VhMjZmZTBiMjY2YTZiNGNjM2NiNWYwOGJkNDA3OGY2YWQxZjdjNzM2YWU5MWM5OWIwMWNjMDgxMjk1OGRkYmU5ZDdlYWU1MjZjOWYzNzA0OTdiYjM5OTA4Yzc2Mjc0NDM5OTc1Njk2ZmRkMmU1ZWFiN2ExZDVmMjMyZjc2MWMzYWYzMjU4YzhmMDdjOTQyN2E2MGQ1NDUyMzMzMjU0M2NhOGVjY2JkOTYyMTk5ZmYyYzFiNDQ2OTM1NGVlOGUzNzU4MGMyZjg4MTFlZTFkZjVmY2M1MSJ9","1721197324979")
|
|||
|
|||
// console.log(data)
|
|||
|
|||
|
|||
|
|||
module.exports = { |
|||
getCommon |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue