五分钟跑通猫抓:浏览器资源嗅探与 M3U8 流媒体下载
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(cat-catch)是一个浏览器资源嗅探扩展,负责把当前页面正在加载的媒体资源筛选出来,让你能预览并下载它们。它在浏览器内完成请求捕获与解析,按作者说明,捕获的数据全部本地存储,不发送到远程服务器,也不含任何跟踪器。
它是怎么工作的
猫抓由三部分组成:注入页面的 Content Script、后台 service worker,以及一组功能页面。页面加载时,catch-script/catch.js 会在document_start阶段接管页面,后台则通过webRequest监听网络请求,逐个检查响应的 Content-Type 与资源大小,把符合"媒体特征"的请求记入捕获列表;对走 MediaSource(MSE)动态加载的播放,脚本会代理 MediaSource 接口,把缓冲中的片段也纳入捕获范围。命中 M3U8 或 MPD 时,资源会被送往对应解析器:解析器在本地读取播放列表,把成百上千个 TS 分片并行取回并合并成一个文件,加密内容则先解密再输出。
这意味着你可以在打开视频页的几秒内拿到可直接下载的文件列表,而不是对着开发者工具逐条排查请求。
安装与第一次嗅探
最省事的方式是去 Chrome 网上应用店搜索"猫抓"或扩展 IDjfedfbgedapdagkghmgibemcoggfppbb,点击安装。作者特别提醒:猫抓是开源的,应用商店里存在被加入广告代码的仿冒版本,安装前核对一下发布者与描述。
想跟进最新版或改代码,走源码安装:
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch然后打开chrome://extensions/,开启右上角"开发者模式",点"加载已解压的扩展程序"选中刚克隆的目录。第三种方式是把 Releases 里的 crx 文件右键另存为后直接拖进扩展页面。
装好后随便打开一个有视频播放的网页,点工具栏的猫抓图标,弹出列表里会按大小、格式列出捕获到的资源,勾选后点下载即可;新版还支持以侧边栏常驻形式打开面板。根据 manifest,完整功能建议 Chromium 内核 104 以上,最低 93。
猫抓捕获列表与下载操作
核心能力一览
| 能力 | 解决的问题 | 典型输入 → 输出 |
|---|---|---|
| 资源嗅探与捕获 | 网页媒体直链藏在动态请求里,右键保存不到 | 播放过的页面 → 按大小排序的媒体列表,可直接下载或预览 |
| M3U8 解析下载 | HLS 流由成百上千个 TS 分片组成,无法右键保存 | 一个 m3u8 地址 → 合并后的 MP4 或 MP3,支持 AES-128 解密 |
| MPD 解析 | DASH 流同样无法直接保存 | 一个 mpd 地址 → 可播放的本地文件 |
| 在线 ffmpeg 转码 | 抓下来的格式兼容性差、想抽音频 | 任意已捕获媒体 → 转码后的目标格式 |
| aria2 / MQTT 发送 | 浏览器关标签页任务就没了,想要后台下载 | 媒体任务 → aria2 后台任务或 MQTT 消息 |
- m3u8 解析器支持分片并行下载、出错自动重试、按范围或逐片勾选下载(2.6.8 起),并兼容
EXT-X-BYTERANGE标签;2.7.2 起还能隐藏已下载成功的切片、给新捕获资源倒序排列。 - 录制脚本(含 catch-script/webrtc.js)用来处理 WebRTC 通话类页面,配合"深度搜索"覆盖常规嗅探抓不到的情况。
- Firefox 上部分功能受限(2.7.1 才集中修了一批兼容问题),低版本 Chromium 内核功能不完整。
M3U8 解析与合并下载
三个真实用法
最基础的场景是保存一个 B 站或网课平台的视频:把视频完整播放一遍,点开猫抓,列表里通常能同时看到多个码率的 mp4,选 1080P 那一条先点预览确认画质,再下载。命名模板会按你配置的标签把页面标题替换进文件名,省掉重命名环节。
更典型的是 M3U8 课件合并。把解析出来的 m3u8 地址送进解析器,它会在本地并行拉分片;带加密的流先解密再合并,勾选 MP4 格式后输出可直接进剪辑软件的成片。2.7.2 版本支持隐藏已下载成功的切片,配合分片出错自动重试,长列表的合并任务不用盯着进度条。
分片选择与格式输出选项
第三类是批量抓播客:在设置里把过滤大小设为>500 KB,把图标和短音频片段挡在门外,然后在捕获列表里全选、批量下载。文件多到不想让浏览器挂着时,可以勾选发送到本地 aria2,标签页关掉任务照样跑,转码环节则交给嵌套的在线 ffmpeg 模式。
配置与进阶
options.html 里最能影响体验的是三项。
一是过滤大小。2.6.8 起支持表达式与范围,写法如>100 KB、<1 GB、500-1000 MB。日常嗅探网页建议至少设>100 KB,能把绝大多数图标、占位图挡掉,列表干净很多。
过滤大小: >100 KB # 只显示大于 100KB 的资源 捕获类型: 视频, m3u8 # 按需关闭音频或图片捕获 倒序排列: 开 # 最新捕获的资源排在列表顶部二是捕获类型开关,只留你关心的类型,捕获列表短、干扰少。三是屏蔽列表(2.6.5 起),可以按站点粒度关闭嗅探;作者也为网站方保留了[Opt-Out Request]提交流程。
完整配置参考 options.html,嗅探逻辑源码见 catch-script/。
遇到问题时
如果你发现播放了视频、捕获列表却是空的,大概率是视频走了 WebRTC 或纯 MSE 动态加载,试试开"深度搜索",或让猫抓的录制脚本接管该页面再下载。
如果你合并出的 M3U8 文件没有声音,最常见原因是音轨和画面是两条独立流、你只下了画面流,试试在解析器里选中对应的音频流一起下载合并。
如果加载源码版后功能残缺或提示版本不符,大概率是内核太低——1.0.17 之后要求 Chromium 93 以上,完整功能要 104 以上,老内核请装 1.0.16。
适合谁,不适合谁
适合:
- 经常需要从网页保存课程、播客、素材的普通用户
- 需要把 M3U8 / MPD 转成 MP4 再进剪辑流程的人
- 对隐私敏感、希望捕获数据完全留在本地的用户
- 想把下载任务接到 aria2、ffmpeg、MQTT 做联动的进阶用户
不适合:
- 需要服务端并发抓取上千个链接的批量任务
- Chromium 内核低于 93 且不愿升级的用户
- 只需右键保存静态图片直链的场景,浏览器原生就够
写在最后
当前版本为 2.7.2(2.7.x 连续更新了 m3u8 解析器与多语言支持),许可证为 GPL-3.0,作者要求基于源码二次分发的扩展保持开源。工具只应指向你拥有版权或已获授权的内容。建议先在一个普通视频页把嗅探跑通,再进 M3U8 解析器试一次合并,按需调过滤大小即可。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考