Code Monkey home page Code Monkey logo

bili's Introduction

BILIBILI-HELPER

GitHub stars GitHub forks GitHub issues GitHub license GitHub All Releases Docker Pulls GitHub release (latest SemVer) Hits FOSSA Status

工具简介

这是一个利用 Linux 定时任务、Java Jar、云函数、Docker、青龙面板等方式完成哔哩哔哩(Bilibili)每日投币、赛事预测、点赞、分享视频、直播签到、银瓜子兑换硬币、漫画每日签到等任务,简单配置即可每日轻松获取 65 经验值,快来和我一起成为 Lv6 吧 ~~~~

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

仓库地址:JunzhouLiu/BILIBILI-HELPER

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

功能列表

  • 通过 docker 或者云函数执行定时任务。【运行时间可自定义】
  • 哔哩哔哩漫画每日自动签到,自动阅读 1 章节。
  • 每日自动从热门视频中随机观看 1 个视频,分享一个视频。
  • 每日从热门视频中选取 5 个进行智能投币。【如果投币不能获得经验了,则不会投币】
  • 投币支持下次一定啦,可自定义每日投币数量。【如果检测到你已经投过币了,则不会投币】
  • 大会员月底使用快到期的 B 币券,给自己充电,一点也不会浪费哦,默认开启。【已支持给指定 UP 充电】
  • 大会员月初 1 号自动领取每月 5 张 B 币券和福利。
  • 每日哔哩哔哩直播自动签到,领取签到奖励。【直播你可以不看,但是奖励咱们一定要领】
  • 投币策略更新可配置投币喜好。【可配置优先给关注的 up 投币】
  • 自动送出即将过期的礼物。【默认开启,未更新到新版本的用户默认关闭】
  • 支持推送执行结果到微信,钉钉,飞书等。
  • 支持赛事预测。【支持反向预测】

点击快速开始使用

点击快速查看自定义功能配置

目录

开始使用

获取执行所需的 cookies

  1. 浏览器打开并登录 bilibili 网站。
  2. 按 F12 打开 「开发者工具」 打开 网络/NetWork -> 找到并点击 nav 请求。
  3. 下拉请求详情,复制完整的 cookie 和 UA 备用。cookie 和 ua 只需要选中,右键复制值即可。

准备 cookie

一、快速使用

  • 需要本地有 Java8 执行环境。
  1. 点击 bili/release,下载已发布的版本,解压后压缩包内应该包含一个 jar 包和一份config.json文件。
  2. 将获取的到的 Cookie 字符串和 UA 字符串填写到 config.json 中的 biliCookiesuserAgent 字段值中。
  3. 在当前目录执行 java -jar BILIBILI-HELPER.jar 即可开始执行任务。如果 config.json 和 jar 包不在同一目录,可通过例如 java -jar BILIBILI-HELPER.jar /tmp/config.json 的方式指定特定路径的配置文件。

二、使用 Docker

三、使用腾讯云函数

四、使用 GitLab CI/CD

五、使用青龙管理面板

  • 青龙一键拉取命令 ql raw https://raw.githubusercontent.com/OreosLab/bili/main/bilibili_helper.sh
  • 青龙管理面板部署

自定义功能配置

注意:通常配置文件需要和 jar 包放置在同一目录,如果不在同一目录,请在执行命令后指定配置文件路径。cookie 信息属于敏感信息,请不要提供给他人,谨防账号泄露或被盗。

配置文件示例:

{
  "biliVerify": {
    "biliCookies": "你的bilibili cookies"
  },
  "taskConfig": {
    "skipDailyTask": false,
    "matchGame": false,
    "showHandModel": false,
    "predictNumberOfCoins": 1,
    "minimumNumberOfCoins": 100,
    "taskIntervalTime": 20,
    "numberOfCoins": 5,
    "coinAddPriority": 1,
    "reserveCoins": 10,
    "selectLike": 0,
    "monthEndAutoCharge": true,
    "giveGift": true,
    "silver2Coin": true,
    "upLive": "0",
    "chargeForLove": "14602398",
    "chargeDay": 25,
    "devicePlatform": "ios",
    "userAgent": "你的浏览器UA"
  },
  "pushConfig": {
    "SC_KEY": "",
    "SCT_KEY": "",
    "TG_BOT_TOKEN": "",
    "TG_USER_ID": "",
    "TG_USE_CUSTOM_URL": false,
    "DING_TALK_URL": "",
    "DING_TALK_SECRET": "",
    "PUSH_PLUS_TOKEN": "",
    "WE_COM_GROUP_TOKEN": "",
    "WE_COM_APP_CORPID": "",
    "WE_COM_APP_CORP_SECRET": "",
    "WE_COM_APP_AGENT_ID": 0,
    "WE_COM_APP_TO_USER": "",
    "WE_COM_APP_MEDIA_ID": "",
    "PROXY_HTTP_HOST": "",
    "PROXY_SOCKET_HOST": "",
    "PROXY_PORT": 0
  }
}

