
下载按钮去哪了Cat-Catch 资源嗅探把网页里的视频变成自己的文件【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch视频右键菜单是灰的页面上找不到下载入口多数人只能盯着屏幕放弃。Cat-Catch 这款开源资源嗅探扩展会在后台悄悄记下页面发出的每一次请求把播得出来的流媒体直接变成能保存的文件——这就是它的解法。Cat-Catch 资源嗅探是什么定位与能力清单Cat-Catchcat-catch是一款浏览器扩展自动列出当前页面加载的全部媒体文件并接手 m3u8、mpd 这类分片流的下载、密钥识别与合并。Chrome、Edge 等 Chromium 内核浏览器以及 Firefox 上都能用。你只管正常浏览记录动作在后台自动完成。核心能力大致六条被动嗅探按响应的 Content-Type 与 URL 后缀匹配筛出视频、音频、图片等媒体请求媒体层捕获代理 MediaSource 相关方法把逐个喂给video标签的分片实时记下来再还原成完整文件m3u8 深度解析读播放列表、定位 AES-128 加密密钥、多线程拉取分片并合并成片多协议覆盖HLSm3u8、DASHmpd、WebRTC、普通 HTTP 文件都有对应处理外部下载生态可对接 Aria2 RPC、N_m3u8DL-CLI 自定义的 m3u8dl:// 协议以及在线 ffmpeg 转码多语言界面官方带 10 个语言包含简繁中文、日、韩、西、俄、葡巴西、土、越等它凭什么抓得到两层嗅探机制拆解讲场景之前先弄懂它看见资源的原理后面的一切才说得通。Cat-Catch 的嗅探靠两条并行的通道。第一条是网络层。后台脚本js/background.js用浏览器提供的webRequestAPI 拦截页面发出的所有请求一旦响应类型或地址后缀命中媒体规则这个 URL 就被写进当前标签页的资源清单。静态放在站点上的 mp4、图片、音频基本在这一层就落网。第二条是媒体层。相当多视频站点不给你完整文件而是把视频切成小块通过 MediaSource 接口逐块喂给video标签——网络层只能看到一堆碎块拼不出全貌。Cat-Catch 的办法是往页面注入脚本catch-script/catch.js里的CatCatcher类用proxyMediaSourceMethods改写 MediaSource 的方法每有一块数据被追加进播放器就被记下来最终还原成可下载的资源。这套注入脚本里还有几个小动作视频藏在 iframe 沙箱里时它会移除 sandbox 属性设法进去动手前先初始化 Trusted Types绕开站点 CSP 策略的限制捕获开关与悬浮面板也由它管理。一句话概括分工——网络层管站点主动发的请求媒体层管站点偷偷喂的分片两条腿加起来才覆盖住网页媒体的绝大多数加载路径。主要模块的分工大致是这样Cat-Catch 模块职责 ├── catch-script/catch.js —— 媒体层嗅探代理 MediaSource、记录分片、管理悬浮面板 ├── catch-script/search.js —— 页面内深度搜索挖 AES-128 密钥候选 ├── js/m3u8.js —— 播放列表解析、分片下载、合并与转码 ├── js/downloader.js —— 下载调度、文件命名模板 └── js/background.js —— 后台 Service Worker、心跳保活与状态维护从单文件到 m3u8 分片两个真实下载场景场景一单个正在播的文件。你接了个活对方发来样片网页偏偏没有下载入口。装好 Cat-Catch打开页面点一下工具栏的猫爪图标弹出面板把嗅到的资源逐条列出来视频就在其中勾选、下载收工。全程没碰开发者工具也没复制任何地址。场景二一整串 m3u8 分片。视频来自直播回放或 CDN 分发资源列表里只有 m3u8 地址。这个文件本身不含画面它是一份目录——几十甚至上千个 .ts 分片的地址清单末尾可能还挂着 AES-128 密钥声明。直接存它毫无意义该交给 m3u8 解析面板了核心逻辑在js/m3u8.js解析内核是 hls.js解析与校验拉取播放列表读出总时长、分辨率、预估体积同时识别密钥与加密方式密钥处理文件里没写密钥时可触发深度搜索——catch-script/search.js会翻页面脚本和全局变量找密钥候选如果你手里已有密钥直接填十六进制或 base64 也行分片下载默认最多 6 个线程2.4.7 起定下的上限失败自动重试、可只挑部分切片、下载完合并成完整文件产物留在本地也可以交给 Aria2 RPC 或 N_m3u8DL-CLI 处理或送到在线 ffmpeg 完成 mp4 转码这里有两个容易忽略的细节。一是Referer 处理不少站点校验请求来源解析面板拉分片时会带上来源页的 Referer 和自定义请求头缺了它们整单下载就会 403。二是 2.7.0 修掉的一个老大难——直接从浏览器缓存里读出 m3u8 内容专治一次性 URL这类播放列表地址第二次请求就作废靠缓存读取才拿得回来。版本演进里的 3 个工程取舍不铺全量时间线只挑账算得最清的三次决策。线程上限定死 62.4.7。线程越多拉得越快对目标服务器的冲击也越狠。项目没有追求峰值速度把默认并发锁在社区验证过的 6等于把别把人家站点压垮和我自己的下载体验放进了同一个天平。牺牲一点极限速度换来的是长期间的可共用性。存储从 local 换到 session2.5.3。原先的 storage.local 在高频读写下会抛 IO 错误直接把整个扩展带崩换成 storage.session 后稳住了代价是配置不再跨会话自动保留。牺牲一小块持久性换回低配机器上也长期不崩官方为此把 Chromium 最低要求提到 104。Heart Beat 心跳保活1.0.24 引入2.0.0 强化。MV3 的后台是 Service Worker浏览器觉得它空闲就会杀掉嗅探状态瞬间丢失。Cat-Catch 用内容脚本与后台的低频通信维持存活被杀后还能立刻自己唤醒。开发者在 2.0.0 的更新记录里留了句实话该死的 Service Worker……继续用肮脏的手段对抗 Manifest V3——这种坦率比任何宣传文案都真实。零代码快速上手从安装到第一次下载只想用的话三步在 Chrome 网上应用店、Edge 插件商店或 Firefox 附加组件站搜 Cat-Catch 安装。留意一下项目开源商店里出现过塞广告的仿冒上架版本认准官方渠道打开任意含媒体内容的页面点工具栏猫爪图标在面板里筛选、勾选资源下载遇到 m3u8 类资源点面板里的 m3u8 图标进解析面板走上面那三步想读源码或自己改先克隆仓库再本地加载git clone https://gitcode.com/GitHub_Trending/ca/cat-catch接着在浏览器扩展管理页打开开发者模式点加载已解压的扩展程序选中项目文件夹即可。阅读顺序建议按前面那棵模块树走嗅探核心catch-script/catch.js、列表解析js/m3u8.js、下载调度js/downloader.js、后台保活js/background.js。收尾一句话价值与一个开放问题Cat-Catch 做的事可以压缩成一句在浏览器自己的安全边界之内把网页上的媒体变成你手里的文件全程不碰页面代码。留给你的问题是——当越来越多站点换上 DRM 加密与反嗅探手段浏览器还会不会继续待在媒体处理的前线还是像 MQTT 推送所暗示的那样慢慢退成一个把资源转交给云端流水线的中转站【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考