Skip to content

Snoopy1866/bilibili-danmu-block-list

Repository files navigation

bilibili-danmu-block-list

uv GitHub License GitHub Downloads (all assets, all releases) GitHub Release

本仓库收集哔哩哔哩弹幕屏蔽规则。

规则清单.md | 规则清单.json

如何使用

  1. 前往 Release 下载最新版规则文件。

  2. 进入任意哔哩哔哩视频页面,点击 弹幕列表 右侧的 ⠇,选择 屏蔽设定step1

  3. 在内容空白处右键,选择 导入json文件step2

  4. 在弹出的窗口中,找到在步骤 1 中下载的 json 文件,点击 打开 即可。

bilibili-danmu-blocklist.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();
  });

如果出现下图中部分规则未上传的情况,请尝试重复执行上述代码。

block list sync not completed

Tip

上传成功后,可以在移动端 app 内打开任意视频,进入全屏,点击左下角 弹幕设置,进入 更多工具 -> 添加屏蔽词,点击右上角 同步,即可将 web 端设置的屏蔽规则同步到 app 端。

Warning

存在少数无法上传的规则,原因未知,这些规则只能单独在 web 端使用,例如:

  • (?<!乾)坤
  • ^(?:\\d+[::][^\\d:]+|[^\\d]+[::]\\d+|[^\\d]+[::][^\\d]+)$

如何贡献

推荐使用 VSCode 编辑规则文件。

前置要求

  1. 克隆本仓库

    git clone https://github.com/Snoopy1866/bilibili-danmu-block-list.git
  2. 初始化项目

    uv sync
  3. 新建一个分支,名称任意(例如:feat

    git checkout -b feat
  4. 修改 bilibili-danmu-blocklist.json

  5. 提交更改并推送

    git add .
    git commit -m "feat: new rules"
    git push origin feat
  6. 发起 Pull Request

Important

  1. 请不要添加 type=2 的规则,这类规则用于屏蔽指定 UID 的用户发出的弹幕,你应该自行添加这类规则,而不是在公共仓库中添加。
  2. 请不要添加 id 字段,该字段会在你提交 PR 后根据当前时间戳(精确到纳秒)自动生成。
  3. 添加或修改 屏蔽正则 类型的规则需注意:
    • 使用 \\ 代替 \,例如:使用 \\d+ 代替 \d+,这是因为 json 字符串本身需要对字符 \ 进行转义
    • 不要使用类似 (阿巴)* 这样的正则表达式,在缺少定位符 ^$ 的情况下使用 * 会导致所有弹幕都被屏蔽

相关链接

类似的仓库