本仓库收集哔哩哔哩弹幕屏蔽规则。
-
前往 Release 下载最新版规则文件。
-
在弹出的窗口中,找到在步骤 1 中下载的 json 文件,点击
打开
即可。
名称 | 含义 | 类型 | 必要性 | 取值 |
---|---|---|---|---|
type | 规则类型 | int | required | [0,1,2] |
filter | 规则内容 | string | required | Any |
opened | 规则是否启用 | boolean | required | true | false |
id | 规则唯一标识符 | int | optional | Any |
名称 | 含义 | 类型 | 必要性 | 可选值 |
---|---|---|---|---|
description | 规则描述 | string | optional | Any |
examples | 规则匹配示例 | Array[string] | optional | Any |
excludeExamples | 规则排除示例 | Array[string] | optional | Any |
Note
excludeExamples
字段用于辅助正则表达式的编写,尽可能避免错杀正常弹幕。
分别切换到 屏蔽文本
、屏蔽正则
标签,按 F12
打开开发者工具,在 控制台
中执行以下代码:
document
.querySelectorAll("span.bpx-player-block-list-delete")
.forEach((button) => {
button.click();
});
分别切换到 屏蔽文本
、屏蔽正则
标签,按 F12
打开开发者工具,在 控制台
中执行以下代码:
document
.querySelectorAll("span.bpx-player-block-list-sync")
.forEach((button) => {
button.click();
});
如果出现下图中部分规则未上传的情况,请尝试重复执行上述代码。
Tip
上传成功后,可以在移动端 app 内打开任意视频,进入全屏,点击左下角 弹幕设置
,进入 更多工具
-> 添加屏蔽词
,点击右上角 同步
,即可将 web 端设置的屏蔽规则同步到 app 端。
Warning
存在少数无法上传的规则,原因未知,这些规则只能单独在 web 端使用,例如:
(?<!乾)坤
^(?:\\d+[::][^\\d:]+|[^\\d]+[::]\\d+|[^\\d]+[::][^\\d]+)$
推荐使用 VSCode 编辑规则文件。
前置要求
-
克隆本仓库
git clone https://github.com/Snoopy1866/bilibili-danmu-block-list.git
-
初始化项目
uv sync
-
新建一个分支,名称任意(例如:
feat
)git checkout -b feat
-
修改
bilibili-danmu-blocklist.json
-
提交更改并推送
git add . git commit -m "feat: new rules" git push origin feat
-
发起 Pull Request
Important
- 请不要添加
type=2
的规则,这类规则用于屏蔽指定 UID 的用户发出的弹幕,你应该自行添加这类规则,而不是在公共仓库中添加。 - 请不要添加
id
字段,该字段会在你提交 PR 后根据当前时间戳(精确到纳秒)自动生成。 - 添加或修改
屏蔽正则
类型的规则需注意:- 使用
\\
代替\
,例如:使用\\d+
代替\d+
,这是因为 json 字符串本身需要对字符\
进行转义 - 不要使用类似
(阿巴)*
这样的正则表达式,在缺少定位符^
或$
的情况下使用*
会导致所有弹幕都被屏蔽
- 使用