Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bilibili 广告跳过助手

中文 | English

一款智能的Chrome/Firefox浏览器插件,通过多信号源分析自动识别B站视频中的嵌入式广告段,并提供自动或手动的跳过功能。

功能特点

  • 多信号智能识别: 综合视频章节、简介、字幕、弹幕等多种数据源,精准识别广告段落
  • 自动跳过: 支持自动跳过广告段,无需手动操作
  • 手动跳过: 在广告段显示跳过按钮,用户可选择性跳过
  • 自定义快捷键: 支持设置键盘快捷键,在手动模式下一键跳过广告
  • 模式切换: 支持在自动和手动模式间自由切换
  • 轻量高效: 无后台常驻,不影响页面性能
  • 界面友好: 美观的跳过按钮和设置界面

工作原理

插件通过多信号检测管道识别广告段,按置信度从高到低依次尝试:

  1. 视频章节标记: 读取UP主设置的章节分段,匹配广告关键词
  2. 视频简介时间戳: 解析简介中的时间戳列表,识别标注为广告的段落
  3. 字幕内容分析: 获取AI/人工字幕,通过关键词聚类检测广告段;支持字幕与弹幕跨层联合定位
  4. 弹幕时间格式解析: 分析弹幕中的时间标记(如"5:30"、"五分三十秒"、"705工程"等)
  5. 弹幕关键词匹配: 使用方向性关键词(开始类/结束类)进行双向锚定

任意一层命中即触发跳过,后续层作为兜底保障。

📦 安装方法

方法一:商店安装(推荐)

浏览器 安装步骤
Chrome 1. 打开 Chrome Web Store
2. 点击 「添加至Chrome」
Firefox 1. 打开 Firefox 附加组件
2. 点击 「添加到Firefox」

方法二:开发者模式安装

  1. 下载本项目的所有文件
  2. 打开Chrome浏览器,进入 chrome://extensions/
  3. 开启右上角的"开发者模式"
  4. 点击"加载已解压的扩展程序"
  5. 选择包含本插件文件的文件夹

使用方法

基本使用

  1. 安装插件后,打开任意B站视频页面
  2. 插件会自动在后台分析弹幕,识别广告段
  3. 根据设置的模式:
    • 自动模式: 检测到广告段时自动跳过
    • 手动模式: 显示"跳过广告"按钮,点击即可跳过

切换模式

  1. 点击浏览器工具栏中的插件图标
  2. 使用开关切换"手动"和"自动"模式
  3. 设置会自动保存并在所有标签页生效

设置跳过快捷键

  1. 点击浏览器工具栏中的插件图标
  2. 在"跳过快捷键"区域点击"设置"按钮
  3. 按下想要的快捷键组合(如 Alt + S
  4. 快捷键会自动保存,在手动模式下按下即可跳过广告
  5. 如需取消快捷键,点击"重置"按钮即可

支持的时间格式

插件可以识别弹幕中的多种时间格式:

  • 数字格式: 5:3010:45
  • 中文数字: 五分三十秒十分钟
  • 混合格式: 5分30秒10.5分钟
  • 编码格式: 705工程0705工程(观众常用的时间编码)

若无法通过时间格式识别广告段,插件会依次尝试字幕分析和关键词匹配等方式进行识别。

项目结构

BiliSmartSkip/
├── scr/                    # 源码文件夹
│   ├── constants.js        # 关键词词库与配置常量
│   ├── utils.js            # 工具函数(日志、时间格式化、中文数字转换)
│   ├── api.js              # API 请求与 Protobuf 弹幕解码器
│   ├── detectors.js        # 5 层广告检测算法
│   ├── skipper.js          # 跳过按钮 UI 与倒计时逻辑
│   ├── content.js          # 主入口:初始化、生命周期、检测管道
│   ├── popup.html          # 插件弹窗界面
│   ├── popup.js            # 弹窗交互逻辑
│   └── icon.png            # 插件图标
├── LICENSE                 # 开源协议
├── README.md               # 项目说明文档(中文)
├── README_EN.md            # 项目说明文档(英文)
└── manifest.json           # 插件配置文件

权限说明

  • storage: 保存用户的模式设置和快捷键配置
  • https://www.bilibili.com/*: 访问B站视频页面
  • https://api.bilibili.com/*: 获取视频信息、章节标记和字幕数据
  • https://comment.bilibili.com/*: 获取弹幕数据
  • https://i0.hdslb.com/* / https://aisubtitle.hdslb.com/*: 获取字幕文件

隐私保护

  • 本插件不收集任何个人信息
  • 所有数据处理均在本地进行
  • 仅访问B站公开的视频信息、字幕和弹幕API
  • 不会向第三方服务器发送任何数据

🤝 贡献指南

欢迎提交Issue和Pull Request!

开发环境设置

  1. Fork本项目
  2. Clone到本地
  3. 在Chrome中加载开发版本
  4. 修改代码并测试
  5. 提交Pull Request

代码规范

  • 使用ES6+语法
  • 添加必要的注释
  • 遵循现有代码风格

开源协议

本项目采用 GUN License 开源协议。

版本历史

v2.0.0

  • 🎉 新增多信号检测管道:视频章节、简介时间戳、字幕内容分析
  • 🎉 字幕与弹幕跨层联合定位,提升广告起止时间精度
  • 🎉 新增自定义跳过快捷键,支持在手动模式下通过键盘一键跳过广告
  • ✅ 支持 "705工程" 等编码时间格式
  • ✅ 弹幕关键词升级为方向性双向锚定算法
  • ✅ 大幅扩展广告关键词词库

v1.1.0

  • 🎉 新增倒计时跳过功能
  • ✅ 优化了广告段识别算法

v1.0.0

  • 🎉 首次发布
  • ✅ 支持自动/手动跳过模式
  • ✅ 智能弹幕时间识别
  • ✅ 美观的用户界面

设置页面 & 跳过广告功能 展示

简洁直观的设置面板,支持一键切换自动/手动跳过模式,设置实时生效。 当检测到广告段时,插件会在视频右下角显示精美的"跳过广告"按钮,一键即可跳过!

跳过广告功能演示

About

一款智能的 Chrome/Firefox 浏览器插件,通过分析弹幕内容自动识别 B 站视频中的嵌入式广告段,并提供自动或手动的跳过功能

Topics

Resources

Stars

111 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages