ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

猫抓Cat-Catch:浏览器资源嗅探扩展指南

2026/9/6 20:51:44 拓冰建站 浏览量
猫抓Cat-Catch:浏览器资源嗅探扩展指南 猫抓Cat-Catch浏览器资源嗅探扩展指南【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch视频在播下载按钮却消失了你在核对一份客户发来的样片视频。链接打开视频正常播放但右键菜单是空的页面上没有下载入口开发者工具里的 URL 一复制就失效。这个时刻你需要猫抓Cat-Catch——一个浏览器资源嗅探扩展。它不破解页面只是默默看着浏览器网络层发生的每一次请求把媒体资源从页面加载流程里直接捞出来变成你能下载的文件。猫抓能做什么能力边界一览猫抓是一款开源的浏览器资源嗅探扩展用于筛选、列出并下载当前页面加载的所有媒体资源。被动嗅探自动识别页面加载的音频、视频、图片等媒体文件主动捕获代理 MediaSource 接口逐片记录动态加载的加密流媒体m3u8 解析解析播放列表、识别 AES-128 密钥、多线程合并下载多协议支持覆盖 HLS、DASHmpd、WebRTC 和普通 HTTP 文件外部下载器对接推送 Aria2 RPC或通过 m3u8dl:// 协议调用 N_m3u8DL-CLI在线转码发送到在线 ffmpeg 合并转成 mp4多语言界面官方内置中、英、日、西等十种语言下载一个正在播放的视频完整走一遍流程用法本身很简单在 Chrome 或 Edge 商店搜索Cat-Catch安装打开带视频的页面点击工具栏猫爪图标在弹出列表里勾选资源、点下载。理解这个项目的关键在于列表里的资源是怎么来的背后是两套互补的机制在协同。第一层是网络层监听。扩展通过 webRequest API在 manifest.json 的权限声明里可以查到监听页面发出的每个请求当响应的 Content-Type 或 URL 命中媒体规则时就把地址记入当前标签页的资源列表。静态的 mp4、图片、音频基本在这一层就被抓到了——所以你打开扩展图标列表往往已经就绪不需要刷新或手动触发。第二层是媒体层代理。很多网站的视频并不是一个完整的 mp4而是通过 MediaSource 接口把分片逐块喂给video标签——网络层根本看不到完整文件。猫抓的做法是在注入脚本 catch-script/catch.js 里用 Proxy 重写 MediaSource 的 addSourceBuffer 和 appendBuffer 方法把每次追加的分片数据记录下来。关键入口是 CatCatcher 类的 proxyMediaSourceMethods 方法模块职责大致是catch-script/catch.js 模块职责 ├── 代理 addSourceBuffer / appendBuffer记录视频分片 ├── 管理捕获开关与已捕获数据量 ├── 达到 1GB 阈值时自动触发下载 └── 文件名获取页面标题 / 正则提取所以普通嗅探工具抓不到的视频猫抓能抓到前者只盯着网络层后者把媒体层这条路径也补上了。当视频变成几百个分片m3u8 解析器的取舍更棘手的场景页面给你的只是一个 .m3u8 播放列表——它本身不含视频只是一份列出几十到上千个 .ts 分片地址的菜单里面还可能声明 AES-128 密钥。直接下载毫无意义这时候需要 m3u8 解析器js/m3u8.js。工作流分三步解析与校验拉取播放列表读取总时长、分辨率、预估文件大小识别密钥与加密方式密钥处理用深度搜索脚本catch-script/search.js从页面数据里找疑似密钥或手动填写十六进制 / base64 密钥并发下载最多 6 线程支持断点重试、任意切片勾选、合并结果可推给 Aria2 或在线 ffmpeg 转 mp4这里有个刻意的取舍线程上限被限制在 62.4.7 版本起调整。线程越多下载越快但对目标服务器的压力也越大。猫抓选择把下载体验和不把别人的网站搞崩放在同一优先级。另一个容易被忽视的问题叫一次性 URL播放列表地址只在页面存活期间有效复制到别的工具里就失效。2.7.0 起解析器直接从浏览器缓存读取 m3u8 内容并连同来源页的 Referer 与自定义请求头一起传递——专治这类链接一拷贝就作废的场景。⚡猫抓是怎么长出来的三个改变方向的转折点问题Service Worker 会被杀死。Manifest V3 要求扩展后台使用 Service Worker浏览器会在空闲约 5 分钟后强制终止它扩展状态随之丢失。选择1.0.24 起加入 Heart Beat 心跳机制内容脚本与后台保持低频通信维持存活后台还会周期性自我唤醒——js/background.js 文件开头那段 HeartBeat port 逻辑就是干这个的。代价这本质上是对浏览器省电机制的对抗开发者在 2.0.0 日志里直白地写继续用肮脏的手段对抗 Manifest V3。所以哪怕你长时间挂着页面捕获到的资源列表也不会突然清空。问题高频读写拖垮扩展。storage.local 在高频率读写下出现 IO 错误直接导致扩展不可用。选择2.5.3 起改用 storage.session。代价会话级存储天然不持久——团队用一部分持久性换来了稳定而导入 / 导出配置功能接过了持久化的需求。问题被动嗅探抓不到动态视频。2.0.0 的更新日志写得很直白视频捕获功能解决被动嗅探无法下载视频的问题。选择引入上面说的 MediaSource 代理机制。代价注入脚本会介入页面自身的运行——更新日志里深度搜索导致网页无法正常使用这类修复反复出现抓得全和不弄坏页面的平衡是逐版本磨出来的。上手从安装到第一次下载在 Chrome 网上应用店或 Edge 插件商店搜索Cat-Catch安装Firefox 也支持打开任意含媒体内容的页面点击工具栏猫爪图标在资源列表中筛选、勾选、下载可选想看源码git clone https://gitcode.com/GitHub_Trending/ca/cat-catch打开浏览器扩展程序页开启开发者模式点击加载已解压的扩展程序选中项目文件夹源码阅读入口catch-script/catch.js嗅探核心MediaSource 代理js/m3u8.jsm3u8 解析与多线程下载js/downloader.js下载逻辑js/background.js后台运行与心跳机制catch-script/search.js密钥深度搜索脚本留给你的一个问题随着 DRM 加密和反嗅探手段越来越精密浏览器内的媒体处理工具会不会陷入无休止的猫鼠游戏也许答案在猫抓已经走出的方向里引入 MQTT 协议把资源推送到云端让浏览器成为加工车间而不是终点站。【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考