/secondBilii

Primary LanguageJavaMIT LicenseMIT

BILIBILI-HELPER

GitHub stars GitHub forks GitHub issues GitHub license GitHub All Releases GitHub contributors GitHub release (latest SemVer)

工具简介

这是一个利用 Linux Crontab , GitHub Action 等方式实现哔哩哔哩(Bilibili)每日任务投币,点赞,分享视频,直播签到,银瓜子兑换硬币,漫画每日签到,简单配置即可每日轻松获取 65 经验值,快来和我一起成为 Lv6 吧~~~~

如果觉得好用,顺手点个 Star 吧 ❤

仓库地址:JunzhouLiu/BILIBILI-HELPER

功能列表

本项目不会增加类似于自动转发抽奖,秒杀,下载版权受限视频等侵犯UP主/B站权益的功能,开发这个应用的目的是单纯的技术分享。下游分支开发者/使用者也请不要滥用相关功能。

本项目欢迎其他开发者参与贡献,基于本工具的二次开发,使用其他语言重写都没有什么问题,能在技术上给你带来帮助和收获就很好

请不要滥用相关API,让我们一起爱护B站 ❤

  • 每天上午 9 点 10 分自动开始任务。【运行时间可自定义】
  • 哔哩哔哩漫画每日自动签到 。
  • 每日自动从热门视频中随机观看 1 个视频,分享一个视频。
  • 每日从热门视频中选取 5 个进行智能投币 【如果投币不能获得经验,默认不投币】
  • 投币支持下次一定啦,可自定义每日投币数量。【如果检测到你已经投过币了,则不会投币】
  • 大会员月底使用快到期的 B币券,给自己充电,一点也不会浪费哦,默认开启。【可配置】
  • 大会员月初 1 号自动领取每月 5 张 B币券 和福利。
  • 每日哔哩哔哩直播自动签到,领取签到奖励。【直播你可以不看,但是奖励咱们一定要领】
  • 通过server酱推送执行结果到微信。
  • Linux用户支持自定义配置了。
  • 投币策略更新可配置投币喜好。【可配置优先给关注的up投币】

点此查看更新日志

点击快速开始使用

目录

使用说明

一、Actions 方式

  1. Fork 本项目
  2. 获取 Bilibili Cookies
  • 浏览器打开并登录 bilibili 网站
  • 按 F12 打开 「开发者工具」 找到 应用程序/Application -> 存储 -> Cookies
  • 找到 bili_jct SESSDATA DEDEUSERID 三项,并复制值,创建对应的 GitHub Secrets。

图示

  1. 点击项目 Settings -> Secrets -> New Secrets 添加以下 3 个 Secrets。
Name Value
DEDEUSERID 从 Cookie 中获取
SESSDATA 从 Cookie 中获取
BILI_JCT 从 Cookie 中获取

图示

  1. 开启 Actions 并触发每日自动执行

Github Actions 默认处于关闭状态,还大家请手动开启 Actions ,执行一次工作流,验证是否可以正常工作。

图示

Fork 仓库后,GitHub 默认不自动执行 Actions 任务,请修改 ./github/trigger.json 文件,将 trigger 的值改为 1,这样每天就会自动执行定时任务了。

{
- "trigger": 0
+ "trigger": 1
}

如果需要修改每日任务执行的时间,请修改 .github/workflows/auto_task_bilili.yml,在第 12 行左右位置找到下如下配置。

  schedule:
    - cron: '30 10 * * *'
    # cron表达式,Actions时区是UTC时间,所以下午18点要往前推8个小时。
    # 示例: 每天晚上22点30执行 '30 14 * * *'

本工具的 Actions 自动构建配置了缓存,平均运行时间在 20s 左右。

如果收到了 GitHub Action 的错误邮件,请检查 Cookies 是不是失效了,用户主动清除浏览器缓存,会导致 BILI_JCTDEDEUSERID 失效

请各位使用 Actions 时务必遵守Github条款。不要滥用Actions服务。

Please be sure to abide by the Github terms when using Actions. Do not abuse the Actions service.

配置自定义功能

配置文件位于 src/main/resources/config.json

参数示意

Key Value 说明
numberOfCoins [0,5] 每日投币数量,默认 5
selectLike [0,1] 投币时是否点赞,默认 0, 0:否 1:是
watchAndShare [0,1] 观看时是否分享
monthEndAutoCharge [false,true] 年度大会员月底是否用 B币券 给自己充电,默认 true
devicePlatform [ios,android] 手机端漫画签到时的平台,建议选择你设备的平台 ,默认 ios
coinAddPriority [0,1] 0:优先给热榜视频投币,1:优先给关注的up投币
userAgent 浏览器UA 用户可根据部署平台配置,可根据userAgent参数列表自由选取,如果触发了HTTP/1.1 412 Precondition Failed也请修改UA

