[目录]
BiliBiliTool 是一个 B 站自动执行任务的小工具,当我们忘记做 B 站的某项任务时,它会像一个小助手一样,按照我们预先吩咐她的命令,帮助我们完成计划的任务。
- 比如,当我们忘记每月领取 5 张 B 币券、忘记领取自己的大会员权益时,她会帮助我们每月自动领取
- 比如,当我们某天不小心忘记为自己喜欢的 up 的视频投币时,她会帮助我们自动观看、分享并投币(白嫖是不可能白嫖,这辈子都不可能白嫖的)
- 比如,当我们月底忘记使用 B 币券为喜欢的 up 充电时,帮助我们在 B 币券过期前进行充电(如果没有喜欢up,也可以为自己充个电啊,做个用爱为自己发电的人~)
另外,通过结合 GitHub Actions,可以实现每天线上自动运行,只要部署一次,小助手就会在背后一直默默地帮我们完成我们预先布置的任务。
还有其他一些辅助小功能,比如漫画签到、直播签到、银瓜子兑换硬币等等,大家可以自己去自由探索~
Github 仓库地址:RayWangQvQ/BiliBiliTool
注意:本应用仅用于学习和测试,作者本人并不对其负责,请于运行测试完成后自行删除。自觉爱护小破站,请勿滥用!
(如果图片挂了,是因为 GitHub 的服务器在国外,经常会刷不出,有 VPN 的开启 VPN,没有的也可先先参考 我的博客,但博客内容不保证最新)
BiliBiliTool 实现自动任务的原理,是通过调用一系列 B 站开放的接口实现的。
BiliBiliTool 就是收集了一系列的 B 站开放接口,通过每日自动运行程序,依次调用接口,来实现各定制任务的。
要使用 BiliBiliTool,我们只需要做两步:首先是获取自己的 Cookie 作为配置信息,然后将其输入 BiliBiliTool 并运行即可。
- 浏览器打开并登录 bilibili 网站
- 登录成功后,访问
https://api.bilibili.com/x/web-interface/nav
,按 F12 打开"开发者工具",按 F5 刷新一下 - 在"开发者工具"面板中,点击 网络(Network),在左侧的请求列表中,找到名称为
nav
的接口,点击它 - 依次查找 Headers ——> RequestHeader ——> cookie,可以看到很长一串以英文分号分隔的字符串,复制整个这个cookie字符串,保存它们到记事本,待会儿会用到。
运行 BiliBiliTool 有两种方式,一种是通过 Github 的 Actions 实现线上的每天自动运行,一种是本地运行或调试。
对于熟悉 Github 的朋友,推荐使用方式一 Github Actions,可以实现线上的每天自动运行,不需自己动手,一劳永逸。
对于没有 Github 账号的、或者想先快速运行一下尝个鲜、或是要部署到自己服务器的朋友,可以跳转到方式二 Release 包运行,操作简单快速。
Github Actions 是微软(巨硬)收购 G 站之后新增的内置 CI/CD 方案,其核心就是一个可以运行脚本的小型服务器(2 核 CPU + 7G RAM + 14 G SSD)。
有了它,我们就可以实现每天线上自动运行我们的应用程序。
Ⅰ. 首先 fork 本项目到自己的仓库
Ⅱ. 进入自己 fork 的仓库,点击 Settings-> Secrets-> New Secrets, 添加 1 个 Secrets,其名称为COOKIESTR
,值为刚才我们保存的cookie字符串
。它们将作为配置项,在应用启动时传入程序。
Ⅲ. 开启 Actions 并触发每日自动执行
都配置好后,请手动开启 Actions,执行一次工作流,验证是否可以正常工作,操作步骤如下图所示:
运行结束后,可查看运行日志:
Actions 的执行策略默认是每天0点整触发运行,如果想要设置自己的运行时间,请详见下面常见问题章节中的《Actions 如何修改定时任务的执行时间?》
建议每个人都设置下每日执行时间!不要使用默认时间!最好也不要设定在整点,错开峰值,避免 G 站的同一个IP在相同时间去请求B站接口,导致 IP 被禁!
如果配置了推送,执行成功后接收端会收到推送消息,如下所示为Server酱微信推送效果:
目前默认支持Telegram推送、企业微信推送、钉钉推送、Server酱推送和酷推QQ推送,如果需要推送到其他端,也可以配置为任意的可以接受消息的Api地址,关于如何配置推送请详见下面的个性化自定义配置章节。
如果执行出现异常,会收到了 GitHub Action 的错误邮件通知,请检查 Cookies 是不是失效了或者是否有 bug。
如果是 Cookies 失效了,请从浏览器重新获取并更新到 Secrets 中。
如果是发现 bug,可以提交 issue,我会尽快确认并解决。(如何正确的提交issue,请详见下面常见问题章节。
如果是 DotNet 开发者,直接 clone 源码然后 vs 打开解决方案,配置 Cookie 后即可直接本地进行运行、调试。
对于不是开发者的朋友,可以通过下载 Release 包在本地、docker或任意服务器运行,步骤如下。
Ⅰ. 下载应用文件
点击 BiliBiliTool/release,下载已发布的最新版本。
- 如果本地已安装
.NET 5.0
环境:
请下载 net-dependent.zip
文件,本文件依赖本地运行库(runtime-dependent),所以文件包非常小(不到1M)。
P.S.这里的运行环境指的是 ASP.NET Core Runtime 5.0.0
与.NET Runtime 5.0.0
,安装方法可详见 常见问题 中的 本地或服务器如何安装.net环境
- 如果不希望安装或不知如何安装.net运行环境:
请根据操作系统下载对应的 zip 文件,此文件已自包含(self-contained)运行环境,但相较不包含运行时的文件略大(20M 左右,Github 服务器在国外,下载可能比较慢)。
如,Windows系统请下载 win-x86-x64.zip
,其他以此类推。
Ⅱ. 解压并填写配置
下载并解压后,找到 appsettings.json 文件,使用记事本编辑,填入之前获取到的 Cookie 字符串,保存后关闭:
Ⅲ. 运行
- Windows 系统
对于已安装.net环境,且使用的是依赖包,可在当前目录下执行命令:dotnet Ray.BiliBiliTool.Console.dll
,或者直接双击运行名称为 start.bat 的批处理文件,均可运行。
对于使用自包含运行环境版本的,可直接双击运行名称为 Ray.BiliBiliTool.Console.exe 的可执行文件。
- Linux 系统
对于已安装.net环境,且使用的是依赖包,同上,可在终端中执行命令:dotnet Ray.BiliBiliTool.Console.dll
对于使用独立包的,可在终端中执行命令:Ray.BiliBiliTool.Console
。
其他系统依此类推,运行结果图示如下:
除了修改配置文件,也可以通过添加环境变量或在启动命令后附加参数来实现配置,详细方法可参考下面的配置说明章节。
P.S.如果自己有服务器,也可以将程序发布到自己的服务器,利用自己的任务调度系统实现每天自动运行。(有服务器的大佬应该就不需要我多 BB 了)
当前正处于稳定的迭代开发中,正常情况下每周会发布一个小版本,详细待更新内容可参见源码中的 todo 任务列表。
关于版本发布更新后,如何同步最新的内容到自己 Fork 的仓库,可查看问题文档中的 《我 Fork 之后如何同步原作者的更新内容?》章节。
如果你有好的想法,欢迎向仓库贡献你的代码,贡献步骤:
-
搜索查看 issue,确定是否已有人提过同类问题
-
确认没有同类 issue 后,自己可新建 issue,描述问题或建议
-
如果想自己解决,请 fork 仓库后,在devlop 分支进行编码开发,完成后提交 pr 到 devlop 分支,并标注解决的 issue 编号
我会尽快进行代码审核,提前感谢您的贡献。
个人维护开源不易
如果觉得我写的程序对你小有帮助
或者,就是单纯的想集资给我买瓶霸王增发液
那么下面的赞赏码可以扫一扫啦
(赞赏时记得留下【昵称】和【留言】~ 另外我发现很多留言想要进群或者加好友的,一定一定要记得留下微信号哈,微信赞赏页面是看不到微信号的)
扫码赞赏: