ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

猫抓Cat-Catch浏览器资源嗅探扩展完整指南:把“不能下载“的网页视频变成可保存的文件

2026/9/6 18:22:53 拓冰建站 浏览量
猫抓Cat-Catch浏览器资源嗅探扩展完整指南:把“不能下载“的网页视频变成可保存的文件 猫抓Cat-Catch浏览器资源嗅探扩展完整指南把不能下载的网页视频变成可保存的文件【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch猫抓Cat-Catch是一款开源的浏览器资源嗅探扩展解决的核心痛点是网页上的视频明明在播放右键菜单和下载按钮却被禁用用户拿不到文件。它不去破解页面而是把浏览器网络层发生的每一次请求都记录下来把媒体资源从复杂的网页加载流程中直接捞出来。双引擎嗅探网络监听与MediaSource代理第一个引擎是网络请求拦截。白话定义扩展挂钩浏览器的请求管道页面每发出一个 HTTP 请求都会经过一次检查URL 或响应头里的Content-Type命中媒体规则时这个地址就被登记进当前标签页的资源列表。类比一下它相当于在电话局里装了一台录音机——页面和服务器之间通的每一句话都被留下底稿而你自己完全无感。这一层的监听逻辑写在 js/background.jschrome.webRequest.onSendHeaders和onResponseStarted两个钩子把请求头和响应头都截留下来交给findMedia()函数做媒体类型判定。静态的 mp4、图片、音频基本在这一层就被发现。第二个引擎是 MediaSource 代理。白话定义现在很多视频并不加载一个完整的 mp4而是通过MediaSource接口把视频数据分片追加进video标签网络层根本看不到完整文件扩展在注入页面的脚本里重写了addSourceBuffer方法逐片记录追加过程把流还原成可下载的资源。类比普通嗅探工具只能听快递员的电话号码而猫抓站在收发室门口把每只小箱子拆开记录一遍。这一逻辑在 catch-script/catch.js 的CatCatcher类中实现proxyMediaSourceMethods是关键入口。两层机制合起来回答了那个关键问题为什么只盯网络层的工具抓不到的动态流媒体猫抓能抓到。分片流媒体处理m3u8解析器的三步工作流进阶情况是页面上只有一个.m3u8地址。它本质上是一份菜单——不含视频内容只列出几十甚至上千个.ts分片的地址还可能声明 AES-128 加密密钥。这时普通下载毫无意义需要的是解析器它的流程分三步解析与校验js/m3u8.js 从早期的正则解析升级为基于 hls.js 的解析内核2.2.2 版本起拉取播放列表后读取总时长、分辨率、预估大小识别密钥与加密方式密钥处理catch-script/search.js 深度搜索脚本会在页面数据里翻找疑似密钥也支持手动上传 Key 或填写十六进制/base64 密钥并发下载js/m3u8.downloader.js 默认最多6 个下载线程2.4.7 版本起支持断点重试、任意切片勾选、合并下载还能把结果推给 Aria2、N_m3u8DL-CLI 或在线 ffmpeg 转成 mp4场景回扣机制在哪些环节发力剪辑师保存被屏蔽的网页样片客户发来一个网页样片链接右键被拦截、没有下载按钮。装好猫抓后打开页面点工具栏猫爪图标弹窗里资源列表已经备好勾上视频文件点下载即可。起作用的是网络监听引擎那个 mp4 请求在发出的瞬间就被onSendHeaders钩子记录了下来页面怎么屏蔽 UI 都拦不住网络层的底稿。学生保存只给m3u8地址的公开课回放页面上播的是直播回放只有播放列表地址。把地址丢给解析器hls.js 内核先读懂菜单深度搜索脚本从页面翻出 AES-128 密钥随后 6 个线程并发抓取分片、解密、合并成一个 mp4。全程不需要手动执行任何命令。开发者抓WebRTC通话流做协议分析走 WebRTC 的流连 m3u8 都没有这是最极端的场景。猫抓提供 catch-script/webrtc.js 录制脚本直接录制通话流属于 MediaSource 代理思路的延伸——在网络层无米下锅时直接到媒体层取数。设计取舍为稳定性让步的地方摊开 CHANGELOG.md 看猫抓的演进史是一次次限制与反限制的博弈每个决策都写着理由和代价版本决策为什么这么做牺牲了什么1.0.17迁移 Manifest V3Chrome 强制新规范后台从常驻脚本变成会休眠的 Service Worker状态随时可能丢失1.0.24加入 Heart Beat 心跳用低频通信阻止后台休眠保住捕获状态不丢2.4.7下载线程封顶 6 个m3u8 解析器 最大下载线程调整为 6——线程越多越快但对目标服务器压力越大社区验证的平衡点2.5.3存储换到 sessionstorage.local 更改为 storage.session 以减少 IO 错误导致扩展无法使用代价是配置不再跨会话持久化2.7.0从浏览器缓存读 m3u8专门解决一次性 URL每次访问即失效的问题代价是依赖浏览器缓存行为其中 2.0.0 的更新日志原话尤其诚实该死的 Service Worker... 现在后台被杀死能立刻唤醒自己... 继续用肮脏的手段对抗 Manifest V3——把工程现实写在日志里比任何营销话术都有说服力。安装与源码入口普通用户只需两步在 Chrome 网上应用店、Edge 插件商店或 Firefox 附加组件中搜索 Cat-Catch 安装然后打开含媒体内容的页面点工具栏猫爪图标在资源列表里勾选、下载完事。想读源码或自己改的开发者git clone https://gitcode.com/GitHub_Trending/ca/cat-catch在浏览器扩展程序页开启开发者模式加载已解压的扩展程序选中项目文件夹即可。阅读入口嗅探核心在 catch-script/catch.js播放列表解析在 js/m3u8.js请求监听在 js/background.js。适用人群与一个开放问题它适合需要离线存课的学生、存素材的剪辑师、研究流媒体协议的开发者以及想看 MV3 扩展工程化实践的架构师。留一个问题当越来越多网站转向 DRM 加密和主动反嗅探在浏览器里捞文件这条路还能走多远——答案也许不在更强的嗅探而在更聪明的协作。【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考