All Projects → echo094 → BilibiliTool

echo094 / BilibiliTool

Licence: MIT license
Bilibili直播站小工具

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to BilibiliTool

a-soul
Full-featured social media monitor that extracts data from a variety of services and pushes updates to Telegram or other platforms
Stars: ✭ 39 (+50%)
Mutual labels:  bilibili, bilibili-live
bilibili-lottery-listener
Bilibili 直播抽奖监听服务器
Stars: ✭ 24 (-7.69%)
Mutual labels:  bilibili, bilibili-live
www.danmuji.org
弹幕姬的网站 https://www.danmuji.org 弹幕姬 https://github.com/copyliu/bililive_dm
Stars: ✭ 103 (+296.15%)
Mutual labels:  bilibili, bilibili-live
rec.danmuji.org
B站录播姬网站 录播姬->> https://github.com/Bililive/BililiveRecorder <<
Stars: ✭ 19 (-26.92%)
Mutual labels:  bilibili, bilibili-live
Bilibili Api Collect
哔哩哔哩-API收集整理【不断更新中....】
Stars: ✭ 4,497 (+17196.15%)
Mutual labels:  bilibili, bilibili-live
BilibiliLiveRecordDownLoader
Bilibili 直播录制与回放下载
Stars: ✭ 422 (+1523.08%)
Mutual labels:  bilibili, bilibili-live
bilibili-live-monitor-js
弃用 b站限制单ip连接数
Stars: ✭ 22 (-15.38%)
Mutual labels:  bilibili, bilibili-live
listen-bilibili-live
Bilibili Live 窥屏神器
Stars: ✭ 32 (+23.08%)
Mutual labels:  bilibili, bilibili-live
Night
Weekly Go Online Meetup via Bilibili|Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。
Stars: ✭ 10,058 (+38584.62%)
Mutual labels:  bilibili, bilibili-live
BiliLiveLib
Library to access Bilibili Live.
Stars: ✭ 18 (-30.77%)
Mutual labels:  bilibili, bilibili-live
Bililive dm VR
[咕咕咕中] B站VR弹幕姬
Stars: ✭ 18 (-30.77%)
Mutual labels:  bilibili, bilibili-live
LearningNotes
Java学习笔记,主要来源于B站上视频的学习,同时会记录平时一些学习和项目中遇到的问题,同步更新在蘑菇博客,如果对我的博客网站感兴趣的话,欢迎关注我的 蘑菇博客项目 笔记主要涵盖:Java,Spring,SpringCloud,计算机网络,操作系统,数据结构,Vue等 如果笔记对您有帮助的话,欢迎star支持,谢谢~
Stars: ✭ 477 (+1734.62%)
Mutual labels:  bilibili
yutto
🧊 一个可爱且任性的 B 站视频下载器(bilili V2)
Stars: ✭ 383 (+1373.08%)
Mutual labels:  bilibili
biliDownloader GUI
B站视频下载程序,BiliBili视频下载器,支持下载B站视频、交互\互动视频,支持下载区域限制视频资源。Bili Downloader GUI Program for Stable.😊
Stars: ✭ 308 (+1084.62%)
Mutual labels:  bilibili
lux
👾 Fast and simple video download library and CLI tool written in Go
Stars: ✭ 19,266 (+74000%)
Mutual labels:  bilibili
acmpv
使用 mpv 播放带弹幕的 Acfun & Bilibili 视频
Stars: ✭ 27 (+3.85%)
Mutual labels:  bilibili
bilibili manga downloader
B站漫画下载器,目前只支持章节下载
Stars: ✭ 92 (+253.85%)
Mutual labels:  bilibili
Bilibili-Invalid-Fav-Dump
spider-bot searching invalid video infomations from certain user's favorite folder at bilibili.com
Stars: ✭ 29 (+11.54%)
Mutual labels:  bilibili
bcst csapp
A C language repo to implement CSAPP
Stars: ✭ 696 (+2576.92%)
Mutual labels:  bilibili
Bilibili manga download
带图形界面的哔哩哔哩漫画下载工具
Stars: ✭ 52 (+100%)
Mutual labels:  bilibili

BilibiliTool

Bilibili直播站小工具

模式12使用wss协议(boost beast)连接弹幕服务器,各分区监控一个房间。

模式13使用tcp协议(boost asio)连接弹幕服务器,经测试,网络条件允许时,1800个房间没问题。

接下来一段时间要忙于写论文和完善相关的仿真模型,其它东西只能先放一放了。不过毕竟是认真写的第一个软件,随着技术的提高也会不时改改,也算是致敬B站“新手村”的头衔。

备忘1

新的活动道具需要使用客户端挂机才能获得,使用了全新的API:

头部为:https://live-trace.bilibili.com/xlive/data-interface/v1/heartbeat/

共有3个指令:

mobileEntry:获取secret_key等信息

