【开源】多平台弹幕连接工具
开源地址:项目首页 – Electron弹幕连接工具:多平台弹幕连接工具,基于nodejs和electron – GitCode
📖 项目简介
可遇AI弹幕工具是一个基于Electron开发的跨平台直播弹幕抓取工具,支持多个主流直播平台的实时弹幕数据获取。通过WebSocket技术实现弹幕数据的实时推送,为开发者和内容创作者提供便捷的弹幕数据接口。
✨ 主要功能
- 🎯 多平台支持:支持抖音、TikTok、快手、BiliBili、微信视频号等主流直播平台
- 🔄 实时弹幕抓取:通过WebSocket实时获取直播间弹幕、礼物、点赞等互动数据
- 📡 WebSocket服务:内置WebSocket服务器(端口12011),支持多客户端连接
- 🎨 现代化界面:基于Bootstrap 5构建的美观用户界面
- 🔧 简单易用:只需输入直播间网址即可开始抓取弹幕
- 📊 数据格式化:自动解析Protobuf数据并转换为JSON格式
- 🎭 多种消息类型:支持弹幕、礼物、点赞、关注、分享等多种互动消息
🛠️ 技术栈
核心框架
- Electron
^32.3.3
– 跨平台桌面应用开发框架 - Node.js – JavaScript运行时环境
前端技术
- HTML5 – 页面结构
- CSS3 – 样式设计(包含动画效果)
- JavaScript (ES6+) – 交互逻辑
- Bootstrap 5.3.0 – UI框架
- Bootstrap Icons – 图标库
后端技术
- WebSocket (ws)
^8.18.0
– 实时通信 - Protobufjs
^7.4.0
– Protocol Buffers数据解析
开发工具
- Electron Forge
^7.4.0
– 应用打包和分发 - Nodemon
^3.1.4
– 开发时自动重启
数据处理
- @bufbuild/protobuf
^2.6.0
– Protobuf数据处理 - MD5
^2.3.0
– 数据加密 - Zlib – 数据压缩解压
🚀 使用方法
安装运行
- 克隆项目
git clone [项目地址] cd electron弹幕工具
- 安装依赖
npm install
- 开发模式运行
npm run dev # 或者 npm run test
- 打包应用
npm run package # 或者制作安装包 npm run make
使用步骤
- 启动应用:运行应用后会自动启动WebSocket服务器(端口12011)
- 输入直播间网址:在输入框中粘贴支持平台的直播间链接
- 抖音:
https://live.douyin.com/xxxxxx
- TikTok:
https://www.tiktok.com/@username/live
- 快手:
https://live.kuaishou.com/u/xxxxxx
- BiliBili:
https://live.bilibili.com/xxxxxx
- 微信视频号:
https://channels.weixin.qq.com/live/xxxxxx
- 抖音:
- 进入直播间:点击”进入直播间”按钮,应用会自动打开直播间页面
- 接收弹幕数据:通过WebSocket连接到
ws://localhost:12011
即可接收实时弹幕数据
WebSocket数据格式
连接到WebSocket服务器后,会收到以下格式的JSON数据:
{
"type": "弹幕",
"uid": "用户ID",
"name": "用户昵称",
"content": "弹幕内容",
"timestamp": "时间戳",
"platform": "平台名称"
}
支持的消息类型:
弹幕
– 用户发送的文字消息礼物
– 用户赠送的礼物点赞
– 用户点赞行为关注
– 用户关注主播分享
– 用户分享直播间进房
– 用户进入直播间
💻 支持平台
平台 | 状态 | 支持功能 |
---|---|---|
抖音 | ✅ 完全支持 | 弹幕、礼物、点赞、关注、分享、进房 |
TikTok | ✅ 完全支持 | 弹幕、礼物、点赞、关注、分享、进房 |
快手 | ⚠️ 适配中 | 弹幕获取 |
BiliBili | ⚠️ 适配中 | 弹幕获取 |
微信视频号 | ✅ 完全支持 | 弹幕、礼物、互动消息 |
操作系统支持
- ✅ Windows (Windows 10/11)
- ✅ macOS (macOS 10.14+)
- ✅ Linux (Ubuntu 18.04+, Debian 10+, CentOS 8+)
📁 项目结构
electron弹幕工具/
├── douyin/ # 抖音弹幕解析模块
│ ├── lib/ # 核心库文件
│ ├── proto/ # Protobuf协议文件
│ └── main.js # 抖音数据解析入口
├── tiktok/ # TikTok弹幕解析模块
│ ├── lib/ # 核心库文件
│ ├── proto/ # Protobuf协议文件
│ └── main.js # TikTok数据解析入口
├── weixin/ # 微信视频号解析模块
│ └── main.js # 微信数据解析入口
├── websocket/ # WebSocket服务模块
│ ├── websocket-server.js # WebSocket服务器
│ └── websocket-test.html # 测试页面
├── page/ # 前端页面
│ ├── css/ # 样式文件
│ ├── js/ # JavaScript文件
│ ├── index.html # 主页面
│ └── render.js # 渲染进程脚本
├── readme/ # 文档资源
├── main.js # Electron主进程
├── preload.js # 预加载脚本
├── package.json # 项目配置
└── forge.config.js # 打包配置
🔧 开发说明
核心原理
- 数据抓取:通过Electron的debugger API拦截WebSocket和HTTP请求
- 数据解析:使用Protobuf解析二进制数据格式
- 数据转发:通过内置WebSocket服务器实时推送解析后的数据
- 跨平台兼容:针对不同平台的API差异进行适配
关键技术点
- Protobuf解析:各平台使用不同的Protobuf协议,需要对应的.proto文件
- WebSocket拦截:通过Chrome DevTools Protocol拦截网络请求
- 数据压缩:部分平台数据使用gzip压缩,需要解压处理
- 反爬虫对策:模拟真实用户行为,包括鼠标移动等
扩展开发
如需添加新平台支持:
- 在对应平台目录下创建解析模块
- 分析平台的WebSocket协议和数据格式
- 编写对应的Protobuf解析逻辑
- 在主进程中注册新平台的处理逻辑
⚠️ 使用声明
法律声明
- 🚫 禁止商业用途:本项目仅供学习和个人使用,严禁用于任何商业目的
- 🚫 禁止违法使用:严禁将本工具用于任何违法违规的项目或活动
- ⚖️ 合规使用:使用本工具时请遵守相关平台的服务条款和法律法规
- 📝 免责声明:使用本工具产生的任何法律后果由使用者自行承担
技术声明
- 本工具仅用于技术研究和学习交流
- 请在使用前确保已获得相关平台的授权
- 建议在测试环境中使用,避免对生产环境造成影响
💬 交流与支持
技术交流群
- QQ群1:122517993
- QQ群2:145225093
联系方式
- 客服微信:wujie88488
- 官方网站:www.keyu.live
💰 支持项目
如果这个项目对您有帮助,欢迎支持我们的开发工作:
—
感谢您的使用和支持! 🙏
最后更新:2025年7月