123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // http://localhost:5757/parse/虾米?url=https://v.qq.com/x/cover/mzc00200vkqr54u/v4100qp69zl.html
- // https://jx.xmflv.com/?url=https://v.qq.com/x/cover/mzc00200qon7vo3/b4100sccuyb.html
- const {getHtml} = $.require('./_lib.request.js')
- const jx = {
- header: {
- 'User-Agent': PC_UA,
- 'Referer': 'https://jx.xmflv.com'
- },
- };
- async function lazy(input, params) {
- console.log('input:', input);
- const t = Date.now()
- const a = CryptoJS.MD5(t + encodeURIComponent(input)).toString()
- const sign = function (a) {
- const b = CryptoJS.MD5(a);
- const c = CryptoJS.enc.Utf8.parse(b);
- const d = CryptoJS.enc.Utf8.parse('3cccf88181408f19');
- return CryptoJS.AES.encrypt(a, c, {
- iv: d,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.ZeroPadding
- }).toString()
- };
- let ua = randomUa.generateUa();
- let reqs = (await getHtml({
- url: "https://122.228.8.29:4433/xmflv.js",
- method: 'POST',
- headers: {'User-Agent': ua, 'Origin': 'https://jx.xmflv.com'},
- data: qs.stringify({
- 'wap': '',
- 'url': encodeURIComponent(input),
- 'time': t,
- 'key': sign(a)
- }),
- })).data;
- let key = reqs.aes_key
- let iv = reqs.aes_iv
- let play_url = reqs.url
- // let m3u8 = (await axios.request({
- // url:m3u8_url
- // })).data
- return {
- url: decrypt(play_url, key, iv),
- header: {
- 'origin': 'https://jx.xmflv.cc/',
- // 'Origin': 'https://jx.xmflv.com',
- 'User-Agent': ua,
- }
- }
- }
- function decrypt(text, aes_key, aes_iv) {
- let key = CryptoJS.enc.Utf8.parse(aes_key),
- iv = CryptoJS.enc.Utf8.parse(aes_iv),
- decrypted = CryptoJS.AES.decrypt(text, key, {
- iv: iv,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- });
- return decrypted.toString(CryptoJS.enc.Utf8);
- }
|