mobileHeartBeat:心跳包,300秒1次

mobileExit:退出时的通知

在后两个指令中存在新的client_sign签名。看到HubertYoung/AcFun的代码,发现数据包由类LiveWatchTimeBody生成,然后调用类LiveWatcherTimeJni签名,签名时调用了库spyder_core,因此需要动态调试。

别人家的资料库

  • 樱花助手上船数据查询:点我

Features

目前已将抽奖的检测和领取分开。

消息服务器目前没有验证以及心跳环节。

目前实现的功能

  • 账号配置及查询

    • 6 刷新cookie,正常情况下不需要输验证码

    • 7 账户cookie有效性检测 (在导入账号后必须执行)

    • 8 信息查询

      背包道具查询

      扭蛋币查询

  • 功能模块

    • 11 挂机模块

      经验

      签到

      任务(银瓜子,双端观看)

      每日礼物领取

      银瓜子换硬币

      主站登录奖励硬币(方案失效)

    • 12 检测全区或分区广播事件

      礼物抽奖(全区和分区)

      守护抽奖(总督)

    • 13 检测房间内事件

      节奏风暴

      礼物抽奖(房间内广播的 目前需要手动更新礼物ID)

      守护抽奖(舰长和提督)

      大乱斗抽奖

      弹幕抽奖(待测试)

      天选时刻抽奖(仅参加发送弹幕的)

    • 14 连接消息服务器并参与抽奖

相关说明

  • 添加账户后默认关闭所有可配置功能,需要导出数据后修改配置项重新导入。
  • 在导入账号后需要使用功能(7)查询账户有效性后该账户才能执行其它操作。
  • 当检测到账号被封禁时会立即停止该账号的所有活动。
  • 登录接口使用v3版,若出现滑块验证码,需要打开对应网址手动验证,然后在控制台输入验证成功的challengevalidate

Config

用户账户配置文件

文件名:ConfigUser.json

文件格式为JSON数组,在导出时未增加换行,在修改时可手动格式化。

数据为列表,每一个成员为一个用户,通过修改对象中的Conf对象开关对应的功能。

配置项如下:

名称 内容 选项
CoinExchange 兑换硬币 0 不兑换 1 兑换
Gift 礼物抽奖 0 不参与 1 通过WebAPI参与
Storm 风暴抽奖 0 不参与 1 通过WebAPI参与
Guard 守护抽奖 0 不参与 1 通过WebAPI参与
PK 大乱斗抽奖 0 不参与 1 通过WebAPI参与
Danmu 弹幕抽奖 0 不参与 1 通过WebAPI参与
Anchor 天选抽奖 0 不参与 1 通过WebAPI参与

消息服务器配置文件

文件名:ConfigServer.json

文件格式为JSON数组

每一个条目包含hostport两项内容,类型为字符串

全区广播礼物列表

文件名:ConfigGift.txt

每一行为一个礼物ID。

Build and Usage

文件组织结构

source dir
├── README
├── CMakelists.txt (cmake配置文件)
├── cmake/ (cmake插件)
├── config/ (配置文件)
├── doc/
├── Bilibili/ (主程序)
└── LotteryHistory/ (历史记录) 

build dir
├── bin/ (生成目录)
└── install/ (安装目录) 

依赖库

  • boost (1.70.0及以上)
  • curl
  • openssl
  • rapidjson
  • zlib

依赖库的编译参考doc/lib-build.md

boost1.70.0之前的版本存在WSS无法连接的问题。

项目配置

使用Cmake配置依赖库,定义下述变量:

  • BOOST_ROOT:boost库的根目录,静态链接
  • libcurl库的相关变量,动态链接
    • CURL_INCLUDE_DIR:头文件所在文件夹
    • CURL_LIBRARY_RELEASE:库文件路径
    • CURL_DLL:DLL文件路径(仅Windows平台配置)
  • OPENSSL_ROOT_DIR:OpenSSL安装目录,动态链接
  • RapidJSON_ROOT:RapidJSON头文件所在文件夹
  • ZLIB_ROOT:ZLIB安装目录,动态链接

输出目录可以选择其它文件夹,不建议使用当前文件夹。

按照提示一步步添加路径,然后生成解决方案。

先执行ALL_BUILD,然后执行INSTALL,这时程序以及所需的DLL会被拷贝至install/bin文件夹,如果库文件的路径没有问题。

编译器

Windows平台可使用VS2017及后续版本。

Mac平台可使用Xcode。

TODO

  • 添加验证码识别领取瓜子(识别部分就不用C写了 是个大工程 有生之年)
  • 重构代码,适配doxygen注释规范。
  • 分离账号登录及管理模块,使用Python实现。

License

本项目采用MIT开源协议

Thanks

感谢以下大佬贡献的代码:

Military-Doctor

Dawnnnnnn

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].