如果不知道自己的浏览器 UA 之类数据,以及看不懂每个值的含义,可以采用配置生成网页生成自己的配置(暂未支持 v2.0.x 版本)

配置文件参数

biliVerify

Key(字段) Value(值) 说明
biliCookies str bilibili 的 cookie,获取方式请查看使用说明

taskConfig

Key(字段) Value(值) 说明
matchGame [false, true] 是否开启赛事预测。
showHandModel [false, true] true :压赔率高的, false :压赔率低的。
predictNumberOfCoins [1, 10] 单次预测的硬币数量,默认为 1
minimumNumberOfCoins [1, 无穷大] 预留的硬币数,低于此数量不执行赛事预测。
taskIntervalTime [1, 无穷大] 任务之间的执行间隔,默认 10 秒,云函数用户不建议调整的太长,注意免费时长。
numberOfCoins [0, 5] 每日投币数量,默认 5 ,为 0 时则不投币。
reserveCoins [0, 4000] 预留的硬币数,当硬币余额小于这个值时,不会进行投币任务,默认值为 50
selectLike [0, 1] 投币时是否点赞,默认 00 :否 1 :是。
monthEndAutoCharge [false, true] 年度大会员月底是否用 B 币券自动充电,默认 true
chargeDay [1, 28] 充电日期,默认为每月 28 号。
chargeForLove [充电对象的 uid] 给指定 up 主充电,可填写充电对象的 UID,默认给作者充电。
giveGift [false, true] 直播送出即将过期的礼物,默认开启,如需关闭请改为 false
upLive [0, 送礼 up 主的 uid] 直播送出即将过期的礼物,可填写指定 up 主的 UID ,为 0 时则随随机选取一个 up 主。
silver2Coin [false, true] 银瓜子兑换硬币,默认开启,如需关闭请改为 false
devicePlatform [ios, android] 手机端漫画签到时的平台,建议选择你设备的平台 ,默认 ios
coinAddPriority [0, 1] 0 :优先给热榜视频投币, 1 :优先给关注的 up 投币。
userAgent 浏览器 UA 你的浏览器的 UA。
skipDailyTask [false, true] 是否跳过每日任务,默认 true ,如果关闭跳过每日任务,请改为 false
  • 默认配置文件的充电选项配置的是给开发者充电,给自己充电或者给其他 up 主充电,请改为对应的 uid
  • userAgent 建议使用你自己真实常用浏览器 UA,如果不知道自己的 UA 请到配置生成页面查看你的 UA

pushConfig

