【开源】多平台弹幕连接工具

开源地址:项目首页 – 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 – 数据压缩解压

🚀 使用方法

安装运行

  1. 克隆项目
    git clone [项目地址]
    cd electron弹幕工具
    
  2. 安装依赖
    npm install
    
  3. 开发模式运行
    npm run dev
    # 或者
    npm run test
    
  4. 打包应用
    npm run package
    # 或者制作安装包
    npm run make
    

使用步骤

  1. 启动应用:运行应用后会自动启动WebSocket服务器(端口12011)
  2. 输入直播间网址:在输入框中粘贴支持平台的直播间链接
    • 抖音: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
  3. 进入直播间:点击”进入直播间”按钮,应用会自动打开直播间页面
  4. 接收弹幕数据:通过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        # 打包配置

🔧 开发说明

核心原理

  1. 数据抓取:通过Electron的debugger API拦截WebSocket和HTTP请求
  2. 数据解析:使用Protobuf解析二进制数据格式
  3. 数据转发:通过内置WebSocket服务器实时推送解析后的数据
  4. 跨平台兼容:针对不同平台的API差异进行适配

关键技术点

  • Protobuf解析:各平台使用不同的Protobuf协议,需要对应的.proto文件
  • WebSocket拦截:通过Chrome DevTools Protocol拦截网络请求
  • 数据压缩:部分平台数据使用gzip压缩,需要解压处理
  • 反爬虫对策:模拟真实用户行为,包括鼠标移动等

扩展开发

如需添加新平台支持:

  1. 在对应平台目录下创建解析模块
  2. 分析平台的WebSocket协议和数据格式
  3. 编写对应的Protobuf解析逻辑
  4. 在主进程中注册新平台的处理逻辑

⚠️ 使用声明

法律声明

  • 🚫 禁止商业用途:本项目仅供学习和个人使用,严禁用于任何商业目的
  • 🚫 禁止违法使用:严禁将本工具用于任何违法违规的项目或活动
  • ⚖️ 合规使用:使用本工具时请遵守相关平台的服务条款和法律法规
  • 📝 免责声明:使用本工具产生的任何法律后果由使用者自行承担

技术声明

  • 本工具仅用于技术研究和学习交流
  • 请在使用前确保已获得相关平台的授权
  • 建议在测试环境中使用,避免对生产环境造成影响

💬 交流与支持

技术交流群

  • QQ群1:122517993
  • QQ群2:145225093

联系方式

微信联系

💰 支持项目

如果这个项目对您有帮助,欢迎支持我们的开发工作:

支付宝/微信收款码 —

感谢您的使用和支持! 🙏

最后更新:2025年7月

欢迎转载,请尊重作者劳动成果,保留原站链接
老念博客🌈 » 【开源】多平台弹幕连接工具

简单课程表 - 小念的个人博客