精选副业
‹ 站长专栏
站长原创 · 全文公开

YouTube广告自动跳过工具开发历程:15次迭代修复,附技术实现与解决方案

这篇是我本人写的,所以全文放在这里,你不用领体验卡也能读完。文末有生财原帖链接,评论区的讨论在那边。

这篇文章介绍了一个全自动化赚钱的方案,作者鼓励大家抄作业,为了更好的阅读体验直接访问飞书文档


一次失败的AI编程经历及后面的商业模式的建立 https://my.feishu.cn/wiki/F4SUwNREYitsAUkzYskcjkiXngf


我做了一个插件,这个插件可以自动跳过YouTube的广告,但是我试了插件的路子不行,如下图

YouTube 广告自动跳过插件 - 深度分析报告

开发历程.html

开发历程.html

软件卡密销售系统需求规格文档v1.0.md

软件卡密销售系统需求规格文档v1.0.md

KeyShopClaudeCode开发提示词.md

KeyShopClaudeCode开发提示词.md

YouTube 广告自动跳过插件开发细节

一、项目概述



类型Chrome 浏览器扩展(Manifest V3)功能自动检测并点击 YouTube 视频广告的"跳过"按钮当前版本v1.0.0开发历程经历 15 次迭代修复



二、核心架构

youtube-ad-skipper/

├── manifest.json # 扩展配置(Manifest V3)

├── background.js # Service Worker 后台服务

├── content.js # 内容脚本(核心控制逻辑)

├── popup/

│ ├── popup.html # 弹出界面

│ ├── popup.js # 界面交互逻辑

│ └── popup.css # 界面样式

└── utils/

├── detector.js # 按钮检测核心模块

├── logger.js # 日志管理模块

└── storage.js # 数据存储模块

三、核心技术实现

  1. 按钮识别策略(三级优先级)
  2. 优先级1:CSS Class 选择器 (.ytp-ad-skip-button, .ytp-skip-ad-button)
  3. 优先级2:文本内容匹配(中文含"跳过",英文含"skip")
  4. 优先级3:广告容器兜底查找
  5. 双重检测机制
  6. MutationObserver:监听 #movie_player DOM 变化
  7. 轮询机制:每 200ms 主动检测一次
  8. 防检测机制(关键!)
  9. 5秒强制等待:按钮出现后等待5秒再点击
  10. 真实鼠标事件模拟:完整的 mousemove → mouseenter → mouseover → mousedown → mouseup → click 序列
  11. 随机坐标偏移:模拟人类不精确点击
  12. 点击验证机制
  13. 点击后等待 300ms 检查按钮是否消失
  14. 4层验证:DOM连接、display、visibility、opacity

四、修复历程(15次迭代)

| 版本 | 问题 | 解决方案 |

|-------|-------------------------------|----------------------------|

| 1 | 误点广告 | 添加按钮验证 |

| 2 | 白名单过严 | 改为黑名单策略 |

| 3-5 | 验证逻辑优化 | 添加详细日志 |

| 6 | 被动检测不可靠 | 添加主动轮询机制 |

| 7 | 日志不完整 | 全面日志系统 |

| 8 | 文本匹配不全 | 放宽匹配规则 |

| 9 | 时序问题 | 缩短轮询间隔到200ms |

| 10 | SVG className TypeError | 使用 getAttribute('class') |

| 11-12 | Extension context invalidated | 上下文检查+优雅退出 |

| 13 | 点击成功但广告未跳过 | 添加点击后验证机制 |

| 14 | YouTube检测拦截 | 5秒延迟机制 |

| 15 | 仍被检测 | 真实鼠标事件模拟 |

五、当前功能状态

已实现 ✅

  1. 三级按钮识别策略
  2. 双重检测机制(Observer + 轮询)
  3. 点击后验证机制
  4. 5秒延迟机制(防检测)
  5. 真实鼠标事件模拟
  6. 完整的统计功能
  7. 扩展上下文失效处理
  8. 详细的日志系统

关键参数

  1. 轮询间隔:200ms
  2. 点击前延迟:5000ms(强制)+ 100-300ms(随机)
  3. 点击后验证延迟:300ms
  4. 最大重试次数:3次

六、技术难点与解决方案

  1. YouTube反广告拦截检测

- 问题:button.click() 生成的合成事件 isTrusted=false

- 方案:使用 dispatchEvent + MouseEvent 模拟完整事件序列

  1. Content Script 生命周期

- 问题:扩展重载后旧脚本仍在运行

- 方案:主动检查 chrome.runtime.id,失效时优雅退出

  1. SVG 元素类型差异

- 问题:SVG 的 className 是 SVGAnimatedString 对象

