From dba801113e5775036057017bcf1fe38bc73ed3b3 Mon Sep 17 00:00:00 2001 From: zhiyu1998 Date: Thu, 23 Mar 2023 11:23:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E4=BF=AE=E5=A4=8Ddy?= =?UTF-8?q?=E9=83=A8=E5=88=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/tools.js | 127 +++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 75 deletions(-) diff --git a/apps/tools.js b/apps/tools.js index aec2d57..0661dfb 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -142,84 +142,61 @@ export class tools extends plugin { // const url = `https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=${ douId }`; // const url = `https://www.iesdouyin.com/aweme/v1/web/aweme/detail/?aweme_id=${ douId }&aid=1128&version_name=23.5.0&device_platform=android&os_version=2333`; // 感谢 Evil0ctal(https://github.com/Evil0ctal)提供的header 和 B1gM8c(https://github.com/B1gM8c)的逆向算法X-Bogus - fetch("https://ttwid.bytedance.com/ttwid/union/register/", { - method: "POST", - mode: "cors", - credentials: "include", - body: JSON.stringify({ - region: "cn", - aid: 1768, - needFid: false, - service: "www.ixigua.com", - migrate_info: { - ticket: "", - source: "node", - }, - cbUrlProtocol: "https", - union: true, - }), - }).then(resp => { - const ttwid = resp.headers.get("set-cookie"); - const odin_tt = - "324fb4ea4a89c0c05827e18a1ed9cf9bf8a17f7705fcc793fec935b637867e2a5a9b8168c885554d029919117a18ba69"; - const passport_csrf_token = "f61602fc63757ae0e4fd9d6bdcee4810"; - const headers = { - "User-Agent": - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", - referer: "https://www.douyin.com/", - Cookie: `msToken=${generateRandomStr( - 107, - )}; ttwid=${ttwid};odin_tt=${odin_tt}; passport_csrf_token=${passport_csrf_token}`, - }; - const dyApi = "https://www.douyin.com/aweme/v1/web/aweme/detail/?"; - const params = `aweme_id=${douId}&aid=1128&version_name=23.5.0&device_platform=android&os_version=2333`; - // xg参数 - const xbParam = getXB(params.replaceAll("&", "%26")); - const resDyApi = `${dyApi}${params}&X-Bogus=${xbParam}`; - axios - .get(resDyApi, { - headers, - }) - .then(async resp => { - if (_.isEmpty(resp?.data)) { - e.reply("解析失败,请重试!"); - return; - } - const item = resp.data.aweme_detail; - e.reply(`识别:抖音, ${item.desc}`); - const urlTypeCode = item.aweme_type; - const urlType = douyinTypeMap[urlTypeCode]; - if (urlType === "video") { - const url_2 = item.video.play_addr.url_list[2]; - this.downloadVideo(url_2, false, headers).then(_ => { - e.reply( - segment.video( - `${this.defaultPath}${ - this.e.group_id || this.e.user_id - }/temp.mp4`, - ), - ); - }); - } else if (urlType === "image") { + const headers = { + 'accept-encoding': 'gzip, deflate, br', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36', + 'referer': 'https://www.douyin.com/', + 'cookie': "s_v_web_id=verify_leytkxgn_kvO5kOmO_SdMs_4t1o_B5ml_BUqtWM1mP6BF;" + } + const dyApi = "https://www.douyin.com/aweme/v1/web/aweme/detail/?"; + const params = `msToken=${generateRandomStr(107)}&device_platform=webapp&aid=6383&channel=channel_pc_web&aweme_id=${douId}&pc_client_type=1&version_code=190500&version_name=19.5.0&cookie_enabled=true&screen_width=1344&screen_height=756&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=110.0&browser_online=true&engine_name=Gecko&engine_version=109.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7158288523463362079`; + // xg参数 + const xbParam = getXB(params.replaceAll("&", "%26")); + // const param = resp.data.result[0].paramsencode; + const resDyApi = `${dyApi}${params}&X-Bogus=${xbParam}`; + axios + .get(resDyApi, { + headers, + }) + .then(async resp => { + if (_.isEmpty(resp?.data)) { + e.reply("解析失败,请重试!"); + return; + } + const item = resp.data.aweme_detail; + e.reply(`识别:抖音, ${item.desc}`); + const urlTypeCode = item.aweme_type; + const urlType = douyinTypeMap[urlTypeCode]; + if (urlType === "video") { + const url_2 = item.video.play_addr.url_list[2]; + this.downloadVideo(url_2, false, headers).then(_ => { + e.reply( + segment.video( + `${this.defaultPath}${ + this.e.group_id || this.e.user_id + }/temp.mp4`, + ), + ); + }); + } else if (urlType === "image") { + // 无水印图片列表 + let no_watermark_image_list = []; + // 有水印图片列表 + // let watermark_image_list = []; + for (let i of item.images) { // 无水印图片列表 - let no_watermark_image_list = []; + no_watermark_image_list.push({ + message: segment.image(i.url_list[0]), + nickname: this.e.sender.card || this.e.user_id, + user_id: this.e.user_id, + }); // 有水印图片列表 - // let watermark_image_list = []; - for (let i of item.images) { - // 无水印图片列表 - no_watermark_image_list.push({ - message: segment.image(i.url_list[0]), - nickname: this.e.sender.card || this.e.user_id, - user_id: this.e.user_id, - }); - // 有水印图片列表 - // watermark_image_list.push(i.download_url_list[0]); - // e.reply(segment.image(i.url_list[0])); - } - // console.log(no_watermark_image_list) - await this.reply(await Bot.makeForwardMsg(no_watermark_image_list)); + // watermark_image_list.push(i.download_url_list[0]); + // e.reply(segment.image(i.url_list[0])); } - }); + // console.log(no_watermark_image_list) + await this.reply(await Bot.makeForwardMsg(no_watermark_image_list)); + } }); }); return true;