- 小白不圆 -
2025-04-15 v2.7.9(beta)
2025-04-09 v2.7.8
2025-02-11 v2.7.7
Appid
字段(疑似用户看直播的APP标识) 和 EnterTipType
字段(用于获知用户进入直播间的方式,已知0为普通进入,6为通过分享进入)IsAdmin
和 IsAnchor
字段,用于区分是否为管理员或者主播的消息webroomid
以及房间信息丢失问题2024-09-28 v2.7.6(beta)
useproxy
选项以及打开liveCompanHookSwitch
选项,配置后监听web直播间可参考实践指南新部分2024-05-16 v2.7.5
<!--配置更改后重启才能生效-->
<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>
管理员身份启动本程序,第一次启动会提示安装自签名证书,程序启动后挂在后台不要关,程序无法中途监听已经建立连接的弹幕流
打开浏览器进入任何直播间,然后观察程序控制台中是否有弹幕滚动
如果有请往下看,否则请参考诊断排查
启动后程序控制台标题会显示 ws连接地址,如果需要对接自己的应用程序,请先了解 WebSocket ,然后使用自己的程序进行对接,可前往在线测试网站进行连接测试
对于字段不理解,请参考 实体类源码文件 的注释,或者加群询问
comPort
,配置发送串口以及波特率,不填则不启用scripts/comPortFilter.js
, 可根据自己的需求配置转发报文,提供了一定的Bit转换函数,详见其注释启动后无法获取,排查清单
打开报错,排查清单
通用处理方法:
以一种访问权限不允许的方式做了一个访问套接字的尝试
尝试执行未经授权的操作
弹幕断连
如果浏览器总是连接一段时间后,就在在控制台看不到弹幕了,优先使用Chrome 和 Edge 浏览器,其他浏览器(例如360浏览器) 可能会存在该问题
尝试打开配置文件 forcePolling
选项,情况获取会有所改善
其他可能是网络原因,或者直播间断连导致,正在想办法优化解决中。。。需要长时间连接可以找我使用其他方式,支持直连和轮询获取方式
程序关闭后无法上网
未开系统代理,但是无法监听到直播伴侣弹幕
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\直播伴侣.lnk
文件存在,否则请前往配置文件显式指定直播伴侣.exe
文件存储路径,见配置项liveCompanPath
直播伴侣打开显示文件损坏等字样
(exe所在位置)\resources\app
将index.js.bak
文件内容还原到 index.js
中,并关闭配置文件中的liveCompanHookSwitch
选项,并上报问题后等待更新hideConsole
{"Cmd":xx,"Data":xx}
到ws推送地址,数据格式详见: Command.csbarrageFileLog
,启用后,抓到弹幕会记录在根目录 logs/弹幕日志 文件夹中,支持类型过滤,见logFilter
配置项showWindow
(做的仓促,功能简陋)upstreamProxy
将它改为你代理工具的代理地址--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为例
前往扩展商店 搜索 switchyomega
安装
添加弹幕代理
配置代理地址,并保存,不要配置为ws服务端口地址,程序默认代理端口是8827
进入直播页,应用代理,完成!
Chrome 用户请自行百度搜索扩展安装方法
程序只能监听到握手之后的ws数据包,例如先进入直播间或开启直播再打开本程序是无法监听到的,所以请保持程序后台运行
由于打开系统代理需要自动检查/生成证书,所以程序需要管理员身份运行
只有到达客户端的弹幕数据才能被接收,被抖音服务器过滤的弹幕是抓不到的
关闭程序后若有无法上网的情况请检查: 网络和internet设置-->代理-->使用代理服务器 ,关闭即可,也可管理员运行关闭代理.bat
请施舍一个 ⭐Start ,请及时订阅更新
如果你也是开发者,欢迎提交你所擅长的语言的对接Demo,照拂新手朋友
开源不易