From ad57633758629897b823f515b2d8034ff3de3047 Mon Sep 17 00:00:00 2001 From: NobyDa <53217160+NobyDa@users.noreply.github.com> Date: Sun, 2 Jun 2024 21:07:13 +0800 Subject: [PATCH] Minor improvements. --- BDTieBa-DailyBonus/TieBa.js | 92 ++++++++------------------- Bilibili-DailyBonus/ExchangePoints.js | 36 +++++++---- 2 files changed, 52 insertions(+), 76 deletions(-) diff --git a/BDTieBa-DailyBonus/TieBa.js b/BDTieBa-DailyBonus/TieBa.js index a5c9984..104b018 100644 --- a/BDTieBa-DailyBonus/TieBa.js +++ b/BDTieBa-DailyBonus/TieBa.js @@ -1,57 +1,32 @@ -/* +/********************************* 百度贴吧签到脚本 -脚本修改自: https://github.com/sazs34/TaskConfig -兼容: QuantumultX, Surge4, Loon +脚本原作者: @sazs34 +平台兼容: QuantumultX, Surge, Loon +更新日期: 2024/06/01 获取Cookie说明: -打开百度贴吧App后(AppStore中国区, 非内部版),点击"我的", 如通知成功获取cookie, 则可以使用此签到脚本. -获取Cookie后, 请将Cookie脚本禁用并移除主机名,以免产生不必要的MITM. -脚本将在每天上午9:00执行, 您可以修改执行时间。 +打开百度贴吧App后(AppStore中国区, 非内部版),点击"我的", 如通知成功获取cookie则可以使用该脚本. -************************ -Surge 4.2.0+ 脚本配置: -************************ +********************************* +Surge(iOS 5.9.0+/macOS 5.5.0+)模块: +https://raw.githubusercontent.com/NobyDa/Script/master/Surge/Module/TieBaDailyBonus.sgmodule -[Script] -贴吧签到 = type=cron,cronexp=0 9 * * *,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/BDTieBa-DailyBonus/TieBa.js +********************************* +QuantumultX 任务仓库(Gallery)订阅: +https://raw.githubusercontent.com/NobyDa/Script/master/NobyDa_BoxJs.json -贴吧获取Cookie = type=http-request,pattern=https?:\/\/(c\.tieba\.baidu\.com|180\.97\.\d+\.\d+)\/c\/s\/login,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/BDTieBa-DailyBonus/TieBa.js +工具&分析->HTTP请求->右上角添加任务仓库->选择百度贴吧签到脚本添加定时任务和附加组件 -[MITM] -hostname= c.tieba.baidu.com +********************************* +Loon 脚本订阅(非插件): +https://raw.githubusercontent.com/NobyDa/Script/master/Loon/Loon_Daily_bonus.plugin -************************ -QuantumultX 本地脚本配置: -************************ +添加后请按需启用脚本 -[task_local] -# 贴吧签到 -0 9 * * * TieBa.js - -[rewrite_local] -# 获取Cookie -https?:\/\/(c\.tieba\.baidu\.com|180\.97\.\d+\.\d+)\/c\/s\/login url script-request-header TieBa.js - -[mitm] -hostname= c.tieba.baidu.com - -************************ -Loon 2.1.0+ 脚本配置: -************************ - -[Script] -# 贴吧签到 -cron "0 9 * * *" script-path=https://raw.githubusercontent.com/NobyDa/Script/master/BDTieBa-DailyBonus/TieBa.js - -# 获取Cookie -http-request https?:\/\/(c\.tieba\.baidu\.com|180\.97\.\d+\.\d+)\/c\/s\/login script-path=https://raw.githubusercontent.com/NobyDa/Script/master/BDTieBa-DailyBonus/TieBa.js - -[Mitm] -hostname= c.tieba.baidu.com +*********************************/ -*/ var $nobyda = nobyda(); var cookieVal = $nobyda.read("CookieTB"); var useParallel = 0; //0自动切换,1串行,2并行(当贴吧数量大于30个以后,并行可能会导致QX崩溃,所以您可以自动切换) @@ -254,31 +229,18 @@ function checkIsAllProcessed() { } function GetCookie() { - var headerCookie = $request.headers["Cookie"]; - if (headerCookie) { - if ($nobyda.read("CookieTB") != undefined) { - if ($nobyda.read("CookieTB") != headerCookie) { - if (headerCookie.indexOf("BDUSS") != -1) { - var cookie = $nobyda.write(headerCookie, "CookieTB"); - if (!cookie) { - $nobyda.notify("更新贴吧Cookie失败‼️", "", ""); - } else { - $nobyda.notify("更新贴吧Cookie成功 🎉", "", ""); - } - } + let headerCookie = $request.headers["Cookie"] || $request.headers["cookie"]; + if (headerCookie && headerCookie.includes('BDUSS=')) { + if (!cookieVal) { + $nobyda.notify("写入百度贴吧Cookie成功 🎉", "", ""); + } else { + console.log(`写入百度贴吧Cookie成功 🎉`); } - } else { - if (headerCookie.indexOf("BDUSS") != -1) { - var cookie = $nobyda.write(headerCookie, "CookieTB"); - if (!cookie) { - $nobyda.notify("首次写入贴吧Cookie失败‼️", "", ""); - } else { - $nobyda.notify("首次写入贴吧Cookie成功 🎉", "", ""); - } - } - } + $nobyda.write(headerCookie, "CookieTB") + } else { + console.log(`写入Cookie失败, BDUSS值缺失. `); } - $nobyda.done() + return $nobyda.done(); } function nobyda() { diff --git a/Bilibili-DailyBonus/ExchangePoints.js b/Bilibili-DailyBonus/ExchangePoints.js index 811e346..fecf645 100644 --- a/Bilibili-DailyBonus/ExchangePoints.js +++ b/Bilibili-DailyBonus/ExchangePoints.js @@ -1,15 +1,17 @@ /* 哔哩哔哩漫画, 积分商城自动抢购脚本 -脚本兼容: Surge, QuantumultX, Loon +脚本作者:@NobyDa +更新时间:2024/06/01 +平台兼容:Surge, QuantumultX, Loon ************************* 【 抢购脚本注意事项 】: ************************* 该脚本需要使用签到脚本获取Cookie后方可使用. -默认兑换积分商城中的"积分兑换", 兑换数量为用户积分可兑换的最大值 (可于BoxJs内修改) -默认执行时间为中午12:00:10、12:00:20、12:00:30 +默认兑换积分商城中的"【超特惠】限量-0点秒杀", 兑换数量为用户积分可兑换的最大值 (可于BoxJs内修改) +默认执行时间为:每周日、每周一的凌晨 0:00:00 - 0:01:59 之间每秒执行一次 BoxJs订阅地址: https://raw.githubusercontent.com/NobyDa/Script/master/NobyDa_BoxJs.json @@ -18,28 +20,31 @@ BoxJs订阅地址: https://raw.githubusercontent.com/NobyDa/Script/master/NobyDa ************************* [Script] -cron "10,20,30 0 12 * * *" script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Bilibili-DailyBonus/ExchangePoints.js, wake-system=1, timeout=60 +cron "0-59 0 0 * * 0-1" script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Bilibili-DailyBonus/ExchangePoints.js, wake-system=1, timeout=60 ************************* 【 QX 1.0.10+ 脚本配置 】 : ************************* [task_local] -10,20,30 0 12 * * * https://raw.githubusercontent.com/NobyDa/Script/master/Bilibili-DailyBonus/ExchangePoints.js, tag=哔哩哔哩漫画抢券, enabled=true +0-59 0 0 * * 0-1 * * * https://raw.githubusercontent.com/NobyDa/Script/master/Bilibili-DailyBonus/ExchangePoints.js, tag=哔哩哔哩漫画抢券, enabled=true */ // 新建一个实例对象, 把兼容函数定义到$中, 以便统一调用 let $ = new nobyda(); -// 读取兑换商品名, 默认兑换积分商城中的"积分兑换"; 该接口为BoxJs预留, 以便修改 -let productName = $.read('BM_ProductName') || '积分兑换'; +// 读取Surge脚本参数并转成对象 +let args = argsList(typeof $argument == "string" && $argument || ''); -// 读取兑换数量, 默认兑换最大值; 该接口为BoxJs预留, 以便修改 -let productNum = $.read('BM_ProductNum'); +// 读取兑换商品名, 默认兑换积分商城中的"【超特惠】限量-0点秒杀" +let productName = args.ProductName || $.read('BM_ProductName') || '【超特惠】限量-0点秒杀'; -// 读取循环抢购次数, 默认100次; 该接口为BoxJs预留, 以便修改 -let exchangeNum = $.read('BM_ExchangeNum') || '100'; +// 读取兑换数量, 默认兑换最大值 +let productNum = parseInt(args.ProductNum) || $.read('BM_ProductNum'); + +// 读取循环抢购次数, 默认100次 +let exchangeNum = args.ExchangeNum || $.read('BM_ExchangeNum') || '100'; // 读取哔哩哔哩漫画签到脚本所使用的Cookie let cookie = $.read('CookieBM'); @@ -176,6 +181,15 @@ function startExchange(url, item, amount) { }) } +function argsList(data) { + return Array.from( + data.split("&") + .map((i) => i.split("=")) + .map(([k, v]) => [k, decodeURIComponent(v)]) + ) + .reduce((a, [k, v]) => Object.assign(a, { [k]: v }), {}) +} + function nobyda() { const isSurge = typeof $httpClient != "undefined"; const isQuanX = typeof $task != "undefined";