📺 抖音弹幕监听器

- 小白不圆 -

🔉前文提要

⛳近期更新

2025-04-15 v2.7.9(beta)

  1. 大幅优化了程序的体积大小
  2. 默认移除了Script目录,以及其他不必要的文件,但如果开启了串口推送开关,则会自动生成过滤器模板文件
  3. 添加了应用图标

2025-04-09 v2.7.8

  1. 修复页面无操作检测拦截失效的问题,因为更新了脚本
  2. 修复弹幕日志因主播昵称的特殊字符导致无法写入的问题

2025-02-11 v2.7.7

  1. 添加 Appid 字段(疑似用户看直播的APP标识) 和 EnterTipType 字段(用于获知用户进入直播间的方式,已知0为普通进入,6为通过分享进入)
  2. User字段新增 IsAdminIsAnchor 字段,用于区分是否为管理员或者主播的消息
  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. 修复在使用窗体的情况下,因跨线程调用抛出异常导致的弹幕断连问题

🖼️控制台截图

控制台截图

😎介绍及配置

介绍

配置文件

 <!--配置更改后重启才能生效-->
 <appSettings>
   <!--过滤Websocket数据源进程,可用','进行分隔,程序将会监听以下进程的弹幕信息-->
   <add key="processFilter" value="直播伴侣,douyin,chrome,msedge,QQBrowser,360se,firefox,2345explorer,iexplore" />
   <!--Websocket监听端口-->
   <add key="wsListenPort" value="8888" />
   <!--true:监听在0.0.0.0,接受任意Ip连接,false:监听在127.0.0.1,仅接受本机连接-->
   <add key="listenAny" value="true" />
   <!--系统代理端口-->
   <add key="proxyPort" value="8827" />
   <!--是否启用系统代理,若设置为false 则需要在程序手动指定代理地址 -->
   <add key="sysProxy" value="true" />
   <!--上游代理地址,例如开启了系统代理,但是需要将其他无关请求转发到VPN工具中,例如:127.0.0.1:11223,不要带http://-->
   <add key="upstreamProxy" value="" />
   <!--在控制台输出弹幕-->
   <add key="printBarrage" value="true" />
   <!--要在控制台打印的弹幕类型,多个使用','分隔,(空代表不过滤) 1[普通弹幕],2[点赞消息],3[进入直播间],4[关注消息],5[礼物消息],6[统计消息],7[粉丝团消息],8[直播间分享],9[下播]-->
   <add key="printFilter" value="" />
   <!--要推送的弹幕消息类型,多个使用','分隔,同上-->
   <add key="pushFilter" value="" />
   <!--要日志记录的弹幕消息类型,多个使用','分隔,同上-->
   <add key="logFilter" value="1,2,4,5,6,7,8" />
   <!--要进行过滤的Web房间ID,多个使用','分隔,根据缓存来过滤的,直播伴侣不支持 -->
   <add key="webRoomIds" value="" />
   <!--开启内置的域名过滤,设置为false会解包所有https请求,cpu占用很高,建议在无法获取弹幕数据时调整 -->
   <add key="filterHostName" value="true" />
   <!--已知的弹幕域名列表 ','分隔  用作过滤规则中,凡是webcast开头的域名程序都会自动列入白名单-->
   <add key="hostNameFilter" value="" />
   <!--隐藏控制台-->
   <add key="hideConsole" value="false" />
   <!--弹幕文件日志-->
   <add key="barrageFileLog" value="false" />
   <!--显示窗体-->
   <add key="showWindow" value="false" />
   <!--进入直播间自动暂停播放-->
   <add key="autoPause" value="true" />
   <!--强制启用轮询模式获取弹幕 (对于容易断开连接或者更加追求稳定的直播间,可以启用这个开关,虽然响应速度不如WebSocket,但是绝对稳定!)-->
   <add key="forcePolling" value="false" />
   <!--弹幕轮询间隔,当 forcePolling 为 true 时生效 (毫秒,1000毫秒=1秒,不建议小于1000毫秒,太小可能会被封IP,值越小,弹幕流越丝滑,对于观众多的直播间可以改小)-->
   <add key="pollingInterval" value="3000" />
   <!--禁用直播页浏览器脚本缓存 (如果需要确保脚本每次能够正常匹配替换,则启用它,可能会损失一定的页面加载速度)-->
   <add key="disableLivePageScriptCache" value="false" />
   <!-- 指定要发送的COM串口 格式:'COM1:9600' 代表用COM1发送,波特率9600,若不需要使用串口抄送服务请留空,(启用后程序会自动生成过滤器模板文件到 scripts/comPortFilter.js) -->
   <add key="comPort" value="" />
   <!--直播伴侣exe文件位置(除非程序找不到,否则请留空)-->
   <add key="liveCompanPath" value="" />
   <!--直播伴侣进程代理开关-->
   <add key="liveCompanHookSwitch" value="false" />
 </appSettings>

使用方法

  1. 管理员身份启动本程序,第一次启动会提示安装自签名证书,程序启动后挂在后台不要关,程序无法中途监听已经建立连接的弹幕流

  2. 打开浏览器进入任何直播间,然后观察程序控制台中是否有弹幕滚动

  3. 如果有请往下看,否则请参考诊断排查

  4. 启动后程序控制台标题会显示 ws连接地址,如果需要对接自己的应用程序,请先了解 WebSocket ,然后使用自己的程序进行对接,可前往在线测试网站进行连接测试

  5. 对于字段不理解,请参考 实体类源码文件 的注释,或者加群询问

🔌 串口转发

👨‍⚕️ 诊断排查

🎲 实践指南

日常使用

浏览器代理切换扩展

若关闭了usedProxy开关,浏览器需要通过显示指定代理地址完成代理指向操作,此时可以通过浏览器扩展很好的完成这项功能,以Edge为例

  1. 前往扩展商店 搜索 switchyomega 安装

  2. 添加弹幕代理

    pA1SCOs.png

  3. 配置代理地址,并保存,不要配置为ws服务端口地址,程序默认代理端口是8827

  4. 进入直播页,应用代理,完成!

  5. Chrome 用户请自行百度搜索扩展安装方法

⚠️特别注意

  1. 程序只能监听到握手之后的ws数据包,例如先进入直播间或开启直播再打开本程序是无法监听到的,所以请保持程序后台运行

  2. 由于打开系统代理需要自动检查/生成证书,所以程序需要管理员身份运行

  3. 只有到达客户端的弹幕数据才能被接收,被抖音服务器过滤的弹幕是抓不到的

  4. 关闭程序后若有无法上网的情况请检查: 网络和internet设置-->代理-->使用代理服务器 ,关闭即可,也可管理员运行关闭代理.bat

📢鸣谢

⚖️免责声明

🍻支持一下?

开源不易

微信支付