恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
猫抓 Cat-Catch 资源嗅探扩展完整指南:5 步拿下页面不让你下载的视频
首页
资讯中心
/
猫抓 Cat-Catch 资源嗅探扩展完整指南:5 步拿下页面不让你下载的视频
猫抓 Cat-Catch 资源嗅探扩展完整指南:5 步拿下页面不让你下载的视频
发布时间:2026/9/7 3:03:49
猫抓 Cat-Catch 资源嗅探扩展完整指南5 步拿下页面不让你下载的视频【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch视频页面右键菜单被拦截、下载按钮消失打开开发者工具也只见一堆零散的 .ts 分片——这个时候开源的资源嗅探扩展猫抓Cat-Catch能帮你。它不需要你复制任何地址浏览页面时就会把每一个媒体请求悄悄记下来最终把视频、m3u8 流和图片直接交到你手里。一句话原理凭什么页面拦不住它猫抓不破解任何页面的防御它只是在浏览器的网络层和媒体层各装了一个记录仪把页面真实发出的请求和真正喂给播放器的数据流原样还原出来。网站能挡住你的鼠标但挡不住浏览器自己发出的请求。围绕这个机制它的核心能力可以列成一张清单被动嗅探自动列出页面加载的媒体文件主动捕获代理 MediaSource 还原动态分片m3u8 解析识别密钥、多线程下载、合并转码协议覆盖HLS、DASH、WebRTC、普通 HTTP 全收下载器对接Aria2 RPC、m3u8dl:// 协议、在线 ffmpeg多语言界面内置十种语言界面跟着你的浏览器走跟着做一遍五分钟完成首次下载第一次使用不需要任何代码基础五步走完在 Chrome 网上应用店或 Edge 插件商店搜索Cat-Catch安装Firefox 版也支持打开一个正在播放视频的页面点一下工具栏的猫爪图标弹出面板里按类型、大小筛选当前页面捕获到的资源支持正则匹配勾选目标文件点下载文件直接进你的下载目录如果捕获到的是 m3u8 播放列表点 m3u8 解析器入口设置线程数与输出格式后再启动下载想读源码的读者仓库在这里四条主线就是四个入口git clone https://gitcode.com/GitHub_Trending/ca/cat-catch嗅探与捕获核心catch-script/catch.jsm3u8 解析器js/m3u8.js后台调度与心跳js/background.js下载逻辑js/downloader.js拆开看原理一只耳朵听请求一只眼睛盯画面可以这么理解它的两条捕获通道耳朵挂在浏览器的网络请求接口webRequest上页面每发一个请求后台就检查一遍Content-Type和 URL 是否像媒体文件像就记进当前标签页的资源列表——静态的 mp4、音频、图片大多在这一步被抓住眼睛则盯住播放器本身页面里的MediaSource相关方法被注入脚本重写每次往播放器里追加一段分片数据都会被记录下来等于把边播边扔的流媒体重新攒回完整文件。各模块分工大致是这样猫抓的资源捕获链路 ├── js/background.js webRequest 请求监听记录媒体 URL心跳保活 ├── catch-script/catch.js 代理 MediaSource/appendBuffer记录分片悬浮面板 UI ├── catch-script/search.js 深度搜索从页面 JS 里挖出疑似密钥 ├── catch-script/recorder.js、webrtc.js 录制脚本覆盖动态流与 WebRTC 流 └── js/m3u8.js m3u8 解析、密钥处理、多线程合并下载两条通道各管一半只靠耳朵走 MediaSource 的动态视频一个都看不见只靠眼睛静态直链又抓不到。对普通用户来说你不用关心视频走的是哪条路面板里出现的就都是能下载的。进阶场景当视频变成几百个 m3u8 分片难点直播或平台分发场景下页面里往往只有一个.m3u8文件。它不含任何视频数据只是一份菜单列出几十到上千个.ts分片地址还常用 AES-128 声明密钥更糟的是这类播放列表地址常常几分钟就失效直接拿地址去下载十有八九 404。解法猫抓的 m3u8 解析器2.2.2 起基于 hls.js 内核重写按三步走——拉取并校验播放列表、读取时长分辨率与密钥信息密钥从页面深度搜索脚本 catch-script/search.js 里挖也支持你手动上传 Key 文件、填十六进制或 base64最后并发下载分片、合并输出还能转成 mp4。关键细节两个地方最容易被忽略。一是Referer请求头——很多站点校验请求来源裸地址下载会被拒猫抓会把来源页的 Referer 和自定义请求头一并带下去二是缓存直读2.7.0 版本开始解析器可以直接从浏览器缓存里读出 m3u8 内容专门对付一次性 URL这种每次访问都换地址的场景。工程取舍两次真实决策的代价与回报决策一把下载线程钉死在 6 个2.4.7 版本。问题线程越多下载越快但对目标站点压力也越大社区早有把别人网站压垮的争议。选择把最大下载线程调整并限制为 6不给用户拉满的选项。代价极限网速场景下牺牲了一部分峰值速度。回报默认行为对服务器更温和下载体验和不把对方搞崩被放在同一优先级——对你意味着不用自己权衡开箱就是安全的默认值。决策二存储从 local 换成 session2.5.3 版本。问题storage.local在高频读写下出现过 IO 错误严重时会直接拖垮整个扩展。选择整体迁到storage.session代价是要求 Chrome 104 以上。代价会话级存储随浏览器会话走不再跨重启持久化需要持久配置的用户得用导入/导出。回报高频场景下扩展在各种低配置机器上都站得住更新日志里只用了简短一句减少 IO 错误导致扩展无法使用但效果是实打实的稳定。类似的对抗还有 Service Worker 休眠MV3 的后台空闲即被杀从 1.0.24 引入 Heart Beat 心跳保持存活到 2.0.0 更新日志里维护者甚至直白地写下——该死的 Service Worker... 现在后台被杀死能立刻唤醒自己... 继续用肮脏的手段对抗 Manifest V3。这种坦白在开源项目里不多见。猫抓版本演进表关键节点与解决的真实问题版本关键变化解决的真实问题1.0.17迁移 Manifest V3应对 Chrome 强制新扩展规范1.0.24引入 Heart Beat 心跳后台 Service Worker 休眠导致扩展失联2.0.0新增视频捕获与录制支持 m3u8dl:// 协议被动嗅探抓不到动态加载的视频2.2.2m3u8 解析器改用 hls.js 内核正则解析分片不全、信息缺失2.4.7最大下载线程定为 6接入 Aria2 RPC下载不稳定、缺外部下载器生态2.5.3storage.local 换成 storage.session高频读写 IO 错误拖垮扩展2.7.0缓存直读 m3u8新增右键菜单一次性 URL失效无解、操作路径长写在最后猫抓解决的根本问题只有一句话在浏览器允许的安全边界内把网页上正在播的媒体变成你自己硬盘上的文件。而它留下的开放问题也同样清晰——当更多平台把密钥挪进 DRM 保护或服务端签名之后在浏览器里嗅探这条路能走多远猫抓给出的方向或许已经藏在 catch-script/recorder.js 这类脚本和 MQTT 推送里让浏览器只是媒体流水线上的一个车间而不是终点站。【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考