updates

FlowPick v1.1.1:防盜鏈資源預覽與下載

v1.1.1 上線——防盜鏈代理預覽和下載,圖片、音訊、文件、字幕在有 Referer 校驗的站點上終於能下了。影片封面載入更快,Firefox 支援更強。
FlowPick Team
7 分鐘閱讀
# 發布 # v1.1.1 # 更新 # 更新日誌 # 防盜鏈 # firefox

v1.1.0 是多偵測東西。v1.1.1 是把已經偵測到的東西真正下下來——具體來說,是那些你一點下載就拉胯的東西。

我們一直撞一道牆:FlowPick 嗅探到媒體資源,在清單裡顯示出來,使用者點下載,然後……沒反應。或者更嘔心,一個 HTML 錯誤頁被存成了 image.jpg。原因?防盜鏈保護。伺服器檢查 Referer 標頭,看到的是瀏覽器擴充功能而不是預期的頁面,就回傳 403 或一個「請登入」的 HTML 頁。FlowPick 的 URL 是對的,但沒辦法證明這個請求是「合法來源」。

v1.1.1 用一層代理解決了這個問題——代理會帶上正確的請求標頭。如果你在用 FlowPick,從 GitHub Releases 更新。新使用者先看 v1.0.0 發布說明

防盜鏈圖片預覽

你會注意到的第一件事:以前顯示破圖的圖片現在能載入了。

  • 代理預覽。 圖片清單、封面圖、懸停預覽、大圖檢視現在全部走代理,自動攜帶 Referer 和 cookies。跨域限制直接繞過。
  • Cookies 自動轉發。 如果原頁面有個工作階段 cookie 授權了這張圖,代理會帶上。不用手動設定請求標頭。

這是頭號視覺 bug——FlowPick 在一個圖庫頁面偵測到 50 張圖,一半縮圖是空白的,因為 CDN 拒絕沒有匹配 Referer 的跨域請求。現在全部載入了。

統一代理下載

預覽是一回事,下載是另一回事。v1.1.0 有個嘔心的 bug:防盜鏈保護的下載會靜默地把 HTML 錯誤頁存成你要的檔案。你打開 cover.jpg 發現是個登入表單。

v1.1.1 加了統一代理下載,涵蓋:

  • 圖片 —— JPG、PNG、GIF、WebP、SVG、AVIF
  • 音訊 —— MP3、AAC、WAV、OGG、FLAC、M4A
  • 文件 —— PDF、DOC、DOCX、XLS、XLSX、PPT、PPTX、EPUB、CSV、RTF
  • 字幕 —— SRT、VTT

代理攜帶 Referer、cookies 和認證標頭。儲存前會檢查回應——如果伺服器回傳的是 HTML 頁(那個「請登入」重新導向),FlowPick 會拒絕儲存,不會給你存一坨垃圾。這就是「下載了圖片但得到 HTML 檔案」問題的修復。

更快的影片封面

v1.0.0 和 v1.1.0 對影片封面的處理很蠢:先試直接跨域請求,等它逾時(可能要 10 秒以上),再退回代理。v1.1.1 跳過了這個等待。

  • 直接代理預載。Referer 的影片封面現在直接走代理。不用再等跨域請求失敗才切換。
  • 彈窗更快。 媒體清單填充封面的速度明顯提升,尤其是在圖片和影片密集的頁面上,20 多個封面同時載入時。

改動不大但體感提升明顯。彈窗感覺更跟手了,因為你不用盯著縮圖在 15 秒裡一個個冒出來。

更強的 Firefox 支援

Firefox 在 v1.1.0 裡吃虧了——Chrome 的 declarativeNetRequest API 讓標頭注入很直接,但 Firefox 的實作有缺口。v1.1.1 補上了。

  • webRequestBlocking 注入標頭。 Firefox 現在用 webRequestBlocking 在媒體請求上注入 Referer 和認證標頭。這個 API Chrome 已棄用但 Firefox 還支援——對這個場景來說,它是正確的工具。
  • 自動移除 Origin 標頭。 Firefox 預設的 Origin 標頭導致一些伺服器拒絕跨域媒體請求。v1.1.1 對媒體資源自動移除它。
  • 跨域載入更穩。 防盜鏈的圖片、音訊、影片和其他媒體現在在 Firefox 裡能穩定載入了。之前不少 Firefox 使用者反映「FlowPick 能看到資源但下不下來」——就是 CORS + 缺標頭,現在修了。

Firefox 使用者,這個版本是為你們做的。v1.0.0 發布說明 承諾過功能對等,我們是認真的——v1.1.1 讓這個承諾在防盜鏈資源上落地。

Bug 修復

防盜鏈重寫也順帶清了一批邊界情況:

  • 修復防盜鏈保護導致圖片無法顯示的問題。
  • 修復圖片下載靜默儲存 HTML 錯誤頁而非實際圖片的問題。
  • 修復音訊和文件下載因缺少必要請求標頭而失敗的問題。
  • 修復 Firefox 中跨域 CORS 資源載入失敗的問題。
  • 修復部分影片封面載入過慢的問題。
  • 修復代理請求攜帶快取標頭導致回應不正確或不完整的問題。

下一步

v1.1.1 是個可靠性版本——讓 FlowPick 已經偵測到的資源真正能下。下一個版本會專注於格式轉換(TS→MP4 已經能用,但 MKV/MP3 匯出是呼聲最高的功能)和 4K 串流的效能。

如果你在某個站點上發現 v1.1.1 還是下不了已偵測到的資源,在 GitHub 上提 issue,附上 URL 和瀏覽器版本。更新日誌頁面 記錄了每個版本。


相關文章

推薦閱讀