一个非官方、开源、社区驱动的浏览器扩展,用于在抖音网页版中标记视频内部的赞助、自我推广、互动提醒等可选片段,并按照用户选择显示或跳过这些片段。
这个项目源于个人浏览需求,主要通过 AI 辅助完成设计、开发、测试与文档整理。它仍处于持续完善阶段,不代表成熟的商业产品;欢迎用户在 GitHub 上提出问题、分享使用体验并共同讨论改进方案。
Important
本项目与抖音、字节跳动、SponsorBlock 或 BilibiliSponsorBlock 没有隶属、授权或背书关系。“抖音”仅用于说明兼容的网站。
本项目不是平台广告拦截器:不拦截抖音的广告请求,不隐藏或破解平台官方广告,不伪造播放、点击或曝光数据,也不绕过付费内容。它只处理用户正在观看的普通作品时间轴中的社区标记片段,所有跳过行为均可由用户关闭或撤销。
- 在抖音播放器控制栏内创建视频片段的起止时间。
- 在播放器进度条中显示已标记片段:待提交为深绿色,已提交/可信片段为亮绿色。
- 再次播放同一作品时自动跳过本地草稿或社区片段。
- 可从播放器内的提交菜单把待提交片段发送到项目公共社区服务。
- 在选项页查看本地草稿、云端片段和累计贡献时长。
- 在贡献中心查看帮助人数、社区反馈和争议状态,并修改或撤回自己的云端投稿。
- 自动聚合时间高度相近的同类投稿,减少重复色块。
- 播放器适配失败时可复制不含作品 ID 和账号信息的脱敏诊断。
- 导入、导出本地数据。
- 未提交草稿留在本地;已提交片段以社区服务器为准,不上传完整浏览记录。
- 下载或克隆本仓库。
- Chrome 打开
chrome://extensions/。 - 开启右上角“开发者模式”。
- 点击“加载已解压的扩展程序”。
- 选择本仓库根目录。
- 打开或刷新
https://www.douyin.com/。
也可以从 GitHub Releases 下载自动生成的 Chrome ZIP,解压后按上述方式加载。Release 标签必须与 manifest.json 版本一致,例如版本 0.8.0 使用标签 v0.8.0。
播放器底部清晰度按钮左侧会显示片段标记图标:
- 可选片段开始时点击“片段从当前开始”。
- 图标切换为红色取消按钮和青色结束按钮。
- 片段结束时点击“片段现在结束”,片段先作为本地草稿保存,并以深绿色显示在进度条上。
- 此时控制栏会出现“提交”和“删除最后一个未提交片段”按钮;点击提交会打开播放器内菜单。
- 在提交菜单使用“片段开头”“片段结尾”和“精确编辑”校准边界,再逐段点击“预览”;播放器实际越过片段末尾后才允许提交。
- 提交成功后本地草稿会删除,亮绿色片段和管理列表从社区服务读取。
自动跳过时间片段后,提示条会短暂提供“撤销”按钮;社区片段还可直接赞成、反对或举报。
片段管理页可以修改本地草稿的开始和结束时间。修改会清除预览状态,必须返回对应视频重新预览;社区片段跳过后可赞成、反对或按“时间错误、分类错误、视频不符、滥用”举报。
社区片段支持“自动跳过、显示提示手动跳过、不处理”三种模式。播放器快捷键默认为:Alt+Z 开始/结束片段、Alt+X 取消创建、Alt+Enter 打开提交菜单;可在选项页的“快捷键”中重新录制,在输入框中不会触发。
片段可标记为“赞助/广告”“自我推广”或“互动提醒”,进度条会使用不同颜色。播放器提交菜单和片段管理页均支持对起点和终点进行 ±0.1 秒微调;提交菜单还可逐帧前进或后退。时间变化后需要重新预览才能上传。
和 BilibiliSponsorBlock 的默认行为一致:赞助/广告自动跳过,自我推广与互动提醒先显示提示,也可以在“社区共享”页分别改成自动跳过或不处理。
首次使用时,扩展会让用户明确选择“启用社区”或“仅本地”。只有同意后才会连接项目公共 API;新片段提交成功后立即供其他用户使用,投票与举报用于事后纠错:
扩展会把随机匿名贡献者 ID 保存到 Chrome 同步存储;使用同一 Chrome 账号安装扩展后,可在另一台电脑看到自己的云端片段与贡献统计。服务器只保存该 ID 的加盐哈希。
用户提交片段 → API 校验 → 立即共享并自动跳过
↓
社区事后纠错
↓
错误片段被降权或隐藏
服务端实现位于 server/,包含幂等提交、相似片段聚合、投稿修改/撤回、投票、举报与限流。公共扩展固定连接项目公共 API;需要自建服务的开发者可以在自己的源码分支中替换地址和清单权限。详见 服务端说明、路线图 和 API 草案。
.
├── content.js / content.css # 抖音页面注入与播放器交互
├── popup.* # 扩展弹窗
├── options.* # 片段库与设置页
├── icons/ # 扩展图标
├── docs/ # 架构、数据模型和路线图
├── server/ # Cloudflare Workers + D1 社区 API
└── manifest.json # Chrome Manifest V3
社区查询默认关闭。用户明确同意后,扩展才会使用当前作品 ID 的 SHA-256 哈希查询公共 API;仅在主动点击提交时上传作品 ID 和片段时间。完整说明见 PRIVACY.md。
- 只标记普通作品内部具有明确起止时间的可选片段,不处理平台插入的信息流广告或其他官方广告位。
- 不得因为不喜欢某位创作者而标记正常内容,也不得把整部作品恶意标记为可跳过片段。
- 不得使用本项目骚扰创作者、操纵播放数据、绕过付费服务或干扰平台正常运行。
- 社区数据可能存在错误;用户可以关闭自动跳过、立即撤销跳过,并通过投票或举报参与纠错。
- 网页结构和平台规则可能随时变化,请在遵守所在地法律、平台规则和创作者权益的前提下使用。
欢迎提交问题、页面适配、交互改进和共享服务设计。无论是否会编程,都可以通过 GitHub Issues 描述遇到的问题、讨论产品边界或提出建议;代码改动也欢迎通过 Pull Request 共同完善。
本项目的大部分代码与文档由维护者在 AI 辅助下完成,并经过人工确认与测试。AI 生成内容仍可能存在疏漏,因此问题报告、代码审查和真实使用反馈尤其重要。提交代码前请阅读 CONTRIBUTING.md,安全或隐私问题请按照 SECURITY.md 私下反馈,不要公开披露敏感细节。
每次推送和 Pull Request 都会运行扩展语法、权限与行为契约、Worker 测试和 TypeScript 检查;推送 v版本号 标签后会验证标签来自主分支,生成不含服务器配置的 Chrome ZIP、SHA-256 校验文件和对应版本说明。
扩展代码使用 GNU GPL v3 发布。共享服务端使用 AGPL-3.0。社区片段数据的开放许可将在服务上线前确定。
播放器按钮状态、待提交片段流程与进度条片段叠加方式参考并适配自 GPL-3.0 项目 BilibiliSponsorBlock;抖音页面适配、界面样式及社区服务由本项目实现。也感谢 SponsorBlock 奠定的社区片段模式。