猫抓 cat-catch:从媒体资源嗅探到批量下载的完整链路,免费开源的浏览器扩展
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(cat-catch)是一款免费开源的浏览器媒体捕获扩展。装好后它会嗅探当前页面的视频、音频资源链接,能解析并合并 M3U8、MPD 流媒体,也支持批量下载与外部程序联动。所有数据只在本地存储与处理,不会上传到任何远程服务器。
先选安装路径:应用商店、源码或 CRX
应用商店一键安装
打开 Chrome 网上应用商店或 Edge 加载项商店,搜索 "cat-catch" 或"猫抓",点击添加并确认权限即可。Firefox 也有对应商店版本(需非国区网络访问)。这是最省心的方式,商店推送更新,无需手动维护。
开发者模式加载源码
想跟最新功能或自己改代码,走源码路线:
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch然后打开扩展管理页,勾选"开发者模式",点击"加载已解压的扩展程序"并选中克隆下来的 cat-catch 目录。代码有改动后在扩展页点重新加载就能生效。注意兼容基线:1.0.17 之后要求 Chromium 内核 93 以上,想体验完整功能建议 104 以上。
离线环境用 CRX 拖入安装
从项目 Releases 页把 CRX 文件另存为到本地(直接点击下载会被浏览器拦截,需右键另存为),再打开扩展管理页,同样先开开发者模式,把 CRX 文件拖进页面即完成安装,适合无外网的离线机器。
移动端同样可用:在安卓版 Edge 里安装后,扫描项目内这张二维码即可快速到达,方便在手机上回看已捕获的资源。
捕获链路:列出、筛选与深度搜索
打开包含视频的网页后,点击工具栏的猫抓图标,资源列表按"当前页面 / 其他页面"分组展示,每条记录带上格式、大小等信息,可直接预览播放。
按后缀、类型与大小过滤
options.html 里可以维护后缀白名单(mp4、webm、m4a 等)、MIME 类型与正则匹配规则,每项还能挂独立的大小过滤条件,支持>100 KB、500-1000 MB这类表达式写法。列表页另有快捷筛选框与"只看可播放"开关,长列表能快速收敛到目标文件。
深度搜索与 WebRTC 录制
常规嗅探拿不到时,点"深度搜索"触发一轮更彻底的抓取(对应 catch-script/search.js)。对于 WebRTC 直播这类没有直接下载链接的流,内置录制能力可把实时画面录成本地文件,相关逻辑在 catch-script/webrtc.js 与 catch-script/recorder.js。
M3U8/MPD 流媒体解析与合并下载
M3U8 分片解析流程
在线视频常被切成大量 TS 分片按需加载,直接保存播放地址拿不到完整文件。在列表里对 M3U8 资源点"解析",打开专门的解析器:它读取播放列表、列出分片、逐段下载,完成后自动合并为一个完整视频。
几个实用细节:勾选 mp4 格式可直接输出 mp4 后缀;"数据预处理"可剔除分片中的图片数据;下载出错会自动重试;播放列表从缓存读取,能绕过"一次性 URL"失效的问题;还支持 EXT-X-BYTERANGE 类型的合并下载。核心逻辑见 js/m3u8.js,解密与解复用依赖 lib/ 里的 m3u8-decrypt 与 mux.js。
MPD 与其他流格式
对 DASH 的 MPD 格式,内置解析器可读取 manifest 并按表示(representation)下载音视频轨,处理逻辑在 js/mpd.js,解析库为 lib/mpd-parser.min.js。此外还有 JSON 格式化预览页(json.html)用于查看接口返回的资源描述。
批处理:多选、下载与自定义命名
批量选择与批量下载
资源列表支持全选、反选与按筛选条件圈定,一次勾选多个文件后统一下载,也可逐条复制链接到剪贴板、或在 preview.html 预览页直接试播。批量场景下不必再逐个点击。
命名规则与替换标签
下载文件名支持自定义模板,替换标签可嵌套使用(如页面标题、资源后缀、序号等变量)。模板语法在设置页有独立小节可调,复杂标签写法与旧版预期可能不同,升级后值得核对一遍。命名规则配合批量下载,可避免同名覆盖与杂乱文件。
调优体验:设置项、快捷键与外部程序
设置页关键项
设置页按锚点分区,常用项包括:后缀/类型/正则/URL 屏蔽四类过滤,录制脚本行为,复制内容格式,本地发送目标,m3u8dl 自定义协议,外部程序调用参数,替换标签,下载器参数,M3U8 解析器选项,以及自定义 CSS 等。另有"倒序排列"选项,让新捕获的资源置顶显示。
快捷键命令
manifest.json 里注册了可绑定按键的命令:暂停/恢复捕获、自动下载、缓存捕获、M3U8 解析、清空、重启扩展、深度搜索、预览播放。在浏览器的快捷键设置页给它们绑定组合键,重复操作可以不碰鼠标。
外部程序调用:aria2、ffmpeg 与 MQTT
设置页可把任务交给本地下载器或转码程序:aria2 走 RPC 提交并支持指定下载目录,ffmpeg 用于转码场景,还可以按 m3u8dl 协议或"调用程序"配置把参数交给外部工具;MQTT 分区则把捕获结果推送到自建的 Broker 上,适合组内分发。
排障、源码结构与版本更新
常见问题排查
- 图标没反应或列表为空:确认扩展未被禁用,刷新页面后重新捕获;内核低于 93 的浏览器请回退到 1.0.16。
- 捕获不到目标资源:先用深度搜索;仍无结果时检查是否命中了 URL 屏蔽规则或网站在避免抓取列表中。
- 下载中断或变慢:减少并发任务,调低解析器线程数;M3U8 出错会自动重试,可优先等待重试完成。
- 弹出页打不开:重启扩展(快捷键已内置)通常能恢复。
目录结构与核心模块路径
cat-catch/ ├── manifest.json # 扩展清单,MV3 配置与权限 ├── popup.html / popup.js # 弹出窗口与资源列表 ├── options.html / options.js # 设置页 ├── js/ │ ├── background.js # Service Worker,后台调度 │ ├── content-script.js # 注入页面捕获请求 │ ├── m3u8.js / mpd.js # 流媒体解析器 │ └── downloader.js # 下载任务 ├── catch-script/ # 页面端嗅探、深搜、WebRTC 录制 ├── _locales/ # 9 种语言的多语言文案 ├── lib/ # hls.js、mux.js 等第三方库 └── tools/sync-locales.js # 本地化同步脚本想深入某块行为,从 js/background.js 的调度入口和 catch-script/catch.js 的捕获主逻辑读起最顺。
社区参与与版本更新
项目采用 GPL-3.0 许可(LICENSE)。CHANGELOG.md 记录了每个版本的增删改,建议升级前扫一眼;多语言文案放在 _locales/ 目录,补充翻译可以直接从 i18n 入手。网站运营方若不希望被嗅探,可提 Issue 申请加入避免抓取列表,标题格式为[Opt-Out Request] 你的域名。
最后提醒:请只下载你拥有版权或已获授权的内容,受版权保护且未获授权的视频不要用于抓取与分发,使用本工具产生的法律责任由使用者自行承担。猫抓按"原样"提供,数据全部留在本地,不含任何跟踪器——按上面的链路走一遍,从嗅探到合并下载就能跑通了。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考