- 用于自动领取斗鱼【全民星推荐】活动红包的油猴脚本
- 本脚本基于 ysl-ovo 的原版脚本 进行二次开发,在保留核心功能的基础上,重构了整体架构并新增了可视化管理面板与统计等附加功能
斗鱼已更新直播间界面,脚本正在积极适配中。目前基本功能已恢复可用,但请注意以下已知问题与限制:
- 显示模式限制:控制面板的 “替换排行榜” 模式暂不可用,请暂时使用 “浮动窗口” 或 “屏幕居中” 模式。
- 加载问题:刚开始打开的几个工作标签页可能需要手动切换激活一下才能正常加载。
- 功能限制:弹幕助手功能正在适配中,暂时无法使用。
- 插件冲突:如需使用抢红包功能,请暂时关闭 斗鱼Ex 插件,否则可能导致红包消失。
- 网络设置:请在浏览器设置中搜索 "DNS",将 “使用安全的 DNS” 选项关闭,否则可能影响红包获取。
如有问题欢迎发issue反馈。
-
改用“控制中心”模式
原来的脚本是每个标签页独立工作,现在改成了在一个固定的控制页面(比如6657)来统一管理所有后台的工作标签页。这样做的好处是脚本不会因为单个标签页崩溃就完全停止,也让下面的可视化管理成为可能。
-
增加了一个可视化面板
现在控制页上会有一个面板,可以显示所有正在运行的直播间列表。
-
优化了后台运行的稳定性
针对浏览器长时间后台会“冻结”标签页的问题做了一些处理。
-
提供了图形化设置
做了一个有多项分类的设置界面。一些常用的选项,比如同时开多少个标签页、各种超时时间等,都可以在设置里修改,不用修改代码。
通过点击控制面板上的【设置】按钮,可以打开详细的配置界面。
| 设置项 | 说明 |
|---|---|
| 控制室房间号 | 警告: 插件UI的入口点。只有在这个房间才能看到控制面板,防止输错了就找不到了,谨慎修改。 |
| 自动暂停后台视频 | 开启后,脚本会自动暂停非活动直播间的视频播放,降低资源占用。 |
| 达到上限后的行为 | 直接关停: 当天任务完成后关闭所有工作标签页。进入休眠模式: 任务完成后标签页不关闭,而是等待午夜12点后自动刷新页面,开始新一天的任务。 |
| 控制中心显示模式 | 浮动窗口: 可拖拽的独立窗口。屏幕居中: 固定的居中模态框。替换排行榜显示: 面板会嵌入替换直播间右侧的排行榜区域,网页模式也可见。 |
| 显示数据统计 | 开启后显示今日数据统计功能,该功能需要打开油猴脚本的获取 cookie 功能 开启方式:打开油猴设置 -> 通用 -> 配置模式:改为高级 ------------> 安全 -> 允许脚本访问 Cookie: 改为 All |
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 标签页最大生存时间 | 为防止未知错误导致卡死,单个标签页在此时间后会自动切换。 | 10分钟 |
| 无活动时切换延迟 | 当红包区域持续消失达到此时长后,脚本会判定此房间无效并自动切换。 | 30秒 |
| 主循环检查间隔 | 脚本检查红包状态的频率。值越小反应越快,但CPU占用越高。 | 1s |
| 红包弹窗等待超时 | 点击红包后,等待开奖弹窗出现的最长时间。 | 20s |
| 工作页失联超时 | 标签页多久没更新心跳就会被标记为“无响应”。 | 30s |
| 工作页加载超时 | 新开的标签页在此时间内未能完成加载,则判定为失败并切换。 | 45s |
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 最大工作标签页数量 | 同时运行的直播间总数,这是影响性能的最主要因素。 | 24 |
| 单次API获取房间数 | 每次点击“打开新房间”时,从API获取的备选房间数量。 | 10 |
| API请求重试次数 | 网络请求失败时的自动重试次数。 | 3 |
| API重试延迟 | 每次API请求失败后,等待多久再重试。 | 5s |
| 打开标签页延迟 | 打开新页面后,旧页面等待多久再开始关闭流程。 | 1s |
| 关闭标签页延迟 | 旧页面在关闭自己前的最后等待时间。 | 1.5s |
本次重构使用vite对脚本进行解耦,增强开发体验,并使其能支持更多框架
初始插件: vite-plugin-monkey
-
安装依赖
npm install -
开发模式
npm run dev -
构建
npm run build生成脚本位于dist/星推荐v2.user.js -
如需修改脚本头部注释 请修改
vite.config.js
- 本脚本基于 ysl-ovo 的插件 《斗鱼全民星推荐自动领取》 进行功能改进与界面美化,同样遵循MIT许可证开源。感谢原作者的分享。
- v2.0.5更新中的“适配新版 UI”功能由 @Truthss 在 #5 中贡献,非常感谢!
- 新开的后台直播间可能因浏览器策略不加载,手动切换过去几秒即可
- 标签页在后台久了可能被标记为“无响应”,同样是切换激活一下就能恢复心跳
- 由于后台定时器限制,倒计时结束时可能无法立即响应,可以到点后手动切过去抢
- 每天大概1000左右金币到上限
- 注意这个活动到晚上的时候,100/50/20星光棒的选项可能空了(奖池对应项会变灰)这时候攒金币过了12点再抽,比较有性价比
- 后台标签页有时会在还剩几秒时卡死在红包弹窗界面(标签页倒计时不动了),然后就死循环了。这是已知bug但暂未定位到问题,请手动刷新界面
- 脚本还是bug不少,随缘修了>︿<
- 读取奖励内容文本需要用api实现,暂时搁置
- 可以在 GitHub 查看本脚本源码。
- 发现BUG或有功能建议,欢迎提交 Issue(不过大概率不会修……)。
- 如果你有能力进行改进,非常欢迎提交 Pull Request!
本脚本使用 MIT License 授权