字段类型 Key(字段) Value(值) 说明
server 酱 SC_KEY str Server 酱老版本 key,SCU 开头的
server 酱 turbo SCT_KEY str Server 酱 Turbo 版本 key,SCT 开头的
Telegram TG_USE_CUSTOM_URL [false, true] 是否开启 TGbot API 反代
Telegram TG_BOT_TOKEN str TG 推送 bot_token,若开启反代,需填写完整反代 url https://api.mytelegram.org/botTOKEN
Telegram TG_USER_ID str TG 推送的用户/群组/频道 ID
PUSH PLUS PUSH_PLUS_TOKEN str push plus++ 推送的 token
钉钉 DING_TALK_URL str 钉钉推送的完整 URL,e.g. https://oapi.dingtalk.com/robot/send?access_token=xxx
钉钉 DING_TALK_SECRET str 钉钉推送的密钥
正向推送代理 PROXY_HTTP_HOST str 推送使用 HTTP 正向代理,e.g. 127.0.0.1
正向推送代理 PROXY_SOCKET_HOST str 推送使用 SOCKS(V4/V5)正向代理,e.g. 127.0.0.1
正向推送代理 PROXY_PORT int 推送正向代理的端口,默认 0 不代理
企业微信群消息 WE_COM_TOKEN str 企业微信,群消息非应用消息
企业微信应用 WE_COM_APP_CORPID str 企业 id 获取方式参考:获取
企业微信应用 WE_COM_APP_CORP_SECRET str 应用的凭证密钥
企业微信应用 WE_COM_APP_AGENT_ID int 企业应用的 id,整型
企业微信应用 WE_COM_APP_TO_USER str 指定接收消息的成员,成员 ID 列表 默认为@all
企业微信应用 WE_COM_APP_MEDIA_ID str 缩略图的 media_id,可以通过素材管理接口获得。(为空发送文本消息
  • tips: PROXY_HTTP_HOSTPROXY_SOCKET_HOST 仅需填写一个。
  • tips: 钉钉推送密钥可不填,不填仅用关键词验证。
  • 获取 media_id 的方式请参考 docs/images/media_id.png

免责声明

  1. 本项目最初是我自己学习之余练手给自己写的小工具,自己学习之余上传到 GitHub,100% 源码公开,各位使用者请勿滥用。
  2. 本项目不会增加,也不存在类似于自动转发抽奖,秒杀,下载版权受限视频等侵犯 UP 主 / B 站权益的功能,本项目在使用过程中不会记录上传任何用户的敏感数据。
  3. 请妥善保管自己的账号和密码以及类似 Cookie 等敏感信息,不要把自己的敏感信息提供给他人,谨防账号泄露或被盗,这是很危险的行为。网络安全教育普及任重而道远
  4. 本工具源码仅在 JunzhouLiu/BILIBILI-HELPER-PRE 开源。
  5. 任何单位或个人因下载使用本开源项目代码而产生的任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失(包括但不限于直接、间接、附带或衍生的损失等),项目维护者不承担任何法律责任。
  6. 本项目采用 MIT License 若违反本免责声明条款或违反法律法规所造成的法律责任(包括但不限于民事赔偿和刑事责任),由使用者自行承担。
  7. 使用本项目视为明确并同意本声明条款列举的全部内容,对使用本项目可能存在的风险和相关后果将完全由使用者自行承担,项目维护者不承担任何法律责任。

API 参考列表

致谢

感谢 JetBrains 对本项目的支持。

JetBrains

讨论群

qq 群二维码

qq群二维码

也可点击此处一键加群

License

FOSSA Status

Stargazers over time

Stargazers over time

bili's People

Contributors

dependabot[bot] avatar feiyangbeyond avatar fossabot avatar graytoowolf avatar gungnirlaevatain avatar happy888888 avatar hollowman6 avatar imba-tjd avatar imgbot[bot] avatar imgbotapp avatar insoxin avatar jiuntian avatar limingcisco avatar maxoyed avatar michael1015198808 avatar moshicoco avatar msylgj avatar myellow avatar n2far2000 avatar oreomeow avatar rivero0o avatar sdutwsl avatar srcrs avatar srp2020repo avatar wmathor avatar xanderye avatar xudaojie avatar yangyang0507 avatar zhangsean avatar zxh326 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bili's Issues

青龙 一键安装脚本报错

错误日志

raw_main_bilibili_helper.sh: line 20: get_some_path: command not found
raw_main_bilibili_helper.sh: line 21: check_jq_installed_status: command not found
raw_main_bilibili_helper.sh: line 22: check_java_installed_status: command not found
/java_conf.json

qinglong 配置

当前版本:0
最新版本:2.1.3
有新版本,开始更新
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
正在解压文件.......
unzip: can't open BILIBILI-HELPER.zip[.zip]
cp: cannot stat './tmp/BILIBILI-HELPER*.jar': No such file or directory
配置文件不存在。
cp: cannot stat './tmp/config.json': No such file or directory
清除缓存.........
更新完成
没找到BILIBILI-HELPER.jar,开始下载..........
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
正在解压文件.......
unzip: can't open BILIBILI-HELPER.zip[.zip]
cp: cannot stat './tmp/BILIBILI-HELPER*.jar': No such file or directory
配置文件不存在。
cp: cannot stat './tmp/config.json': No such file or directory
清除缓存.........
更新完成
配置文件路径:/ql/config/java_conf.json
Error: Unable to access jarfile BILIBILI-HELPER.jar

执行结束... 2022-03-04 12:43:04 耗时 2 秒

使用 PROXY_SOCKET_HOST 代理TG Bot推送时出现错误

2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - I/O exception (org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443: socket protocol is not supported
2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - Retrying request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443
2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - I/O exception (org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443: socket protocol is not supported
2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - Retrying request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443
2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - I/O exception (org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443: socket protocol is not supported
2022-11-29 12:06:59.590 INFO  o.a.h.i.e.RetryExec - Retrying request to {tls}->socket://192.168.254.254:1888->https://api.telegram.org:443
2022-11-29 12:06:59.593 ERROR t.m.u.HttpUtils - 
org.apache.http.conn.UnsupportedSchemeException: socket protocol is not supported
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:109)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:401)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
	at top.misec.utils.HttpUtils.doPost(HttpUtils.java:89)
	at top.misec.push.AbstractPush.post(AbstractPush.java:103)
	at top.misec.push.AbstractPush.lambda$1(AbstractPush.java:91)
	at io.github.itning.retry.strategy.limit.NoAttemptTimeLimit.call(NoAttemptTimeLimit.java:16)
	at io.github.itning.retry.Retryer.call(Retryer.java:165)
	at top.misec.push.AbstractPush.push2Target(AbstractPush.java:91)
	at top.misec.push.AbstractPush.doPush(AbstractPush.java:73)
	at top.misec.task.ServerPush.doServerPush(ServerPush.java:23)
	at top.misec.task.DailyTask.doDailyTask(DailyTask.java:81)
	at top.misec.BiliMain.main(BiliMain.java:40)
2022-11-29 12:06:59.593 ERROR t.m.p.AbstractPush - 推送返回失败:null 已尝试:1次

使用的是SOCKS5,代理本身工作正常

java -version
openjdk version "19.0.1" 2022-10-18
OpenJDK Runtime Environment (build 19.0.1+10)
OpenJDK 64-Bit Server VM (build 19.0.1+10, mixed mode)

运行环境为ArchLinux 6.0.10-arch2-1
这是OpenJDK的问题吗?

设置变量BILIBILI_COOKIE提示失效

在青龙中变量BILIBILI_COOKIE失效,但是cookie是刚刚抓取的
2022-12-12 15:56:16.432 WARN t.m.t.UserCheck - Cookies可能失效了,请仔细检查配置中的Cookies是否有效

Suggestion

如果在qinglong能通过环境变量的方式配置文件就更棒了

运行脚本是提示错误

开始执行... 2022-12-29 08:40:30

当前版本:
最新版本:2.1.3
已经是最新版本,不需要更新!!!
配置文件路径:/ql/config/java_conf.json
2022-12-29 08:40:33.302 ERROR t.m.u.HttpUtils - java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Exception in thread "main" java.lang.NullPointerException
at top.misec.utils.HttpUtils.closeResource(HttpUtils.java:173)
at top.misec.utils.HttpUtils.doGet(HttpUtils.java:131)
at top.misec.utils.HttpUtils.doGet(HttpUtils.java:138)
at top.misec.utils.HttpUtils.doGet(HttpUtils.java:106)
at top.misec.utils.VersionInfo.printVersionInfo(VersionInfo.java:32)
at top.misec.BiliMain.main(BiliMain.java:26)

执行结束... 2022-12-29 08:40:33 耗时 3 秒

青龙环境下cookie的配置问题

尝试过很多次,总是不成功,日志里显示如下错误
`
2022-06-29 18:42:30.584 INFO t.m.BiliMain - 使用自定义目录的配置文件
2022-06-29 18:42:30.585 INFO t.m.c.ConfigLoader - 未在 :/ql/data/config/bili_config.json 目录读取到配置文件
2022-06-29 18:42:30.585 INFO t.m.c.ConfigLoader - 未在配置文件中配置cookies
2022-06-29 18:42:30.607 INFO t.m.t.DailyTask - ------登录检查开始------
2022-06-29 18:42:31.307 WARN t.m.t.UserCheck - Cookies可能失效了,请仔细检查配置中的Cookies是否有效
2022-06-29 18:42:31.311 INFO t.m.t.ServerPush - 未配置正确的ftKey和chatId,本次执行将不推送日志
Exception in thread "main" java.lang.ExceptionInInitializerError
at top.misec.task.UserCheck.run(UserCheck.java:42)
at top.misec.task.DailyTask.lambda$0(DailyTask.java:69)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at top.misec.task.DailyTask.doDailyTask(DailyTask.java:66)
at top.misec.BiliMain.main(BiliMain.java:40)
Caused by: java.lang.NullPointerException
at top.misec.config.BiliVerify.getDedeUserId(BiliVerify.java:41)
at top.misec.task.GetVideoId.queryDynamicNew(GetVideoId.java:77)
at top.misec.task.GetVideoId.(GetVideoId.java:29)
at top.misec.task.TaskInfoHolder.(TaskInfoHolder.java:21)
... 5 more

执行结束... 2022-06-29 18:42:31 耗时 3 秒

`

请问cookie哪里需要写'cookie' 或 'buvid3' 吗?尝试过删除或保留一个都不行。
我的cookie大概这样
Snipaste_2022-06-29_18-43-56

阿里云函数部署问题

提示没有在 JAR 包中找到 top.misec. BiliMain.Class 文件
{
"errorType": "java.lang.IllegalArgumentException",
"errorMessage": "Cannot find the class top.misec. BiliMain in your zip file and please make sure it is in the right path 'top/misec/ BiliMain'",
"stackTrace": [
"java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)",
"java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)"
]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.