zZPiglet
1.04K subscribers
20 photos
6 videos
7 files
78 links
https://github.com/zZPiglet/Task
学习交流 自留地
问题反馈:@zZPiglet_bot
Download Telegram
🔨 1 new commit to Task:master:

17f21d3: 滴滴出行金融服务天天有奖 by zZPiglet

鉴于投票结果整合/独立不相上下,先放出独立版,整合版还在🐦
遇报错请在评论区反馈
Forwarded from Cool Scripts (zZPiglet 22:20 PM UTC+8 🕙)
#Surge #httpAPI #Shortcuts

🐟
通过快捷指令控制 Surge 同时开启/关闭抓包和 MitM All Hostnames 模块,达到全局抓包的效果,仅需点击一次。

注:需订阅至 Surge 包含 HTTP API 功能。

使用方法:
1⃣️ 安装 MitM All Hostnames 模块:

#!name=MitM All Hostnames
#!desc=Perform MitM on all hostnames with port 443, except those to Apple and other common sites which can't be inspected. You still need configure CA certificate and enable the main switch of MitM.

[MITM]
hostname = -*.apple.com, -*.icloud.com, -*.mzstatic.com, -*.crashlytics.com, -*.facebook.com, -*.instagram.com, *

2⃣️ 安装快捷指令:https://www.icloud.com/shortcuts/c180d3285b3548b0a35b27375f203a53
3⃣️ 配置好 HTTP API,并填入快捷指令对应栏目。
4⃣️ Enjoy yourself 🔨

参考 @mieqq 大佬的快捷指令制作完成,十分感谢!
@mieqq 大佬的几个快捷指令:
1. 通过 HTTP API 控制 Surge:https://t.iss.one/cool_scripts/149
2. 查看加载完模块的最终配置:https://www.icloud.com/shortcuts/a91be98c76004314b2af80d224fd5e21

开发不易,点个吧~
如果发现有bug,欢迎反馈。
🔔频道: Cool Scripts
🧑🏻‍💻作者: @zZPiglet
滴滴天津另一个活动:https://z.didi.cn/4IlzC
11 月每天 11 点抢立减 100 元券(即 100 内免单),当天失效,虽说每天限量 100 张,但是到现在好像都还有。
以及不确定有没有之前一次活动类似 bug,即写着限制地区但实际未限制使用。(欢迎评论区反馈)

脚本暂不公开。

更新:由于滴滴的代码逻辑有问题,短距离打车不会自动使用此优惠券,如需使用此优惠券,请关闭自动扣款,并在付款时手动选择该优惠券。(滴滴客服已给我转了技术,技术那边还没给出回复。)
#微博通知

最近新使用「微博通知」脚本的用户变多了,接到很多反馈,需要注意的是,脚本是抓取的手机网页版微博的接口(可理解为爬虫),并非正常申请微博接口所写。而如果特别频繁的请求,会导致接口返回错误页面,即无法正确拿到结果。所以建议适当拉长 cron 间隔时间或避开整点之类的大家都在发送请求的时间。脚本只是辅助和凑合使用的作用,如需实时推送只能等所使用的官方/第三方客户端去完善。

即避免使用每分钟/每两分钟这种类似的定时任务,不管是对手机电量还是接口返回都有较大影响。

同时,现在 Quantumult X 和 Loon 均支持多媒体通知,Surge 和 Shadowrocket 暂未支持。
#滴滴出行

https://static.dorado.xiaojukeji.com/vue/dist/en/coupon.html?schannel=didi&a=&b=120107&c=20000&d=0&s=1810596130717516128&cId=6312&v=1.0&lang=en-US&t=qr#/
领取两张 8 元快车优惠券,仅限滴滴英文页使用。可在左上角头像 - 设置 - 多语言处选择英语。需要注意的是:滴滴英文页目前只能使用滴滴快车及优享,且不可同时呼叫,可对比正常滴滴优惠使用。
🔨 1 new commit to Task:master:

f0db4c5: 重写滴滴脚本,加入一些新功能,请阅读 README.md 后使用。如使用此脚本,可去除原 DiDi.js、DiDi_reward.js 脚本。 by zZPiglet

获取 token 一定要开启滴滴的定位,因为同时需要获取到你的城市编号。

测试阶段,可在 BoxJs 更新后进行设置,如无大问题这次可能真的会🐦很久了。

🔨 1 new commit to Task:master:

9e6796f: 增加从小程序获取 Token。 by zZPiglet

如需抢券请在晚八点之前运行一次脚本存储券编号。

