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