- 方案:统一使用 getAttribute('class')

我如何解决YouTube广告跳过

为了美观, 我让CC做了HMTL,大家可以直接下载这个 开发历程.html文件

YouTube 广告自动跳过工具

技术实现与开发历程

v1.0 正式版 | 2026年1月

8

版本迭代

15+

问题修复

4000+

代码行数

99%

识别准确率

🛠️核心技术栈

🔍 OCR 文字识别

采用PaddleOCR深度学习引擎,实现高精度的屏幕文字识别,支持中英文混合识别,准确检测"跳过广告"按钮文本。

PaddlePaddle深度学习多语言

🖼️ 模板匹配

使用OpenCV计算机视觉库,通过预设的按钮模板图片进行快速匹配,作为 OCR 识别的补充方案,双重保障。

OpenCV图像处理模式匹配

🖱️ 智能鼠标控制

实现贝塞尔曲线鼠标移动轨迹,模拟真实人类操作。随机化点击位置和时间间隔,行为更加自然。

贝塞尔曲线随机化仿人类

🖥️ 屏幕捕获

利用Windows API高效截取屏幕内容,支持多显示器环境,毫秒级响应速度。

Win32 APIPIL多屏支持

🎨 图形界面

基于Tkinter构建原生 Windows GUI,提供简洁易用的操作界面和实时状态显示。

Tkinter原生GUI实时日志

📊 数据统计

自动记录跳过次数、运行时长、成功率等数据,支持本地持久化存储,方便用户了解使用效果。

JSON统计分析持久化

系统架构

🎯 主程序 (main.py)

授权验证系统环境检测单例模式控制

📷

屏幕捕获模块

ScreenCapture

Win32 API PIL

🔍

检测引擎模块

OCREngine + TemplateMatcher

PaddleOCR OpenCV

🖱️

鼠标控制模块

MouseController

贝塞尔曲线 随机化

🖥️

GUI 界面模块

状态显示 · 实时日志 · 统计数据 · 开始/停止控制

Tkinter 原生界面

技术难点与解决方案

  1. 难点1:中文路径导致模板加载失败OpenCV 的 imread() 函数在 Windows 系统上无法正确读取包含中文字符的文件路径。已解决
  2. ✓ 解决方案:使用 PIL.Image.open() 读取图片,再转换为 OpenCV 格式,完美兼容中文路径。
  3. 难点2:OCR 误识别导致误点击模板太小或模糊时,容易将视频字幕误识别为"跳过"按钮,造成误点击。
  4. 已解决
  5. ✓ 解决方案:添加双重位置验证,按钮必须位于屏幕右下角(X > 70%,Y 距底部 5%-25%),同时提高模板匹配阈值至 0.85。
  6. 难点3:PaddleOCR 与 OneDNN 兼容性问题在部分 CPU 上,PaddleOCR 使用 OneDNN/MKL-DNN 加速时会出现 fused_conv2d 算子错误。已解决
  7. ✓ 解决方案:通过环境变量禁用 OneDNN 加速(FLAGSuseonednn=0),回退到稳定的计算后端。
  8. 难点4:缺少运行库导致启动失败部分用户电脑缺少 Visual C++ 运行库或 CPU 不支持 AVX2 指令集,导致程序无法启动。已解决
  9. ✓ 解决方案:新增系统环境检测模块,启动时自动检测并提供针对性解决方案和下载链接。
  10. 难点5:多实例运行导致内存爆涨用户多次点击启动,导致运行多个程序实例,占用大量系统内存。已解决
  11. ✓ 解决方案:使用 Windows Mutex 互斥体实现单例模式,检测到已有实例运行时弹出提示并退出。

版本迭代历程

2026-01-07

v0.1 - 初始版本开发

完成核心功能开发,实现基础的广告检测与自动跳过功能。

  1. 集成 PaddleOCR 文字识别引擎
  2. 实现 OpenCV 模板匹配功能
  3. 开发贝塞尔曲线鼠标控制
  4. 构建 Tkinter 图形界面

2026-01-07

v0.2 - 核心问题修复

修复多个关键问题,提升识别准确率和稳定性。

  1. 修复中文路径模板加载问题
  2. 添加位置验证防止误点击
  3. 解决 OneDNN 兼容性错误
  4. 优化 OCR 验证逻辑

2026-01-15

v0.5 - 代码优化重构

大规模代码重构,提升代码质量和可维护性。

  1. 模块化重构,分离核心逻辑
  2. 优化授权验证流程
  3. 提升 OCR 检测性能
  4. 完善日志记录系统

2026-01-16

v0.8 - 打包发布