userAgent可选参数列表

平台 浏览器 userAgent
Windows10 EDGE(chromium) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 Edg/86.0.622.69
Windows10 Chrome Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
masOS safari Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
macOS Firefox Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:65.0) Gecko/20100101 Firefox/65.0
macOS Chrome Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36

ps:如果尝试给关注的 up 投币十次后(保不准你关注的是年更up主),还没完成每日投币任务,则切换成热榜模式,给热榜视频投币

投币数量代码做了处理,如果本日投币不能获得经验了,则不会投币,每天只投能获得经验的硬币。假设你设置每日投币 3 个,早上 7 点你自己投了 2 个硬币,则十点半时,程序只会投 1 个)

查看运行日志

展开 Build With Maven 通过 DEBUG 标签快速过滤日志,查看运行状态

Actions 运行日志详细查看教程

日志示例

图示 图示

二、使用 Linux Crontab 方式

步骤

  1. 在linux shell环境执行以下命令,并按照提示输入SESSDATA,DEDEUSERID,BILI_JCT,SCKEY四个参数
wget https://raw.githubusercontent.com/JunzhouLiu/BILIBILI-HELPER/main/setup.sh && chmod +x ./setup.sh && sudo ./setup.sh

Linux用户使用jar包时如果需要自定义配置,请点此下载配置文件,将其到和jar包同一目录即可,执行时优先加载外部配置文件

BILIBILI-HELPER.jar
config.json

除此之外,也可以通过点击 BILIBILI-HELPER/release,下载已发布的版本,解压后将jar包手动上传到Linux服务器,使用crontab完成定时执行。

命令格式解释:

30 10 * * * java -jar /home/BILIBILI-HELP.jar DEDEUSERID SESSDATA BILI_JCT SCKEY>/var/log/cron.log &

args 说明
30 10 * * * cron 定时时间
java -jar 执行jar包
/home/BILIBILI-HELP.jar jar包路径
DEDEUSERID SESSDATA BILI_JCT SCKEY 传入参数的顺序,参数含义请见上文,SCKEY可为空(用于server酱推送日志,等同actions任务配置中的SERVERPUSHKEY)
>/var/log/cron.log & 日志写入的路径

命令示例:

# *如果Cookies参数中包含特殊字符,例如`%`请使用`\`转义*
# m h  dom mon dow   command
30 10 * * * java -jar /home/BILIBILI-HELP.jar DEDEUSERID SESSDATA BILI_JCT >/var/log/cron.log &

运行效果

图示

三、使用 Windows10

步骤

  1. 点击 BILIBILI-HELPER/release,下载已发布的版本。解压,在解压后的目录打开 Powershell 需要装有 Java 运行环境。

Windows用户使用jar包时如果需要自定义配置,请点此下载配置文件,将其到和jar包同一目录即可,执行时优先加载外部配置文件

  1. 执行 java -jar /home/BILIBILI-HELP.jar DEDEUSERID SESSDATA BILI_JCT

图示

四、使用 Docker

请自行参阅 Issues/75#issuecomment-731705657基于本项目的衍生项目

微信订阅通知

订阅执行结果

  1. 前往 sc.ftqq.com 点击登入,创建账号(建议使用 GitHub 登录)。
  2. 点击点发送消息 ,生成一个 Key。将其增加到 Github Secrets 中,变量名为 SERVERPUSHKEY
  3. 绑定微信账号 ,开启微信推送。 图示
  4. 推送效果展示 图示

订阅版本更新

微信扫描以下二维码进入用户反馈群(通道推送已移除)

图示

快速更新

使用 Github Actions 自动同步源仓库代码

参阅Issue8 使用GitHub Actions任务自动同步源仓库代码

手动拉取最新代码

参阅Issues4 手动拉取最新代码

常见问题解答

请参阅常见问题解答

捐赠/赞赏

如果您觉得该项目帮助到了您,并且您乐意给予开发者一些有限支持,可通过微信、支付宝进行捐赠赞赏。

如果您对我进行了赞赏,我将视其为不构成雇佣、购买关系的赞赏,稍后我将会维护一个捐赠、赞赏页面,我会视情况拿出一部分对公益午餐计划进行支持。

Reward

致谢

感谢 JetBrains 对本项目的支持。

JetBrains

API 参考列表

基于本项目的衍生项目