网页视频下载不求人:猫抓 Cat-Catch 资源嗅探扩展上手指南
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(Cat-Catch)是一款开源的浏览器资源嗅探扩展,能自动列出当前页面加载的视频、音频和 M3U8 流媒体地址,并提供解析器把分片视频合并下载,帮你把网页上"只能看、不能存"的资源保存下来。
为什么网页视频这么难下载
你在播放器里右键"另存为",得到的往往是一个几 KB 的占位文件。原因有三:
- 分片传输:主流平台普遍用 HLS(M3U8)或 DASH,一段视频被切成几百个小分片,直接下载链接根本拿不到完整文件。
- 动态加密:不少平台对分片做 AES 加密,密钥藏在播放脚本里,肉眼看不出来。
- 动态加载:视频地址是 JS 运行时生成的,刷新页面就变,传统"右键复制图片地址"的思路失效。
猫抓的思路是站在浏览器内部,把页面发出的每一个网络请求都过一遍筛子,只留下媒体资源给你。
快速上手:从安装到第一次成功下载
- 安装扩展:在 Chrome / Edge 扩展商店搜索"Cat-Catch"安装(Firefox 版需非国区 IP)。如果要用源码版本,先克隆仓库
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch,再到扩展管理页开启"开发者模式",点"加载已解压的扩展程序"选中该文件夹。 - 打开一个视频页:随便进一个带视频的网站,让视频播放几秒,触发资源加载。
- 点开猫抓图标:浏览器工具栏弹出资源面板,列表里会出现刚加载的媒体文件,带大小和类型。
- 点一下"下载":浏览器直接开始保存。如果你的目标是 M3U8 链接,点旁边的"解析"图标会打开专门的解析器(下面细讲)。
到这里,一次最普通的网页视频保存就完成了。
核心功能巡礼
M3U8 解析器 —— 分片视频的"缝合手术"普通下载器遇到.m3u8地址只能拿到一个几 KB 的播放列表文本。猫抓的解析器会列出全部切片和可用分辨率,并发下载所有分片,自动解密 AES 加密、合并输出为 MP4。这是它和普通"右键下载"类工具差距最大的地方。
深度搜索 —— 列表里什么都没有时的备选方案有些站点把资源藏在 JS 变量或加密字符串里,常规嗅探抓不到。深度搜索(catch-script/search.js)会把页面脚本整体扫描一遍,尝试还原出隐藏的资源地址和密钥。用法很简单:点猫抓图标旁的"深度搜索",等几秒看列表是否刷新出结果。代价是扫描耗时稍长,且个别页面会被脚本影响,遇到卡顿可以关掉重开。
自动下载与下载队列面板支持"自动下载":新捕获的资源自动入队保存,适合连续保存一整季课程。配合"仅保留大于 XX MB"这类过滤条件(设置里支持>100 KB、500-1000 MB这种范围表达式),可以把广告片头和小图标文件挡在队列外。
导出给 aria2 / 在线 FFmpeg下载慢或想转封装时,可以把任务一键"发送"到本地 aria2(走 RPC 协议)或在线 FFmpeg,省掉在浏览器里死磕带宽的环节。
侧边栏 + 键盘快捷键猫抓既能以弹出窗口使用,也能固定为侧边栏常驻(popup.html 同时注册了两者),边看视频边管理下载。快捷键里内置了暂停捕获、自动下载、深度搜索、清空列表等指令,配置见 manifest.json 的 commands 段。
它是如何工作的
原理一句话:扩展注入了网页的内容脚本,劫持了网络请求和媒体播放相关的方法调用,凡是符合媒体特征(MIME 类型、URL 形态、Data URI)的响应都会被收集并去重,最后交给后台脚本(service worker)统一管理。整个流程在浏览器本地完成。
| 模块 | 职责 |
|---|---|
| js/background.js | 后台主进程,管理下载、队列、扩展生命周期 |
| js/content-script.js | 注入每个页面,负责请求拦截与数据上报 |
| catch-script/catch.js | 页面内捕获引擎,含捕获面板 UI |
| catch-script/search.js | 深度搜索脚本,从页面脚本中挖隐藏资源 |
| js/m3u8.js | M3U8 解析器逻辑:分片下载、解密、合并 |
| js/popup.js | 弹出面板/侧边栏交互 |
| js/options.js | 选项页:过滤规则、下载设置等 |
实用技巧与常见坑点
- 列表是空的,先播放再刷新面板:猫抓只收集已经发生的请求,视频没点播放就抓不到东西。
- 同一链接大小不对:列表里的"大小"来自 Content-Length 头,流式响应经常显示 0 或偏小,以下载进度为准。
- M3U8 解析报 403:地址带鉴权且可能是一次性的,解析器已支持从缓存读取已捕获的 M3U8 数据,遇到报错先点"从缓存读取"重试。
- 过滤设置别写死:大小过滤支持表达式,比如
>50 MB,比手动一条条删高效。 - 老浏览器注意内核版本:2.0 系列要求 Chromium 93 以上,完整功能建议 104+,装不上或功能缺失先查版本。
- 伪猫抓要当心:商店里存在夹带广告的仿冒版本,安装前核对开发者信息与官方文档(cat-catch.94cat.com)给出的地址一致。
使用边界
所有嗅探与下载都在本地浏览器内完成,不向远程服务器上传数据,也不含任何跟踪器。但工具本身不解决版权问题:请只下载你拥有版权或已获授权的内容,商业用途和批量转载前先确认授权。站点方若不希望被抓取,可通过在仓库提 Issue(标题格式[Opt-Out Request] 域名)申请加入"避免抓取列表",后续版本会尊重该请求。
写在最后
装好、点图标、看列表、点下载——猫抓把"嗅探"这件以前需要开开发者工具的事,压缩成了四步。想深入了解实现细节,可以从下面几个入口入手:
- README.md:安装地址、兼容性说明与免责条款
- CHANGELOG.md:各版本功能演进,看新功能最快
- catch-script/:捕获引擎源码目录
- manifest.json:扩展权限与快捷键定义
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考