頁視頻變成可保存的文件)
貓抓Cat-Catch瀏覽器資源嗅探擴展完整指南把不能下載的網(wǎng)頁視頻變成可保存的文件【免費下載鏈接】cat-catch貓抓 瀏覽器資源嗅探擴展 / cat-catch Browser Resource Sniffing Extension項目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch貓抓Cat-Catch是一款開源的瀏覽器資源嗅探擴展解決的核心痛點是網(wǎng)頁上的視頻明明在播放右鍵菜單和下載按鈕卻被禁用用戶拿不到文件。它不去破解頁面而是把瀏覽器網(wǎng)絡(luò)層發(fā)生的每一次請求都記錄下來把媒體資源從復(fù)雜的網(wǎng)頁加載流程中直接撈出來。雙引擎嗅探網(wǎng)絡(luò)監(jiān)聽與MediaSource代理第一個引擎是網(wǎng)絡(luò)請求攔截。白話定義擴展掛鉤瀏覽器的請求管道頁面每發(fā)出一個 HTTP 請求都會經(jīng)過一次檢查URL 或響應(yīng)頭里的Content-Type命中媒體規(guī)則時這個地址就被登記進(jìn)當(dāng)前標(biāo)簽頁的資源列表。類比一下它相當(dāng)于在電話局里裝了一臺錄音機——頁面和服務(wù)器之間通的每一句話都被留下底稿而你自己完全無感。這一層的監(jiān)聽邏輯寫在 js/background.jschrome.webRequest.onSendHeaders和onResponseStarted兩個鉤子把請求頭和響應(yīng)頭都截留下來交給findMedia()函數(shù)做媒體類型判定。靜態(tài)的 mp4、圖片、音頻基本在這一層就被發(fā)現(xiàn)。第二個引擎是 MediaSource 代理。白話定義現(xiàn)在很多視頻并不加載一個完整的 mp4而是通過MediaSource接口把視頻數(shù)據(jù)分片追加進(jìn)video標(biāo)簽網(wǎng)絡(luò)層根本看不到完整文件擴展在注入頁面的腳本里重寫了addSourceBuffer方法逐片記錄追加過程把流還原成可下載的資源。類比普通嗅探工具只能聽快遞員的電話號碼而貓抓站在收發(fā)室門口把每只小箱子拆開記錄一遍。這一邏輯在 catch-script/catch.js 的CatCatcher類中實現(xiàn)proxyMediaSourceMethods是關(guān)鍵入口。兩層機制合起來回答了那個關(guān)鍵問題為什么只盯網(wǎng)絡(luò)層的工具抓不到的動態(tài)流媒體貓抓能抓到。分片流媒體處理m3u8解析器的三步工作流進(jìn)階情況是頁面上只有一個.m3u8地址。它本質(zhì)上是一份菜單——不含視頻內(nèi)容只列出幾十甚至上千個.ts分片的地址還可能聲明 AES-128 加密密鑰。這時普通下載毫無意義需要的是解析器它的流程分三步解析與校驗js/m3u8.js 從早期的正則解析升級為基于 hls.js 的解析內(nèi)核2.2.2 版本起拉取播放列表后讀取總時長、分辨率、預(yù)估大小識別密鑰與加密方式密鑰處理catch-script/search.js 深度搜索腳本會在頁面數(shù)據(jù)里翻找疑似密鑰也支持手動上傳 Key 或填寫十六進(jìn)制/base64 密鑰并發(fā)下載js/m3u8.downloader.js 默認(rèn)最多6 個下載線程2.4.7 版本起支持?jǐn)帱c重試、任意切片勾選、合并下載還能把結(jié)果推給 Aria2、N_m3u8DL-CLI 或在線 ffmpeg 轉(zhuǎn)成 mp4場景回扣機制在哪些環(huán)節(jié)發(fā)力剪輯師保存被屏蔽的網(wǎng)頁樣片客戶發(fā)來一個網(wǎng)頁樣片鏈接右鍵被攔截、沒有下載按鈕。裝好貓抓后打開頁面點工具欄貓爪圖標(biāo)彈窗里資源列表已經(jīng)備好勾上視頻文件點下載即可。起作用的是網(wǎng)絡(luò)監(jiān)聽引擎那個 mp4 請求在發(fā)出的瞬間就被onSendHeaders鉤子記錄了下來頁面怎么屏蔽 UI 都攔不住網(wǎng)絡(luò)層的底稿。學(xué)生保存只給m3u8地址的公開課回放頁面上播的是直播回放只有播放列表地址。把地址丟給解析器hls.js 內(nèi)核先讀懂菜單深度搜索腳本從頁面翻出 AES-128 密鑰隨后 6 個線程并發(fā)抓取分片、解密、合并成一個 mp4。全程不需要手動執(zhí)行任何命令。開發(fā)者抓WebRTC通話流做協(xié)議分析走 WebRTC 的流連 m3u8 都沒有這是最極端的場景。貓抓提供 catch-script/webrtc.js 錄制腳本直接錄制通話流屬于 MediaSource 代理思路的延伸——在網(wǎng)絡(luò)層無米下鍋時直接到媒體層取數(shù)。設(shè)計取舍為穩(wěn)定性讓步的地方攤開 CHANGELOG.md 看貓抓的演進(jìn)史是一次次限制與反限制的博弈每個決策都寫著理由和代價版本決策為什么這么做犧牲了什么1.0.17遷移 Manifest V3Chrome 強制新規(guī)范后臺從常駐腳本變成會休眠的 Service Worker狀態(tài)隨時可能丟失1.0.24加入 Heart Beat 心跳用低頻通信阻止后臺休眠保住捕獲狀態(tài)不丟2.4.7下載線程封頂 6 個m3u8 解析器 最大下載線程調(diào)整為 6——線程越多越快但對目標(biāo)服務(wù)器壓力越大社區(qū)驗證的平衡點2.5.3存儲換到 sessionstorage.local 更改為 storage.session 以減少 IO 錯誤導(dǎo)致擴展無法使用代價是配置不再跨會話持久化2.7.0從瀏覽器緩存讀 m3u8專門解決一次性 URL每次訪問即失效的問題代價是依賴瀏覽器緩存行為其中 2.0.0 的更新日志原話尤其誠實該死的 Service Worker... 現(xiàn)在后臺被殺死能立刻喚醒自己... 繼續(xù)用骯臟的手段對抗 Manifest V3——把工程現(xiàn)實寫在日志里比任何營銷話術(shù)都有說服力。安裝與源碼入口普通用戶只需兩步在 Chrome 網(wǎng)上應(yīng)用店、Edge 插件商店或 Firefox 附加組件中搜索 Cat-Catch 安裝然后打開含媒體內(nèi)容的頁面點工具欄貓爪圖標(biāo)在資源列表里勾選、下載完事。想讀源碼或自己改的開發(fā)者git clone https://gitcode.com/GitHub_Trending/ca/cat-catch在瀏覽器擴展程序頁開啟開發(fā)者模式加載已解壓的擴展程序選中項目文件夾即可。閱讀入口嗅探核心在 catch-script/catch.js播放列表解析在 js/m3u8.js請求監(jiān)聽在 js/background.js。適用人群與一個開放問題它適合需要離線存課的學(xué)生、存素材的剪輯師、研究流媒體協(xié)議的開發(fā)者以及想看 MV3 擴展工程化實踐的架構(gòu)師。留一個問題當(dāng)越來越多網(wǎng)站轉(zhuǎn)向 DRM 加密和主動反嗅探在瀏覽器里撈文件這條路還能走多遠(yuǎn)——答案也許不在更強的嗅探而在更聰明的協(xié)作?!久赓M下載鏈接】cat-catch貓抓 瀏覽器資源嗅探擴展 / cat-catch Browser Resource Sniffing Extension項目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考