# 抖音弹幕抓取数据推送 **Repository Path**: toxcode/dy-barrage-grab ## Basic Information - **Project Name**: 抖音弹幕抓取数据推送 - **Description**: 基于系统代理抓包打造的抖音弹幕服务推送程序,可抓取浏览器直播间,直播伴侣,抖音客户端,的各种弹幕消息。这也是一个对开发者友好的弹幕推送器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 365 - **Created**: 2025-03-19 - **Last Updated**: 2025-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

# 📺 抖音弹幕监听器

- 小白不圆 -

## 🔉前文提要 + Github(受网络影响,更新很可能不及时)大佬请移步 [Gitee](https://gitee.com/haodong108/dy-barrage-grab) ,参与Issues讨论,QQ技术讨论群:
+ 群1: 819927029 + 群2: 789875441 + 注: (进群前请先⭐**Star**,并填入答案,用于排除行外人员,特殊原因请私聊我),之前因满员踢掉的群员可申请群2。 + 发行版下载地址在[这里](https://gitee.com/haodong108/dy-barrage-grab/releases),别下成源码包了!!,**决定下载使用前请先仔细阅读文档**,不要进群提问已经介绍到的问题 + 💭 需要抖音日常操作协议化,包括**多直播间超长稳定连接**、**自动私信**(支持群组,单发,支持多账号切换),**私信监听、自动关注、粉丝群、作品点赞评论及监听、直播间发弹幕、获取直播间榜单、直播间更多消息事件、作品评论(支持图片)、发布作品** 等功能的可以找我(Q1083092844)提供一些技术支持 (注:主要面向个人直播自动化,不面向恶意j流、水jun等,不支持匿名直播间,想搞他人直播间匿名采集的勿扰,加群也不会有人支持) + 支持接单、定制等,dy相关优先,其他方面也可以找我帮忙转发定制 + 如果好用,请捐赠个仨瓜俩枣,白某谢过各位老板 ## ⛳近期更新 2025-02-11 v2.7.7 1. 添加 `Appid` 字段(疑似用户看直播的APP标识) 和 `EnterTipType` 字段(用于获知用户进入直播间的方式,已知0为普通进入,6为通过分享进入) 2. User字段新增 `IsAdmin` 和 `IsAnchor` 字段,用于区分是否为管理员或者主播的消息 3. web在中途监听弹幕,且直播间弹幕链接已降级为轮询的情况下,解决 `webroomid` 以及房间信息丢失问题 4. 修复直播伴侣更新后,无法定位到exe位置的问题 5. 优化部分其他已知问题 2024-09-28 v2.7.6(beta) 1. **[重要更新]** 支持免系统代理监听直播伴侣,需要在配置文件关闭`useproxy`选项以及打开`liveCompanHookSwitch`选项,配置后监听web直播间可参考实践指南新部分 2. 修复了 挂机检测Js拦截逻辑 3. 默认关闭 禁用JS文件缓存 配置项,提高网页加载速度 4. 礼物计数相关代码有一小处调整 5. 整合了dll为单个exe文件 2024-05-16 v2.7.5 1. **[重要修复]** 修复了弹幕轮询响应解析Payload读取报错的问题 2. 修复了在记录弹幕日志房间实例存在空引用导致弹幕丢失的问题 3. 修复了窗体初始化因控件可能导致的句柄出错的问题 4. 修复在使用窗体的情况下,因跨线程调用抛出异常导致的弹幕断连问题 2024-05-14 v2.7.4 1. 修复通过抖音号进入直播偶见获取不到Owner对象和WebRoomid的问题; 2. 修复部分电脑启动提示 ‘字符串格式错误’ 导致无法启动的问题 3. 2024.05.16 补丁: 修复在使用窗体的情况下,因跨线程调用抛出异常导致的弹幕断连问题 2024-04-26 v2.7.3 (需要升级版本,请先仔细阅读) 1. 支持串口转发,详见下方说明**串口转发** 2. 推送包字段更新
1. 推送包添加 `Onwer`字段,用户描述主播基本信息,客户端应优先使用其中的`SecUid`或者`Uid`作为直播间标识 2. **[破坏性更新]** `WebRoomid` 和 `Roomid` 改为String类型 3. 之前直播伴侣开播会导致`WebRoomid`为-1,现会抓取直播伴侣开播响应信息,并填充`WebRoomid`,但直播伴侣的`WebRoomid`设定为主播**抖音号**,需要根据进程名做判断,使用请注意 2024-03-10 v2.7.2 1. [**重要更新**] 支持设置为轮询模式监听(见配置项**forcePolling**,直播伴侣尚未支持),比起ws更稳定,适合长时间监听 2. 支持进入直播间画面自动暂停 3. 优化礼物连击判定规则,可区分出可连击的礼物,进一步避免礼物数量推送不准确的问题,并新增字段: 1. Combo 礼物是否可连击 2. ImgUrl 礼物图像地址 3. ToUser 送礼目标 4. roomId过滤改为 WebRoomid 过滤(仅支持已经被缓存的直播间,对直播伴侣可能无效) 5. 添加“关闭代理.bat” 批处理脚本,见根目录或者上方文件,便于无法上网时双击执行 6. 更多介绍请查看底下新增配置项 2023-11-23 v2.7.0 1. 修复了因抖音版本升级导致的WebRoomId获取不到的问题,并更近了正则表达式尽量兼容后续的变更 2. 添加了winfrom窗体,功能有限,默认隐藏 3. 支持了控制台隐藏,推送器弹幕类型过滤,日志弹幕类型过滤,弹幕文件日志 (见配置文件) 4. 支持了更多的ws命令,见 [Command.cs](./BarrageGrab/Modles/JsonEntity/Command.cs) ## 🖼️控制台截图 [![控制台截图](./imgs/控制台截图.png)](https://imgse.com/i/z9YYPU) ## 😎介绍及配置 ### 介绍 + 基于系统代理抓包打造的抖音弹幕服务推送程序,它能够获取电脑上所有抖音弹幕来源数据,主要包括三种来源:**浏览器进程** ,**抖音客户端**,**抖音直播伴侣**。它可以监听**弹幕**,**点赞**,**关注**,**送礼**,**进入直播间**,**直播间统计**,**粉丝团**系列消息,你可使用它做自己的直播间数据分析,以及弹幕互动游戏,语音播报等。 ### 配置文件 + 程序中有基本的配置可以过滤弹幕进程,弹幕数据通过Websocket服务推送,其他程序只需接入ws服务器就能接收到到弹幕数据消息 + 若下载发行版,则该配置文件在根目录下的 **WssBarrageService.exe.config** 可自主配置,配置后需要重新启动程序 ``` xml ``` ### 使用方法 1. 管理员身份启动本程序,第一次启动会提示安装自签名证书,程序启动后挂在后台不要关,程序无法中途监听已经建立连接的弹幕流 2. 打开浏览器进入任何直播间,然后观察程序控制台中是否有弹幕滚动 3. 如果有请往下看,否则请参考诊断排查 4. 启动后程序控制台标题会显示 ws连接地址,如果需要对接自己的应用程序,请先了解 [WebSocket](https://www.bilibili.com/video/BV1KN411n7WD/?share_source=copy_web&vd_source=39ebf42c923024b9eddeca32c9e46d16) ,然后使用自己的程序进行对接,可前往[在线测试网站](http://wstool.jackxiang.com/)进行连接测试 5. 对于字段不理解,请参考 [实体类源码文件](./BarrageGrab/Modles/JsonEntity/BarrageMessages.cs) 的注释,或者加群询问 ## 🔌 串口转发 + 配置串口:见配置文件`comPort`,配置发送串口以及波特率,不填则不启用 + 串口报文自定义:可在根目录`Scripts/engine/comPortFilter.js` 根据自己的需求配置转发报文,提供了一定的Bit转换函数,详见其注释 ## 👨‍⚕️ 诊断排查 + **启动后无法获取,排查清单** 1. 先判断自己的浏览器进程名称是否在配置文件列表中 2. 程序启动后,检查系统代理有无正常打开,有可能修改注册表被其他杀毒软件拦截 3. 检查程序是否以管理员身份启动 4. 注意程序启动先后顺序(很重要),必须保证在进入直播间之前监听程序已在运行 5. 检查代理端口是否与其他端口冲突,可尝试修改 + **打开报错,排查清单** + *通用处理方法:* + 关闭杀毒软件,杀毒软件可能会阻止注册系统代理,访问端口号 + 关闭Windows网络防火墙(设置-搜索) ,可能会阻止访问端口号 + *以一种访问权限不允许的方式做了一个访问套接字的尝试* + 可能是端口被占用了,请尝试前往配置文件将8888端口号修改为别的号码(1000~65535) + 关杀毒 + *尝试执行未经授权的操作* + 关杀毒 + *以上都不行* + 请前往[这里](https://www.baidu.com/s?word=新款电脑淘宝)瞧瞧 + **弹幕断连** + 如果浏览器总是连接一段时间后,就在在控制台看不到弹幕了,优先使用Chrome 和 Edge 浏览器,其他浏览器(例如360浏览器) 可能会存在该问题 + 尝试打开配置文件 `forcePolling` 选项,情况获取会有所改善 + 其他可能是网络原因,或者直播间断连导致,正在想办法优化解决中。。。需要长时间连接可以找我使用其他方式,支持直连和轮询获取方式 + **程序关闭后无法上网** + 这是因为本程序运行时会占用系统代理,不正确的关闭方式可能会导致系统代理未能正确关闭,请前往找到 系统设置-网络和Internet-代理-使用代理服务器 并关闭它即可,也可管理员运行[关闭代理.bat](./关闭代理.bat) + **未开系统代理,但是无法监听到直播伴侣弹幕** + 之前可以突然不行,且刚刚升级直播伴侣,请重监听启程序和直播伴侣再次尝试 + 如果一次都没成功,则需要检查启动菜单是否有直播伴侣的快捷方式,换言之则必须确保 `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\直播伴侣.lnk` 文件存在,否则请前往配置文件显式指定`直播伴侣.exe`文件存储路径,见配置项`liveCompanPath` + **直播伴侣打开显示文件损坏等字样** + 这可能是因为直播伴侣更新后脚本内容有所变更,从而导致程序检测拦截失效导致的,请前往 `(exe所在位置)\resources\app`将`index.js.bak` 文件内容还原到 `index.js` 中,并关闭配置文件中的`liveCompanHookSwitch` 选项,并上报问题后等待更新 ## 🎲 实践指南 ### 日常使用 + **隐藏控制台**:见配置文件 `hideConsole`

+ **远程控制程序**:例如远程关闭,隐藏/显示控制台,启用/关闭系统代理,可发送Json数据包 `{"Cmd":xx,"Data":xx}` 到ws推送地址,数据格式详见: [Command.cs](./BarrageGrab/Modles/JsonEntity/Command.cs)

+ **启用弹幕文件日志**:见配置文件 `barrageFileLog`,启用后,抓到弹幕会记录在根目录 logs/弹幕日志 文件夹中,支持类型过滤,见`logFilter` 配置项

+ **UI界面**: 见配置文件 `showWindow ` (做的仓促,功能简陋)

+ **上游代理**:一般用于自己有 代理工具/代理服务器,希望在使用本程序时访问外网不受到影响,见配置文件项`upstreamProxy` 将它改为你代理工具的代理地址

+ **局域代理**: (请优先参考下文 **浏览器代理切换扩展**) 可创建一个浏览器快捷方式,打开属性,并在exe文件路径后附加启动参数,`--proxy-server=127.0.0.1:8827`,例如:`"C:\\xxx\chrome.exe" --proxy-server=127.0.0.1:8827`

+ **直播间区分**: 推送包含 `Onwer`字段,用户描述主播基本信息,客户端可以优先使用其中的`SecUid`或者`Uid`作为直播间标识,若使用`WebRoomid`则需要注意直播伴侣进程需要特殊处理,因为直播伴侣推送的WebRoomid是用户的抖音号。`RoomId`只能作为场次标识,每次开播都会不一样,不可用作直播间唯一区分

+ **直播间地址**: 冷知识,使用`https://live.douyin.com/<抖音号>` 也可以进入主播直播间 ### 浏览器代理切换扩展 若关闭了`usedProxy`开关,浏览器需要通过显示指定代理地址完成代理指向操作,此时可以通过浏览器扩展很好的完成这项功能,以Edge为例 1. 前往扩展商店 搜索 `switchyomega` 安装 [](https://imgse.com/i/pA1SSSg) 2. 添加弹幕代理 [pA1SCOs.png](https://imgse.com/i/pA1SCOs) 3. 配置代理地址,并保存,不要配置为ws服务端口地址,程序默认代理端口是**8827** [](https://imgse.com/i/pA1SLjJ) 4. 进入直播页,应用代理,完成! [](https://imgse.com/i/pA1SXu9) 5. Chrome 用户请自行百度搜索扩展安装方法 ## ⚠️特别注意 1. 程序只能监听到握手之后的ws数据包,例如先进入直播间或开启直播再打开本程序是无法监听到的,所以请保持程序后台运行 2. 由于打开系统代理需要自动检查/生成证书,所以程序需要管理员身份运行 3. 只有到达客户端的弹幕数据才能被接收,被抖音服务器过滤的弹幕是抓不到的 4. 关闭程序后若有无法上网的情况请检查: 网络和internet设置-->代理-->使用代理服务器 ,关闭即可,也可管理员运行[关闭代理.bat](./关闭代理.bat) ## 📢鸣谢 + 请施舍一个 ⭐Start ,请及时订阅更新 + 如果你也是开发者,欢迎提交你所擅长的语言的对接Demo,照拂新手朋友 ## ⚖️免责声明 + 本程序仅供学习参考,不得用于商业用途,不得用于恶意搜集他人直播间用户信息! + 请详细阅读[免责声明](./免责声明.txt)条款后进行使用 ## 🍻支持一下? 开源不易

微信支付