/************************** * * @Author: XiaoMao * @LastMod: 2023-06-28 * * \1\8\🈲️\采\精\车\ 仅供学习参考,请于下载后24小时内删除 请注意劳逸结合,控制车速 ******************************** # 小版本更新请查看更新日志 | 或加入xiaomao组织⬇️ # 微信公众号 【小帽集团】 # XiaoMao · TG通知频道:https://t.me/xiaomaoJT # XiaoMao · Tg脚本频道:https://t.me/XiaoMaoScript # XiaoMao · GitHub仓库:https://github.com/xiaomaoJT/QxScript 使用方法: ⚠️ 配置文件 [task_local] 标签添加 或 于自动任务栏(三横杠按钮),右上角加号,以文本方式添加以下代码即可 0 0 0,1,2,20,21,22,23 * * ? https://raw.githubusercontent.com/xiaomaoJT/QxScript/main/rewrite/boxJS/XiaoMaoSCV.js, tag=🚗XiaoMao学习车, img-url=https://raw.githubusercontent.com/LovedGM/Quantumult-X-TuBiao/main/zishi-cs/zs3.png, enabled=true 运行无反应解决方案(需代理环境下运行): 1⃣️ 添加本地分流 [filter_local] host,missav.com,proxy 2⃣️ 兜底分流选择代理 3⃣️ 使用全局模式 4⃣️ 放弃 单独脚本地址: https://raw.githubusercontent.com/xiaomaoJT/QxScript/main/rewrite/boxJS/XiaoMaoSCV.js ********************************/ function Env(name) { // 判断当前环境是否为 Loon const isLoon = typeof $loon !== "undefined"; // 判断当前环境是否为 Surge const isSurge = typeof $httpClient !== "undefined" && !isLoon; // 判断当前环境是否为 QuantumultX const isQX = typeof $task !== "undefined"; // 定义 read 方法,用于读取数据 const read = (key) => { if (isLoon || isSurge) return $persistentStore.read(key); if (isQX) return $prefs.valueForKey(key); }; // 定义 write 方法,用于写入数据 const write = (key, value) => { if (isLoon || isSurge) return $persistentStore.write(key, value); if (isQX) return $prefs.setValueForKey(key, value); }; // 定义 notify 方法,用于发送通知 const notify = (title = "XiaoMao", subtitle = "", message = "", url = "",url2 = url) => { if (isLoon) $notification.post(title, subtitle, message, url); if (isSurge) $notification.post(title, subtitle, message, { url }); if (isQX) $notify(title, subtitle, message, { "open-url": url, "media-url": url2 }); }; // 定义 get 方法,用于发送 GET 请求 const get = (url, callback) => { if (isLoon || isSurge) $httpClient.get(url, callback); if (isQX) { url.method = `GET`; $task.fetch(url).then((resp) => callback(null, {}, resp.body)); } }; // 定义 post 方法,用于发送 POST 请求 const post = (url, callback) => { if (isLoon || isSurge) $httpClient.post(url, callback); if (isQX) { url.method = `POST`; $task.fetch(url).then((resp) => callback(null, {}, resp.body)); } }; // 定义 put 方法,用于发送 PUT 请求 const put = (url, callback) => { if (isLoon || isSurge) $httpClient.put(url, callback); if (isQX) { url.method = "PUT"; $task.fetch(url).then((resp) => callback(null, {}, resp.body)); } }; // 定义 toObj 方法,用于将字符串转为对象 const toObj = (str) => JSON.parse(str); // 定义 toStr 方法,用于将对象转为字符串 const toStr = (obj) => JSON.stringify(obj); // 定义 queryStr 方法,用于将对象转为可以请求的字符串 const queryStr = (obj) => { return Object.keys(obj) .map((key) => `${key}=${obj[key]}`) .join("&"); }; // 定义 log 方法,用于输出日志 const log = (message) => console.log(message); // 定义 done 方法,用于结束任务 const done = (value = {}) => $done(value); // 返回包含所有方法的对象 return { name, read, write, notify, get, post, put, toObj, toStr, queryStr, log, done, }; } const $ = new Env("XiaoMaoSCV"); let url = "https://missav.com/random/" + (Math.random() * 100).toFixed(0).toString(); let option = { url: encodeURI(url), method: "GET", headers: { "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", }, }; $.get(option, (err, resp, response) => { if (response) { let obj = response; const regExp = /]+src=['"]([^'"]+)['"]+/g; const regExp2 = /]+href=['"]([^'"]+)['"]+/g; const regExp3 = /]+alt=['"]([^'"]+)['"]+/g; const result = [], result2 = [], result3 = []; let temp; while ((temp = regExp.exec(obj)) != null) { result.push(temp[1]); } while ((temp = regExp2.exec(obj)) != null) { if (!result2.includes(temp[1])) { result2.push(temp[1]); } } while ((temp = regExp3.exec(obj)) != null) { result3.push(temp[1]); } let list = []; let img = ""; let resultText = "🛟 复制感兴趣的地址前往浏览器查看吧,请注意劳逸结合哟~" + "\n\n"; if (result.length) { result.forEach((el, index) => { list.push({ imgUrl: el, videoUrl: result2 && result2[index], title: result3 && result3[index], }); }); list.forEach((el, index) => { if (index == 0) { img = el.imgUrl; } resultText = resultText + "⛽️第" + (index + 1) + "车:" + el.title + "\n" + "📀视频地址:" + el.videoUrl + "\n\n\n"; }); $.notify( "🚗XiaoMao_采精车发车成功❗️", "🚧请注意控制车速❗️", resultText, img ); $.log(resultText); } } else { $.notify( "🚨XiaoMao_采精车发车失败❗️", "", "🚧抛锚了,请尝试重新点火❗️", "https://i.pixiv.re/img-original/img/2022/10/14/00/15/07/101911915_p1.jpg" ); } }); setTimeout(() => { $done({}); }, 2000);