猫抓浏览器扩展完整指南:从网页视频嗅探到 M3U8 合并下载全流程
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(cat-catch)是一个开源免费的浏览器资源嗅探扩展:它能列出当前网页加载中的视频、音频和图片,把 m3u8、mpd 这类分片流合并成完整文件,还能自动下载、跨设备发送。下文按"装好 → 首抓 → 拆能力 → 调参 → 排错"的顺序走一遍,看完你就能独立跑通整条链路。
从一个卡住的下载开始:猫抓解决什么问题
先看一个具体场景:你在某个课程平台上一节 40 分钟的课,右键"另存为"只得到一个几百 KB 的 html 文件;F12 翻 Network 面板,发现视频是一串.ts分片加一个.m3u8描述文件,还带着EXT-X-KEY加密标记——直接复制地址毫无意义。
猫抓就是为这类场景做的:它的嗅探脚本 catch-script/catch.js 在页面加载阶段就监听所有网络请求,把符合媒体特征的地址(mp4、webm、ts、m4s、m3u8、常见图片格式)逐条收进列表,你在工具栏点一下图标就能看到全部可下载资源,不用再去 Network 面板里人肉翻。
| 你的情况 | 猫抓能帮上什么 |
|---|---|
| 视频藏在分片流里(HLS/DASH) | 内置解析器自动拉取分片、合并、解密 |
| 列表里一堆缩略图干扰 | 按大小、扩展名过滤,只看真实媒体 |
| 想批量存整个栏目 | 全选/反选 + 合并下载 + 自动下载 |
| 电脑抓到、手机上看 | 二维码、发送按钮跨端传递 |
它适合谁:需要把自己有权下载的内容(购买课程、CC 授权素材、自己上传的作品备份)离线保存的用户,以及做流媒体测试、排查媒体链路的开发者。
装起来:三种安装方式与版本要求
按你的使用习惯选一条路,装完就能用。
| 途径 | 适合谁 | 关键步骤 |
|---|---|---|
| 应用商店 | 普通用户 | 在 Chrome 网上应用店 / Edge 加载项 / Firefox 附加组件里搜"猫抓",一键安装 |
| 源码加载 | 开发者 | 克隆仓库 → 扩展管理页打开"开发者模式" → "加载已解压的扩展程序"选中目录 |
| CRX 文件 | 要固定版本的人 | 从 Releases 页保存 crx 文件,打开开发者模式后拖入扩展管理页 |
源码安装用的仓库地址:
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch版本兼容性(写死在 manifest.json 里):
- 1.0.17 之后要求 Chromium 内核 ≥ 93,旧内核请用 1.0.16。
- 侧边栏等完整功能建议内核 ≥ 104。
安全提醒:猫抓是开源的,任何人都能改代码后打包上架,市面上已有夹带广告的伪猫抓。装之前认准官方渠道,避免你嗅探到的资源流被二次截获。
第一次把它用对:最小可用流程
第一次别急着上流媒体,先抓一个普通 mp4 把流程走顺。
- 打开一个有视频的页面,正常播放或滚动,让它把资源加载出来。
- 点工具栏的猫抓图标,打开面板。
- 在"当前页面"标签下看本页捕获的资源;"其他页面"标签汇总其他标签页的数据。
- 不确定的先点单项的预览按钮确认内容,再勾选目标 → 点底部"下载"。
- 列表被缩略图淹没时,用顶部的过滤条件按大小、扩展名筛一遍。
两个高频问题的快速自救:
- 列表是空的:多半是延迟加载或需要交互才触发请求。滚动一下、点一下播放,再回面板看;还不行就点"深度搜索"从页面脚本里挖地址。
- 下载失败:先查网络和磁盘空间;如果资源地址带时效 token,刷新页面重新抓一次再下。
核心能力逐个讲
M3U8 解析器:分片流合并与 AES-128 解密
能力:处理 HLS 流。入口在面板的"功能"区,点 m3u8 资源旁的解析按钮,或直接在 M3U8 解析器里粘贴地址。
它替你省了什么:不用手动读 playlist、不用自己写脚本拉几百个 ts 分片、不用处理加密逻辑。解析器自动识别分片列表、按序拉取、拼回完整文件;流带EXT-X-KEY时会自动定位密钥,显示"寻找到疑似密钥"提示,找不到时可以手动填(支持 16 进制、base64 或密钥地址),也可以点深度搜索从页面里挖。只想要声音的场景勾选"只要音频",省掉视频分片;不需要整片时用"下载范围"只取一段序号区间。
怎么操作:选中 m3u8 资源 → 解析 → 看到"切片列表 / 下载范围 / 加密算法"区域 → 必要时填密钥 → 点"开始",进度条走完即合并完成。
一个常见坑:很多平台的 m3u8 地址是"一次性"的,带时效 token,过期即 404。猫抓会从浏览器缓存里回填 m3u8 内容来规避这个问题;遇到失败就刷新页面重新抓地址。
MPD 解析器:DASH 流处理
能力:处理 DASH(mpd 描述文件)流,与 m3u8 解析器并列在"功能"区。
它替你省了什么:mpd 里音、视频是独立轨道,手动合并极易错位。解析器会展示可选的视频/音频轨道,你勾选组合后一键拉取合并,省去自己对齐时间戳的工作。
怎么操作:选中 mpd 资源 → 打开 MPD 解析器 → 选择音视频轨道 → 合并下载,流程与 m3u8 一致。
本地下载器:合并、转码、断点重下
能力:面板的"下载器"入口(页面 downloader.html,逻辑在 js/downloader.js),是猫抓下载链路的核心。
它替你省了什么:
- 合并下载:多个分片资源按顺序合成一个文件,不用自己 cat。
- 失败重下:单个分片挂了只"重下失败项",不用整片重来。
- mp4 转码:勾选"mp4格式"后调用在线 ffmpeg 转换(HEVC/H.265 切片只支持走这条路),产出标准 mp4。
- 直播录制:直播流可以"录制直播"按指定时长落盘。
怎么操作:勾选资源 → 点"下载"直接开始;需要控制参数时走下载器页面,设线程数、是否"边下边存"(大文件落盘不占内存)。
预览与本地播放器调用
能力:单项"播放"按钮先在浏览器内确认内容;"媒体控制"区还能做倍速、画中画、全屏、截图、循环播放。
它替你省了什么:不用把可疑资源下完才发现是广告素材——先预览 30 秒就能排除。
怎么操作:点单项播放按钮确认;确认无误后再下载。此外在设置页可以配置"调用协议模板",把资源直接唤起给 PotPlayer、MX Player、VLC 或系统分享,模板语法见 js/options.js。
发送与跨端:二维码、MQTT、aria2
能力:面板里每个资源都有一组发送按钮——复制到剪贴板、生成二维码、发送到 MQTT、发送到 aria2 / m3u8DL 等第三方下载工具。
它替你省了什么:不用数据线传文件,也不用手动把长 URL 从电脑屏幕抄到手机。
怎么操作:选中资源 → 点二维码按钮 → 手机扫码即可在另一端打开该地址。注意传输的是链接而非文件流,弱网环境下别指望秒开;MQTT 发送走配置页里填的代理地址,适合自搭自动化链路。
用得更顺:批量、自动与多语言
批量下载:列表顶部支持全选/反选,勾完一次"下载";多个分片资源用"合并下载"按序合成;配合"自动下载"开关,命中过滤规则的资源无需手动确认直接落盘(规则来源见 js/init.js)。
跨设备:Edge Android 端可以配合二维码把任务续到手机端,电脑抓、手机看的闭环就这样成立。
自动化:设置页可以配置"下载完自动关闭页面""后台打开下载器页面",跑批量任务时不用守着窗口。
多语言与格式覆盖:
| 维度 | 支持情况 |
|---|---|
| 媒体格式 | MP4、WebM、M3U8、MPD、TS、M4S 及常见图片/音频 |
| 界面语言 | 简中、繁中、英、日、韩、俄、西、葡(巴)、土、越、法,共 11 种 |
| 切换位置 | 设置页"语言"项,改动后重启扩展生效 |
语言包就在 _locales/ 目录下,每种语言一个 messages.json,想确认某个按钮的准确叫法可以直接翻。
参数怎么调:常用配置与源码速查
设置页(options.html)里最常动的几项:
| 配置项 | 作用 | 建议 |
|---|---|---|
| 下载目录 | 指定落盘位置 | 单独建"猫抓"文件夹,按视频/音频/图片分子目录 |
| 过滤规则 | 按扩展名/类型/正则 + 大小区间筛资源 | 用>100 KB这类表达式滤掉缩略图,正则黑名单挡广告 |
| 自动下载 | 命中规则即自动保存 | 只在信任站点开,避免误抓 |
| 自定义保存文件名 | 模板化命名 | "标题+日期",去重省事 |
| 代理 | 指定网络出口 | 只有资源需要代理出口时才配 |
| 阻止 URL 规则 | 黑名单屏蔽特定站点 | 配合"避免抓取列表"使用 |
| 导出/导入配置 | 设置备份迁移 | 换电脑前导出一份 |
关键源码模块速查(排查时按需深挖):
| 模块 | 文件 |
|---|---|
| 嗅探引擎 | catch-script/catch.js |
| M3U8 解析 | js/m3u8.js |
| MPD 解析 | js/mpd.js |
| 下载管理 | js/downloader.js |
| 面板逻辑 | popup.html + js/popup.js |
| 流媒体库 | lib/hls.min.js、lib/mpd-parser.min.js、lib/mux.min.js |
| 文件落盘 | lib/StreamSaver.js |
出问题了先查这
| 症状 | 原因 | 处理 |
|---|---|---|
| 列表为空 | 延迟加载、未触发交互 | 滚动/点播放后重看;仍为空则点"深度搜索" |
| 下载失败 | 一次性 URL 过期、网络或磁盘问题 | 刷新页面重新抓地址;检查磁盘空间 |
| 合并后花屏/无声 | 密钥没填对,或只勾了视频组没勾音频 | 补密钥;确认音视频组都勾选 |
| 提示"找不到ADTS头" | 切片是 AES-128-ECB 加密 | 目前无法本地解密,改用第三方合并工具 |
| 提示"加密HLS"无法处理 | SAMPLE-AES-CTR 加密 | 同上,走第三方工具 |
| Firefox 上少了某些按钮 | 浏览器 API 差异,按钮被隐藏 | 属正常现象,不是 bug |
| 老浏览器功能不全 | 内核低于 93/104 | 升级浏览器,或换 1.0.16 旧版兜底 |
另外提示一句:遇到 DRM 保护的媒体,猫抓会直接提示"媒体有DRM保护,请使用第三方工具下载"——这是有意的设计,别试图硬绕。
两条红线:隐私与版权
隐私方面:猫抓的嗅探、合并、解密、记录全部在你本地浏览器完成,所有信息本地存储处理,不发送远程服务器,不含任何跟踪器。不放心的话直接翻源码核对,逻辑都摆在 js/ 目录里。
版权方面:本工具只提供下载能力,不替你判断内容是否可下载。守住这条线:
- 只下载你自己拥有版权、或已获得明确授权的内容:购买的课程、自己上传的作品备份、CC 等开放协议允许保存的素材。
- 不批量抓取受版权保护、未获授权的商业内容。
- 不绕过 DRM 保护。
法律责任由使用者自行承担,开发者不对具体行为负责。网站方若不希望被嗅探,可以按项目说明提交 Opt-Out 请求,将其域名加入"避免抓取列表"。
用久一点:维护与收尾建议
- 定期更新:开源项目持续修 bug、加语言,Releases 有新版本就升级。
- 分目录归档:视频/音频/图片各一个子文件夹,命名模板统一,找素材不靠翻。
- 谨慎开自动下载:只在信任站点或明确规则下启用,广告素材误抓的锅得自己背。
- 形成闭环:下载完导入剪辑软件、媒体管理器或云盘,"抓 → 存 → 用"三步走。
工具的价值边界很清楚:猫抓帮你省掉翻 Network 面板、写合并脚本、对时间戳这些重复劳动,但它替代不了你对内容归属的判断。装好之后,先在一个你确定有下载权的页面上把"抓 → 解析 → 落盘"完整走一遍,流程熟了,再上 M3U8、批量和跨端这些进阶玩法。守住这条线,猫抓会是一个用得久的帮手。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考