猫抓:浏览器资源嗅探扩展快速上手指南
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
刷网页时你是否碰到过这种情况:视频看着不错,右键却只有一堆无用的选项;翻到页面源代码,里面全是带签名参数的乱码链接,等真正拿到文件地址,URL 又已经过期。这时候你需要的是一个浏览器资源嗅探工具。猫抓(cat-catch)是一款开源的资源嗅探扩展,它能自动筛选并列出当前页面加载过的视频、音频和 M3U8 流媒体资源,你只需在列表中勾选一条,就能下载到本地,全程在浏览器内完成。
猫抓插件的安装方法
安装途径有商店、源码、CRX 文件三种,按你的实际情况选一种即可。
应用商店安装(推荐):在 Chrome、Edge 或 Firefox 的官方扩展商店里搜索"猫抓"或"Cat-Catch",认准开发者上架的官方版本直接安装。需要留意的是,猫抓是开源项目,商店里已经有人下载源码、塞进广告代码后重新上架"伪猫抓",README 中特别提醒过这一点。安装前看一下扩展详情和评分,别装到带广告的那个。Firefox 用户注意,其商店目前需要非国区网络才能访问。
源码安装(适合开发者):
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch克隆完成后,打开浏览器扩展管理页面,开启"开发者模式",点击"加载已解压的扩展程序",选中刚才克隆的文件夹即可。这种方式能第一时间用上最新版,但商店的自动更新就没有了。
CRX 文件安装:从项目的 Releases 发布页右键另存为下载.crx文件,同样打开"开发者模式",把文件直接拖进扩展页面完成安装。适合商店装不了、又不想跑源码的用户。
Edge 安卓端可以扫描下面这张二维码安装:
第一次使用的 5 步操作:
- 打开任意一个带视频的网页,正常播放一次视频(不播放就不会产生资源请求)
- 点击工具栏上的猫抓图标,弹出资源列表
- 在"当前页面"标签下找到你感兴趣的那条,展开查看标题、MIME 类型、时长、分辨率
- 先用预览按钮(圆形播放键)确认内容没问题
- 点击下载箭头,文件会存到浏览器默认的下载目录
核心功能实操
一键列出当前页面的媒体资源
点开工猫抓图标后,你会看到这样的界面:顶部标签页可以在"当前页面""其他页面""媒体控制/其他功能"之间切换;中间列表列出捕获到的每个资源,文件名、大小一目了然,左侧复选框支持批量勾选;选中某条后,下方会显示它的标题、MIME 类型、时长、分辨率和完整 URL,并内嵌一个播放器供你即时预览。底部一排按钮覆盖了下载所选、复制所选、全选、反选、清空、模拟手机、自动下载、录制脚本、设置等常用操作。
实用技巧:列表里同名 mp4 很多时,先看"分辨率"和"MIME"两行,挑 video/mp4 且分辨率最高的那条下载,通常是原始片源。
M3U8 分片视频解析与合并
很多平台不把视频做成一个完整文件,而是拆成几十上百个 ts 切片,入口只有一个 m3u8 播放列表。猫抓内置了专门的 M3U8 解析器:把 m3u8 链接粘贴进顶部输入框,它会自动拉取列表并解析出全部切片地址,同时给出文件数量、总时长、分辨率等统计信息。下方的切片清单可以点击勾选或取消,只合并你要的区间。底部功能区提供了下载显示内容、原始 m3u8、本地 m3u8、ts 列表等导出项,还有自定义保存文件名、解密密钥(16 进制或 base64)、偏移量 IV、上传密钥、下载线程数、下载范围等参数,最后点"合并下载"就会把切片拼成一个完整文件;勾选"mp4格式"还能直接转封装为 mp4。
实用技巧:遇到加密流,先在浏览器开发者工具的 Network 面板里找到解密密钥,再填进"自定义 密钥"一栏,不要跳过解密直接下载,否则出来的文件是打不开的。
多语言界面切换
猫抓的界面文本走的是扩展 i18n 机制,_locales/目录下维护着 10 种语言的翻译包,包括中文、英文、西班牙语、日语、韩语、俄语、葡萄牙语、土耳其语、越南语等。界面语言跟随浏览器语言自动切换,不需要单独配置。对国内用户来说更实际的好处是:界面足够精简,按钮全部带图标,即使语言匹配不到,看图标也能完成基本操作。
实用技巧:翻译缺漏或翻译不准,可以直接往_locales/对应的 messages.json 里补词,提交给项目合并。
关键配置参考
选项页面(popup 右下角"设置")里的配置会存入chrome.storage并自动保存,以下是几个影响体验最大的项:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 启用总开关(enable) | 开启 | 关闭后不再捕获任何资源 |
| 后缀过滤(Ext 列表) | 默认(mp4/mp3/m4a 等) | 按文件后缀过滤,支持按大小范围筛选 |
| 默认下载文件名(downFileName) | ${title}.${ext} | 支持标签模板,如网页标题加扩展名 |
| 检查重复项(checkDuplicates) | 开启 | 同一资源只列出一次,列表更干净 |
| M3U8 解析器线程数(M3u8Thread) | 6 | 切片并发下载数,网络不稳就调小 |
| M3U8 合并为 mp4(M3u8Mp4) | 按需勾选 | 合并下载时转封装为 mp4 容器 |
| 只取音频(M3u8OnlyAudio) | 关闭 | 只下载音频轨,用于提取 BGM 时开启 |
| 保存前选择目录(saveAs) | 按需开启 | 每次下载完成前询问保存位置 |
| m3u8DL 自定义协议(m3u8dl) | 关闭 | 开启后可调用本机 m3u8dl 等外部程序下载 |
| Aria2 RPC(enableAria2Rpc) | 关闭 | 开启后任务转发给本机 aria2 下载服务 |
实战场景
场景一:把网页上的短视频存下来离线看
背景:你在信息流里刷到一段 30 秒的短视频,想存到手机或电脑里反复看,但网页不显示下载按钮,视频 URL 还带着一串签名参数,手动复制很快失效。
操作:视频正常播放一遍 → 点开猫抓图标 → 在"当前页面"标签找到那条 mp4 → 预览确认 → 点击下载。整个过程不到十秒。
效果:文件直接落到本地下载目录,文件名默认取自网页标题,方便归类。
建议:
- 列表里有多条同名资源时,按分辨率从大到小挑
- 文件名想更规范,去设置里把下载文件名模板改成包含日期标签
- 同一页面反复刷新会产生重复记录,保持"检查重复项"开启
场景二:HLS 分片流合并成完整文件
背景:你想保存一段 HLS 直播回看,播放器加载的是 m3u8 列表,里面全是 2 秒一个的 ts 切片,单个切片毫无意义。
操作:从 Network 面板复制 m3u8 地址 → 打开猫抓的 M3U8 解析器 → 粘贴链接等待解析 → 核对总时长和分辨率 → 点"合并下载"。
效果:64 个切片在本地合并为一个完整的媒体文件,进度可以逐片查看,失败的切片会自动重试。
建议:
- 合并前点一下切片列表抽查前几段地址,确认是同一清晰度
- 网络一般时把线程数从 6 降到 2-3,减少失败重试
- 只需某一段内容时,用"下载范围"指定起止切片序号,不用整个下完
场景三:从课程视频里只提取音频
背景:你在听一门在线课程,想只留音频通勤时听,或者提取背景音乐做剪辑素材。
操作:捕获到 mp4/m3u8 资源后,在 M3U8 解析器里勾选"只要音频"(M3U8OnlyAudio)再合并下载;普通 mp4 则先下载完整文件,用你顺手的本地工具转音频轨。
效果:得到一个只有音轨的轻量文件,体积通常是原视频的几分之一。
建议:
- 合并后留意总时长是否和页面显示一致,不一致通常是切片列表被截断
- 提取的音频先试听开头几秒,确认没有混入其他音轨
技术原理浅读
猫抓的代码结构不复杂,核心链路如下:
- 资源嗅探脚本:
catch-script/目录,catch.js、search.js、webrtc.js负责拦截和筛选网络请求,识别媒体资源;深度搜索、录制脚本等功能也在这里 - 内容脚本注入:
js/content-script.js在页面加载时(document_start)注入所有 http/https 页面,负责现场捕获 - 后台服务:
js/background.js是 Manifest V3 的 Service Worker,管理下载任务、存储和快捷键 - 流媒体处理:
js/m3u8.js配合lib/hls.min.js、lib/mux.min.js处理 HLS 解析与合并;js/mpd.js配合lib/mpd-parser.min.js处理 DASH(MPD) - 下载执行:
js/downloader.js基于lib/StreamSaver.js把数据流写成本地文件 - 多语言:
_locales/下按语言存放messages.json翻译包
一句话概括:内容脚本负责"抓",解析器负责"懂",下载器负责"存",三者都跑在你自己的浏览器里。
隐私与合规
猫抓的隐私政策写得很直白:扩展收集的所有信息都在本地储存处理,不会发送到远程服务器,也不包含任何跟踪器。所有嗅探、解析、下载动作都在浏览器内完成。
版权方面需要注意:本工具仅供下载你拥有版权或已获授权的内容,禁止用于下载受版权保护且未经授权的视频,使用行为的法律责任由使用者自行承担。另外项目维护了一份"避免抓取列表",网站运营者如果不希望猫抓在其站点上运行,可以在仓库提交标题为[Opt-Out Request] 你的域名的 Issue 申请加入黑名单。
常见问题
为什么资源列表是空的或者漏了文件?
- 确认视频真的播放过——没有请求就没有捕获
- 刷新页面后重新播放一次再查看列表
- 检查扩展是否被禁用(工具栏图标应为点亮状态)
- 个别网站的资源走子框架加载,尝试用"深度搜索"功能再找一遍
装好了但图标点了没反应、部分功能不可用?
- 检查浏览器内核版本:1.0.17 之后要求 Chromium 93 以上
- 想体验完整功能,建议升级到 Chromium 104 以上
- Firefox 用户注意部分功能(如 blob 下载)有已知兼容差异,可查 CHANGELOG 了解当前版本的修复情况
下载的文件损坏、播放报错?
- 先看是否用了加密流却没填解密密钥或 IV,这种情况文件必然损坏
- 确认下载过程没有中途关闭扩展页面,任务被中断会导致文件不完整
- 用 VLC 这类宽容的播放器试播,排除"只是默认播放器不支持该编码"的情况
M3U8 链接一次性失效、重下就 403?
- 这类带签名的"一次性 URL"很常见,猫抓的 M3U8 解析器支持从本地缓存读取 m3u8 数据来规避
- 在解析器里配置自定义请求头,把 Referer、Cookie 带上再请求切片
- 实在不行就开启 m3u8DL 自定义协议,把下载交给本机命令行工具,由它处理鉴权
商店里有好几个"猫抓",哪个是真的?
- 以项目 README 和官方用户文档给出的安装渠道为准
- 查看扩展详情里的权限和评价,带大量广告推广的可以直接排除
- 不放心就用源码安装,代码就摆在仓库里,可以自己审查
现在就开始
按这四步完成你的第一次体验:
- 从应用商店装好猫抓,或克隆源码以开发者模式加载
- 打开任意带视频的页面,完整播放一遍
- 点开猫抓图标,预览并下载列表中的第一个资源
- 找一段 m3u8 流,用 M3U8 解析器合并一次完整文件
用的过程中遇到 bug、想补一种语言的翻译,或者对某个功能有改进想法,都欢迎到项目仓库提交 Issue 反馈,开源项目的迭代就靠这些真实的使用声音。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考