冷知识:这个券可能是手动控制加的,因为之前一个多月的过程中经历了加错券、打错券名、券名不规范等事件,目前暂时稳定下来。
👍1
#滴滴出行

新的一期福利金抽奖可能会亏损,已移至「可能亏损的抽奖」类别,此类别默认关闭,如需使用请在 BoxJs 中开启。
zZPiglet
#todo_zZPiglet https://static.udache.com/common/pc-login/js/vendor.02bfb8364dab3d61b1d7.js 提炼出滴滴的 wsgsig 算法。
#todo_zZPiglet

下个月重构微博通知中 ParseWeibo 函数以支持更多类型的多媒体显示,有间隔的进行通知避免通知爆炸,且使其便于更改、维护。(如时间允许做一下 uid 缓存和更好的接口返回错误判断)
目前已更新修复被夹微博导致的错误和微博故事显示其封面。(下月重构后会支持显示其内容)
最近状态不太好 抽个奖冲冲

iko - 应用图标替换(iOS 14+,限国区兑换) 抽奖活动已发布
参与关键词:年底了 祝大家 考的全对 蒙的全会 诸事顺利 万事顺心

已抽完。
🐟

几点基础安全相关的想法与可能有用的提示:

1. 使用非自写脚本时请简单浏览检查一下是否有恶意发送「非相关请求」至「不明链接」,特别注意是否非正常使用了自己的身份验证信息,如 cookie、token、password。

2. 基于 1,请不要随意使用不受信任的第三方 API,请勿随意传播、使用相关脚本。若是信任的接口,可查看其说明自行尝试写简单脚本或按其说明使用。

3. 基于 1,请不要使用「任何」需要使用自己身份验证信息的第三方 API,如链接中直接使用自己 cookie、password 的 API(无论加密与否)。若自己非要使用,请使用完全独立的账号密码且此服务应不与任何其他服务链接。

4. 基于 1,请不要使用自己无法简单检查的脚本,如不明 exe 等打包后的软件、被加密混淆且自己无能力研究的脚本等。对于不明打包后的软件,可以尝试先利用常见杀毒软件紧张扫描,在非完全信任的前提下请勿忽略其报毒信息。

5. 基于 4,若自己非要使用第三方、不明打包后的软件,请注意是否使用了自己的身份验证信息。如未使用,可尝试在虚拟机、可抛弃无其他重要服务的云端使用;如其使用了自己的身份验证信息,在不信任的前提下请直接弃用。

https://mp.weixin.qq.com/s/DvHxND_0gSRIPiAMZKQ7iw
zZPiglet
Photo
通知版「豆瓣·电影日历」复活(顺便之前好像更新了自定义跳转),感谢 @Neurogram 大佬 JSBox 小组件脚本 Dougets 提供绕过加密验证的思路。

最初练习写脚本时接到群成员需求觉得有意思就研究了一下,通过重放发现其为“抽查”的形式来验证加密,故删除了相关接口中的加密验证信息(_sig),通过不断重试的方式绕过加密。脚本发出使用一段时间后豆瓣对此接口开始全面验证加密,查找一些信息(Douya _sigDouya FRODO_SECRET)后发现需要在非 nodejs 的环境中实现一个 js 处理这个加密比较麻烦(Quantumult X 1.0.19 (480) 的测试版好像可以有办法处理了?),后因个人时间精力问题搁置了该脚本。近期狗哥发布了模拟豆瓣官方小组件的 JSBox 小组件 Dougets,学习后发现可以写死一组通过验证的加密信息 _sig(签名验证) 和 _ts(时间戳)来绕过加密,其实在对 Douya 项目的学习中就发现只验证了时间戳,但是由于相关接口中还含有 yyyy-MM-dd 形的日期信息,本能以为会通过日期信息同步验证时间戳,没想到当初他们堵住“抽查”验证时依旧没有完成强加密验证。

比较有意思的是,在这一年多学习写脚本的过程中,发现了许多公司在加密验证这个事上的「迷惑行为」,非常常见的有有完整的几套加密体系,却在一些接口不进行验证。这种行为可能有某些解释,但是还有一种是有加密体系,并进行了验证,但这些加密实际上并没有起到作用,如此次的「豆瓣·电影日历」的相关接口。再比如滴滴出行中的「滴滴橙心果园」,抓包分析后可以很容易发现请求体中的信息几乎都被加密了,比较容易从形式上看出其中的 params 参数是 Base64 后的结果,故通过解码可以得到正常信息,但 sign 参数可能为 MD5 加密后的信息,几乎不可通过解密得到正常信息,只能通过一些别的手段去得到如何计算这个 MD5 值。但有意思的是,其中 ts 参数并不是时间戳这种恒变的参数,而是类似于“操作次数”的记录,而“操作次数”在请求了进入这个游戏的初始化接口后会重置。所以很容易可以产生一个思路,在相同的“操作次数”进行相同的操作,是否可以直接利用之前的 sign 参数呢?重放验证后答案是肯定的,这样也就绕过了这个加密。其中迷惑行为一在某些情况写可以理解,而迷惑行为二我个人认为只是他们单纯的没能理解加密或如何加密。

