ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

猫抓 Cat-Catch 资源嗅探扩展完整指南:如何把“下不了“的视频存进本地

猫抓 Cat-Catch 资源嗅探扩展完整指南:如何把“下不了“的视频存进本地 猫抓 Cat-Catch 资源嗅探扩展完整指南如何把下不了的视频存进本地【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch你肯定遇到过这种时刻页面里的视频播得正欢右键菜单被劫持、下载按钮不存在、开发者工具里翻遍 Network 面板也找不到一个能用的直链。文件明明就在你眼前却过不去那道浏览器画的安全线。猫抓Cat-Catch就是冲着这个痛点来的浏览器资源嗅探扩展——它在你浏览网页时自动记录媒体资源并把视频、音频、m3u8 播放列表这类网页上的媒体变成你本地能打开的文件整个过程不需要你复制任何 URL也不需要懂协议细节。三步安装猫抓完成第一次媒体下载安装路径有三条按省事程度排序应用商店安装在 Chrome 网上应用店、Edge 扩展商店搜索 Cat-CatchFirefox 也有官方版本。注意 README 里专门提醒过猫抓是开源的应用市场里存在混入广告代码的伪猫抓安装地址只认仓库 README 里的官方链接这是对自己数据安全的保护。源码安装先克隆代码然后到扩展管理页开启开发者模式点加载已解压的扩展程序选中项目目录即可。git clone https://gitcode.com/GitHub_Trending/ca/cat-catchcrx 安装下载 Releases 里的 crx 文件右键另存为拖进扩展管理页。装好后打开任意含媒体的页面点工具栏的猫爪图标弹出面板里就是当前页捕获到的资源列表——按类型和大小筛选、勾选、下载第一次下载通常在半分钟内完成。面板支持倒序排列2.7.2 起新捕获的资源会排在最顶上追剧时找最新文件会顺手很多。两个降低学习成本的细节一是界面有十种语言查看语言包从中文、日语到俄语、越南语都有翻译全部由社区贡献二是 manifest.json 里注册了一整套键盘快捷键——暂停嗅探、缓存捕获、唤起 m3u8 解析器、深度搜索、预览——熟练后全程不用碰鼠标。为什么有些视频看不见两层捕获机制讲明白普通嗅探工具的做法是站在网络层当门卫扩展声明webRequest权限后页面每发出一个请求都会经过它的检查凡是Content-Type或 URL 后缀命中视频、音频、图片规则的就记进当前标签页的资源清单。静态的 mp4、mp3、图片基本都死在这一层。但现代网站越来越不这么干了视频被切成无数个几十 KB 的分片由页面里的脚本通过MediaSource 接口一块一块喂给video标签浏览器把分片数据实时拼装成可播放的流网络层根本看不到完整文件这一说。对这类资源猫抓的第二层机制上场——catch-script/catch.js 里的CatCatcher类会在注入页面的脚本中代理重写MediaSource 的关键方法在分片被追加进媒体数据源的那一刻把数据截留下来把流还原成可下载的文件。这套双路捕获的职责分布很清晰catch-script/catch.js页面内捕获核心 ├── 代理 MediaSource截留动态分片proxyMediaSourceMethods ├── 移除 iframe 的 sandbox 属性让脚本能进入受限子框架 └── 初始化 Trusted Types绕过部分网站的 CSP 内容安全策略顺带一提2.0.0 版本还加入了模拟手机端的 UA 欺骗navigator.userAgent会被替换——不少网站对移动端返回的正是可直接下载的文件这一招被动中带着主动。至于那些藏在页面 JS 变量里的资源地址catch-script/search.js 的深度搜索会翻遍页面上下文去找catch-script/recorder.js 和 catch-script/webrtc.js 则分别负责常规录制和 WebRTC 直播流录制。⚡m3u8 播放列表拆成几百个分片后怎么下解析器使用要点进阶场景是这样的你抓到的不是文件而是一个.m3u8文件。它本质是一份菜单——只列出几十到上千个.ts分片的地址可能还声明着 AES-128 加密密钥的取法。直接下载毫无意义需要猫抓的 m3u8 解析器js/m3u8.js 解析js/m3u8.downloader.js 下载。在弹出面板里对某个 m3u8 资源点解析会进入解析界面工作流是四步看菜单解析播放列表显示总时长、分辨率、预估文件大小2.6.2 起支持估算并识别加密方式与密钥来源拿钥匙加密流需要密钥。解析器先尝试自动找找不到可以手动填写十六进制或 base64 密钥、上传 key 文件或者交给深度搜索脚本去页面深层翻挑分片2.6.8 起可以点选任意切片参与合并下载中途出错支持自动重试2.7.1 起选出口浏览器内直接合并下载推给本地 Aria2RPC 协议2.4.7 接入2.7.0 起可指定下载目录转成m3u8dl://协议调用 N_m3u8DL-CLI或者发给在线 ffmpeg 转成 mp4这里有一个值得展开的取舍最大下载线程被锁死在 6 个2.4.7 起。线程翻倍当然更快但对你正在访问的站点服务器也是压力翻倍。作者选择了一个社区验证过的平衡点把下载体验和不把别人网站打崩放在同一天平上——这类克制在效率工具里并不多见。另一个容易被忽略的细节是Referer 与一次性 URL。很多站点校验请求来源裸下载会被拒绝解析器会把来源页的 Referer、自定义请求头原样带下去2.7.0 更进一步支持直接从浏览器缓存读取 m3u8 内容专门对付访问一次就失效的播放列表地址。此外2.5.9 起支持设置屏蔽网址白/黑名单2.6.5 起还有全局强制屏蔽列表——部分网站运营方可以通过提交 Issue标题格式[Opt-Out Request] 域名申请把自己的域名加入避免抓取列表作者承诺在后续版本中尊重其意愿。工具强不强是一回事给内容方留了关门通道这件事本身比功能更说明作者的态度。更新日志里的两场硬仗后台保活与存储换血把 CHANGELOG.md 从尾往头读猫抓的演进史其实是一部和浏览器平台规则斗智的记录其中两处最见功力。第一场Service Worker 保活。MV3 规范要求扩展后台跑在 Service Worker 里而它空闲一会儿就会被浏览器直接杀掉杀掉的瞬间页面捕获的数据全丢。1.0.24 版本猫抓加入了 Heart Beat心跳机制内容脚本通过一个名为HeartBeat的长连接端口与后台js/background.js保持低频通信后台收到后回一句HeartBeat OK让浏览器误以为这扩展还在干活从而不杀它。开发者在 2.0.0 的更新日志里是这样记录这件事的该死的 Service Worker... 现在后台被杀死能立刻唤醒自己... 继续用肮脏的手段对抗 Manifest V3这种把技术债和挫败感写进 changelog 的坦诚比任何技术博客都真实。第二场存储介质换血。2.5.x 版本把配置存储从storage.local换成了storage.session日志原文的理由是减少 IO 错误导致扩展无法使用——本地存储在高频读写下偶发出错一出错整个扩展就瘫了。代价是会话级存储不跨浏览器重启持久化配置为了稳定牺牲了一部分持久性。作者为此要求 Chrome 104 以上storage.sessionAPI 的可用版本并在 README 的兼容性说明里明码标价内核 93 以上可用104 以上才能体验完整功能。用版本门槛换稳定性同样是把可靠性排在功能数量前面的取舍。穿插一句同样有意思的记录2.5.3 版本日志里写着稍微增大一些按钮图标不再训练大家的鼠标精准度 ——一个表情符号把开发者对用户的小抱怨全说完了。多语言与源码阅读从 _locales 目录看工程结构十种语言全部集中在_locales/目录下每种语言一个messages.json由 tools/sync-locales.js 做同步。对普通用户这意味着界面语言可以在扩展设置里直接切换对想读源码的人它是理解这个项目 i18n 结构的最佳入口。源码的阅读动线可以按数据流向走入口与生命周期js/init.js → js/background.js后台心跳、定时器、下载调度页面内捕获catch-script/catch.jsCatCatcher类双层捕获的核心辅助脚本catch-script/search.js深度搜密钥、catch-script/recorder.js录制、catch-script/webrtc.jsWebRTC 流解析与下载js/m3u8.jsHLS 解析、js/mpd.jsDASH、js/downloader.js通用下载依赖库lib/hls.min.jsHLS 播放内核、lib/m3u8-decrypt.jsAES 解密清单见 lib/third-party-libraries.md项目采用 GPL-3.0 许可1.0 版为 MIT作者希望在 README 里写的那句使用猫抓源码的扩展仍然保持开源也解释了为什么它敢用 GPL 来护住自己。往哪走浏览器内的媒体处理还远没到头猫抓给出的答案其实可以压缩成一句话不拆浏览器的大门只在门内做搬运。它没有破解任何页面只是把浏览器网络层和媒体层已经发生的事记录下来、整理成文件。留一个开放性问题当越来越多的站点转向 DRM 加密、把资源藏进更深的执行环境纯嗅探这条路的天花板会不会越来越近猫抓给出的一个信号是——2.6.4 版本加入了 MQTT 协议支持把捕获到的资源和密钥推送到指定的网络服务。浏览器从下载终点变成采集前端后续处理交给云端或本地专门工具。这条路走通的话下一个值得观察的问题也许是在浏览器安全边界不断收紧的十年里浏览器里能合法做多少事这个答案本身会不会成为最稀缺的技术资产【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表