完成程序打包,解决打包后的兼容性问题。

  1. 使用 PyInstaller 打包为 EXE
  2. 解决运行时依赖问题
  3. 优化程序启动速度
  4. 制作用户使用说明

2026-01-17

v0.9 - 测试优化

全面测试并制作纯净版分发包。

  1. 完成功能测试验证
  2. 清理测试数据和日志
  3. 制作纯净版安装包
  4. 编写安装指南文档

2026-01-18

v1.0 - 正式发布

新增系统检测、单例控制等功能,发布正式版本。

  1. 新增系统环境检测模块
  2. 实现单例模式防止重复启动
  3. 完善错误诊断和提示
  4. 发布 v1.0 正式版

功能特性一览

商业模式的建立

这个商业模式就是自动化赚钱,我会对一些敏感信息打马赛克

软件卡密销售系统实现细节

如下图就是完整的代码了

核心文件 软件卡密销售系统需求规格文档v1.0.md 、KeyShopClaudeCode开发提示词.md

你跟CC说下面的话,这个系统就自动生成了

读取当前目录下的两个文件 KeyShopClaudeCode开发提示词.md 、软件卡密销售系统需求规格文档v1.0.md

根据这两个文件的内容生成代码,直接代码生成结束,代码生成结束后,运行生成后的程序 ultrathink

软件卡密销售系统自动化赚钱

在软件卡密销售系统实现细节,你按我提供的资料,你就可以生成一个软件卡密销售系统的网页了,接下来是我做好的网站 (人还是懒,只上传了部分软件)

比如说,用户点 【立即购买】,进入下面的页面

选择套餐 【立即购买】

进入到支付页面,如下图

接下来用手机进行扫码

如下图,支付成功后会有一封邮件

做一个小结:

1、用户打开卡密网站

2、选择具体的软件产品

3、进入软件产品详情页

4、选择软件产品套餐

5、支付,在网页端收到卡密

6、用户邮箱收到卡密

软件卡密销售系统扩展

关于费用,如下图,我的签约开户费选的是微信支付 支付签约开启费88就可以了

我的邀请链接:https://z-pay.cn/?uid=21372,如果只是做国内平台,这个支付渠道其实是够的。

结合上周去生财有术航海家小红书大会,其实是可以考虑这个模式,不做成网站,可以做成小程序也是可以的。

搭建的费用成本不高,如下图,服务器只要33块一年

前期不想买域名,如下图,你可以先把网站发布到 vercel ,尽可能的快速跑起来

你想正式做,认真的做,买一个一级域名进行域名绑定就可以了。

纳瓦尔提到了三大杠杠:

第一种是劳动力杠杆,也就是让别人给你打工。

第二种是资本杠杆,也就是用钱来扩大决策的影响力。

第三种是“复制边际成本为零的产品”。

其中包括书籍、媒体、电影、代码。在所有不需要他人许可就能使用的杠杆中,代码可以说是最强大的一种,只需要一台计算机就够了。

特点之一就是,使用它们获得成功都无须经过他人的许可。

要使用劳动力杠杆,就得有人决定追随你。要使用资本杠杆,就得有人给你提供资金,你再去进行投资或开发产品。

而编程、写书、录播客、发推特、拍视频这些事情不需要经过任何人的许可。

网站其实已经集成了分销的功能,如下图,分销比例可以在后台设置

总结

我在2026年就是开发软件,不断往网站上挂我开发的网站,把网站发给有需要的用户,他们直接通过网站就可以直接付款,省时省力省心。

但是这一套系统,能让你最快回款,用户当天付费一般第二天,钱就到你账上了,所谓千鸟在林,不如一鸟在手,钱能尽快到你卡上最为心安。

补充说明:有不懂的问题,在下面评论区留言就好,如有意与我链接找鱼丸要我的微信。


社群里还有 1305 篇别人的实操复盘

体验卡免费,不花一分钱3 天看遍社群近 180 天全部内容正式加入 72 小时内无理由退款
生财有术体验卡
领取体验卡的二维码

长按保存这张二维码,打开微信扫一扫,从相册选这张图即可添加;电脑上直接用微信扫码。

我写的这些免费读。体验卡免费领,3 天内可以查阅社群近 180 天的全部内容。
站长专栏的其他文章
书情
非程序员入局AI编程实操复盘:从体验Claude Code到收集提示词的学习路径
2026-01-14 · 约 16517 字
读全文
书情
手把手教你如何填creem域名的邮件
2026-01-05 · 约 4585 字
读全文
书情
手把手教你用Claude Code开发YouTube视频搜索导出工具,小白也能变现
2025-12-03 · 约 61553 字
读全文