依旧是个人时间精力问题,还是会做一只随缘更新的🐦,最近比较想🐦一期这一年多折腾这些的经验讨论。

附:
Quantumult X 1.0.19 (480) 测试内容:
- Script 类型 HTTP rewrite 支持二进制数据修改,增加类型为 ArrayBuffer 的传入参数 $response.bodyBytes 与 $request.bodyBytes(需 iOS 14.0 及以上)
- 同时 $task.fetch 响应体亦支持类型为 ArrayBuffer 的参数 bodyBytes(需 iOS 14.0 及以上)
- 示例参见 https://raw.githubusercontent.com/crossutility/Quantumult-X/master/sample-bytes-rewrite.js
- 部分界面调整

附 2:
此豆瓣接口签名缺失会返回错误代码 997,签名错误则会返回 996。
1👍1
走路活动已上传,更新 DiDi_new 使用脚本推荐时间即可,限定晚八点 [-10s, +60s] 间(原抢券时间)运行可获得,随机步数,建议关闭 App 或小程序中的从设备或微信同步步数。🐦

仔细看字哦。
👍1
🐟

接狼哥线报,「哇哈哈Tea」小程序签到 7 天 10 分,25 天送买一送一券。

抓包后发现「哇哈哈Tea」小程序使用了和老版本「奈雪点单」小程序一家外包公司,故只需更改现在库中「奈雪点单」小程序中的 appid 为 wx621508020f94679c 即可使用。

注:现在「奈雪点单」换了外包公司,暂不会去更新脚本,有兴趣的小伙伴可以自行学习尝试,提示:https://tm-web-cdn.pin-dao.cn/static/js/1.9ac2abea.chunk.js
“天天步数赛”活动已上传,据投票结果更改为 20:01 后运行脚本执行“走路赚钱”系列任务,不再执行主任务,请修改 cron 后使用。
测试版,如有问题请评论区反馈。

注:默认 cron 为 0 1,20,21 * * *,保留晚八点执行是防止错过滴滴补发晚八点优惠券。
👍1
🐟

京东比价 lite 版适配了京东极速版、京喜、京东健康中的比价,此次更新可按需修改正则:

京东极速版需要在 functionId 后添加 lite_wareBusiness,即:
^https?://api\.m\.jd\.com/client\.action\?functionId=(wareBusiness|serverConfig|basicConfig|lite_wareBusiness)

京喜需要在 functionId 后添加 pingou_item,即:
^https?://api\.m\.jd\.com/client\.action\?functionId=(wareBusiness|serverConfig|basicConfig|pingou_item)

京东健康需要补充一个 api 的path,即:
^https?://api\.m\.jd\.com/(client\.action|api)\?functionId=(wareBusiness|serverConfig|basicConfig)

如需所有都添加可直接修改为:
^https?://api\.m\.jd\.com/(client\.action|api)\?functionId=(wareBusiness|serverConfig|basicConfig|lite_wareBusiness|pingou_item)

其余需求组合可自行搭配。

注:由于 Quantumult X 规定了 $done() 为脚本出口,调用 $done() 后后续程序不会运行,原 lite 脚本无法通知,现 lite 脚本已对其单独处理,但失去以前不卡 app 的优势,且同非 lite 脚本一样,如果比价接口出错或更改,会导致进入商品页面卡死,故如无上述三 app 需求,Quantumult X 用户建议使用非 lite 脚本避免弹窗打扰。
zZPiglet
“天天步数赛”活动已上传,据投票结果更改为 20:01 后运行脚本执行“走路赚钱”系列任务,不再执行主任务,请修改 cron 后使用。 测试版,如有问题请评论区反馈。 注:默认 cron 为 0 1,20,21 * * *,保留晚八点执行是防止错过滴滴补发晚八点优惠券。
步数赛这两日接口不稳定,易报错,脚本忘了做这个处理,建议这两日禁用八点以后步数赛。
现在没电脑,周四有空了再改,做一个异常处理。
接口开始偶尔验证加密,脚本会尽量规避算加密,可能会取消。

已增加异常处理。