猫抓 Cat-Catch 浏览器资源嗅探扩展完整指南:三步安装,捕获网页视频并解析 M3U8 流
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(Cat-Catch)是一个开源的浏览器资源嗅探扩展。安装到 Chrome、Edge 或 Firefox 后,它会列出当前页面加载过的视频、音频和图片资源,并提供 M3U8 流媒体解析与合并下载。所有处理都在浏览器本地完成,不向远程服务器发送数据。如果你需要保存网页中的媒体文件、分析页面资源链接,或把分片流合并成完整视频,它可以免费使用,当前版本为 2.7.2。
快速开始:三步安装并完成第一次捕获
安装扩展
最短路径是应用商店安装:打开 Chrome 网上应用店或 Edge 加载项商店,搜索"猫抓 Cat-Catch",点击"添加到浏览器"即可。Firefox 用户可以在附加组件商店中安装,Firefox 的商店需要非国区 IP 访问。
如果想从源码安装,执行git clone https://gitcode.com/GitHub_Trending/ca/cat-catch,然后在扩展管理页面打开"开发者模式",点击"加载已解压的扩展程序"并选中克隆下来的文件夹。注意:应用商店里存在过混入广告代码的仿冒版本,请只从官方商店地址或源码安装。
完成第一次捕获
- 点击浏览器工具栏中的猫抓图标,确认扩展处于启用状态。
- 打开一个带视频的网页,让视频播放几秒,页面加载出的媒体请求会被记录。
- 再次点击猫抓图标打开弹出面板,在"当前页面"列表中勾选目标文件,点击下载按钮,浏览器随即开始保存。
功能详解:从捕获到下载的完整链路
资源捕获与列表管理
弹出面板分为三个标签:"当前页面"、"其他页面"和"媒体控制 / 其他功能"。捕获到的资源按条目列出,显示文件名、大小、MIME 类型、时长和分辨率,并附上完整的资源 URL。列表支持全选、反选、清空和自动下载,底部还提供模拟手机、录制脚本、设置等入口。注入所有 iframe 的内容脚本(js/content-script.js)负责在页面中收集请求,即使视频嵌在框架里也能被识别。
媒体预览与播放控制
"媒体控制"标签内置了一个轻量播放器,可以直接预览捕获到的视频,而不必等待下载完成。可用的操作包括正常播放、倍速播放、画中画、全屏、循环、静音和音量调节,还有截图功能。播放控制由 js/media-control.js 实现,配合 js/preview.js 的独立预览页,可以在下载前先确认文件内容是否是自己需要的那一段。
M3U8 流解析与分片合并
对采用 HLS 协议的在线视频,猫抓提供了独立的 M3U8 解析器(入口在解析菜单中,快捷键为m3u8)。粘贴 m3u8 播放列表地址后,解析器会拉取并展示所有 .ts 分片,同时给出文件总数、总时长和分辨率。解析结果可以下载显示内容、导出原始 m3u8 或 ts 列表,也可以按 mp4 格式合并下载。界面支持自定义线程数、保存文件名、下载范围、AES 解密密钥与偏移量(IV),加密流可以填入 16 进制或 base64 密钥后正常合并。解析逻辑位于 js/m3u8.js,分片解密使用了 lib/m3u8-decrypt.js,合并则依赖 lib/mux.js。
视频录制与屏幕捕捉
猫抓提供三类录制能力:录制网页中正在播放的视频、录制 WebRTC 通话(基于 catch-script/webrtc.js),以及屏幕捕捉。录制脚本本体在 catch-script/recorder.js 和 catch-script/recorder2.js 中,通过弹出面板底部的"录制脚本"按钮启动。适合保存直播片段或需要保留音频通道的通话内容。
下载管理与其他集成
下载核心由 js/downloader.js 负责,借助 lib/StreamSaver.js 实现浏览器内直存,不经过中间临时文件。除本地保存外,设置页还支持把任务交给外部程序:aria2 RPC 可以指定本地下载目录,m3u8dl 自定义协议和"调用程序"功能可以把解析参数交给 ffmpeg 等外部工具,MQTT 模块则用于把资源信息推送到自己的服务。替换标签功能允许在下载文件名中插入页面标题、时间等变量。
上手工作流:三个典型用法
从普通页面保存 MP4 视频
以微博视频为例:打开视频页并播放,猫抓会在列表中记录该视频请求。弹出面板中可以看到文件名、大小(例如 10.2MB)、MIME 类型 video/mp4、时长 00:28 和 1280x720 分辨率。勾选目标条目后点击预览按钮确认内容,再点下载即可保存原文件。整个过程不需要复制任何 URL。
把 M3U8 分片流合并成 MP4
适用于课程、直播回放等分段加载的视频。打开 M3U8 解析器,把页面中捕获到的 m3u8 地址粘贴进输入框,解析器列出全部 ts 分片并显示"共 64 个文件,总时长 10:34,分辨率 1280x720"这类汇总信息。确认无误后,在底部勾选"mp4 格式,只要视频",设置线程数(建议 4–8 线程),点击合并下载。若提示密钥缺失,说明流带 AES 加密,可在密钥栏填入 16 进制或 base64 密钥后重试,也可以使用深度搜索功能尝试自动提取密钥。
录制正在进行的直播
直播流一般只保留最近若干分钟的切片,无法像点播那样完整下载,录制是更可靠的方式。在直播页面点击"录制脚本",选择录制网页视频或 WebRTC 通道,录制会保存在浏览器本地。结束后在弹出的文件提示中保存即可。注意录制依赖标签页保持前台活跃,切换页面或关闭标签会中断录制。
常见问题
猫抓能捕获哪些格式的文件?常见的 MP4、WebM、M3U8(HLS)可以直接处理,MPD(DASH)有专门的 MPD 解析器(js/mpd.js),音频格式如 MP3、AAC 也会出现在列表中。带 DRM 加密保护的流不在支持范围内。
为什么列表里没有任何资源?常见原因是扩展未启用或浏览器内核过低。1.0.17 之后的版本要求 Chromium 内核 93 以上,想使用完整功能建议 104 以上。处理办法是更新浏览器,或在扩展管理页点击"重新加载"后再刷新目标页面。
猫抓会收集或使用我的数据吗?不会。捕获记录、下载配置都保存在浏览器本地存储中,扩展不包含跟踪器,源码为 GPL-3.0 开源,可自行审查。
下载经常失败怎么办?
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 列表为空 | 扩展未启用 / 内核版本低 | 重新加载扩展,升级浏览器内核到 93 以上 |
| M3U8 解析失败 | 流带 AES 加密且未提供密钥 | 填入密钥与偏移量,或用深度搜索提取密钥 |
| 合并后分片缺失 | 网络中断或服务器限速 | 降低线程数,解析器对出错分片会自动重试 |
| 弹出面板打不开 | 扩展状态异常 | 使用"重启扩展"快捷键恢复 |
进阶设置与源码结构
想调整捕获行为的用户,入口在弹出面板的"设置"按钮或 options.html 设置页(由 js/options.js 驱动),主要分组包括:文件后缀过滤、MIME 类型过滤、大小过滤(支持>100 KB、500-1000 MB这类表达式)、正则匹配与屏蔽资源、屏蔽 URL 列表,以及自定义 CSS。
源码结构方面:后台逻辑在 js/background.js(MV3 service worker),捕获核心在 catch-script/catch.js,URL 深度搜索在 catch-script/search.js,多语言文案集中在 _locales/ 目录,覆盖简体中文、繁体中文、英语、日语、韩语、西班牙语、俄语、葡萄牙语(巴西)、土耳其语和越南语,tools/sync-locales.js 是同步各语言文件的辅助脚本。界面语言跟随浏览器自动切换。
结语
猫抓 Cat-Catch 把"发现网页资源、解析流媒体、合并下载"三件事放在同一个浏览器扩展里完成,无需安装额外服务端,本地处理也避免了资源信息经过第三方。对普通用户,资源列表加播放器就够用了;对开发者,设置页的正则过滤与 m3u8dl 协议可以进一步自定义流程。最后提醒:猫抓仅供保存你拥有版权或已获授权的内容,请遵守相关法律法规和各网站的服务条款。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考