軟體開發#1:我寫了一款乾淨、安全的 YouTube 影音下載神器:YT-Media-Extrac

更新 發佈閱讀 8 分鐘

身為一個常常需要整理影音素材、聽 Podcast 或音樂的人,你一定遇過這個痛點:想把 YouTube 影片轉成 MP3 或 MP4,在 Google 搜尋「YT 下載」,結果點進去的網站充滿了滿滿的彈出式廣告、甚至會跳出奇怪的防毒警告與詐騙網頁

為了解決這個生活中的小麻煩,我決定發揮工程師的精神,自己動手打造一款**「乾淨、安全、無廣告」**的桌面軟體 —— YT-Media-Extractor

今天這篇文章,除了要跟各位分享這個實用的小工具怎麼操作,也會在後半段跟對程式開發有興趣的朋友,分享這套軟體背後的「核心架構升級」與「安全防禦機制」開發日誌!


🚀 YT-Media-Extractor 軟體特色

這套軟體專為 Windows 使用者設計,主打極致乾淨與安全:

  1. 🚫 100% 無廣告、無追蹤:沒有任何惱人的彈出視窗,畫面極簡乾淨。
  2. 🛡️ 企業級隱私保護:如果你需要登入帳號下載影片,你的登入憑證會採用作業系統底層的軍規級加密,下載完畢「閱後即焚」,絕不外洩。
  3. ⚡ 永遠保持最新:內建核心更新機制,只要 YouTube 演算法一改,一鍵就能抓取最新的核心引擎,不用擔心突然不能下載。
  4. 🌍 智慧錯誤翻譯機:遇到下載失敗,軟體會自動把生硬的工程代碼翻譯成你聽得懂的中文解決方案。

📖 小白也能一秒上手的操作指南

不用擔心需要任何複雜的設定,只要簡單 2 個步驟就能輕鬆下載!

步驟一:下載與首次啟動

前往我的 GitHub 發布頁面下載免安裝的 .7z 壓縮檔,解壓縮後點擊 YT-Media-Extractor.exe 即可開啟。首次開啟時會跳出「免責聲明與隱私權政策」,這是為了保護雙方權益,閱讀後打勾同意即可進入主畫面。

vocus|新世代的創作平台

步驟二:貼上網址,一鍵下載!

到 YouTube 複製你想要的影片網址,貼到軟體中間的輸入框。 接著,你可以自由選擇要下載**「純音樂 (MP3)」還是「影片 (MP4)」**。點擊下載後,下方的進度條就會開始跑囉!

vocus|新世代的創作平台
vocus|新世代的創作平台

💡 必學小技巧 1:如何解鎖「高畫質 (1080p,取決於作者上傳最高畫質)」與「會員專屬影片」?

如果你發現下載下來的影片只有 360p 模糊畫質,這是因為 YouTube 官方的限制。 只要點擊軟體左下角的 「登入 YouTube」,安全地登入你的帳號(只需登入第一次即可,之後軟體會記住),就能完美解鎖高畫質影片下載!此外,如果你有付費訂閱頻道會員,登入後也能順利把你的「會員專屬內容」下載下來珍藏喔!

vocus|新世代的創作平台

登入完成後會自動關掉登入視窗,顯示以下畫面

vocus|新世代的創作平台

💡 必學小技巧 2:遇到下載失敗怎麼辦?

YouTube 經常會偷偷更改演算法來阻擋外部下載。如果你突然遇到「下載失敗」或卡住不動的情況,別慌張! 只要點擊畫面上方的 「下載失敗?點這裡」 按鈕,軟體就會在背景自動為你更新到最新的核心套件。更新完畢後,再次點擊下載就能順利運作了!

vocus|新世代的創作平台

💻 【開發者視角】從玩具到商業級軟體的架構淬鍊

如果你對寫程式有興趣,或是本身就是工程師,接下來的內容你一定會覺得很有趣。

YT-Media-Extractor 的底層是基於 Electronyt-dlp 以及靜態的 FFmpeg 開發的。在近期的「商業化與安全升級」中,我對它進行了深度的架構重構,以下是幾個關鍵的技術亮點:

1. 斬斷本地伺服器,改用原生 IPC 通訊

早期的版本為了讓前端能呼叫 Node.js 的下載邏輯,我在背景跑了一個 Express + Socket.io 伺服器。

  • 痛點:這會導致使用者的 Windows Defender 防火牆狂跳「是否允許存取網路」的警告框,非常嚇人。
  • 解法:我徹底移除了 HTTP 伺服器,改用 Electron 原生的 ipcMaincontextBridge 進行進程間通訊。現在不僅啟動達到「零延遲」,也完全避開了防毒軟體的誤判,達到完美的 Context Isolation 安全隔離。

2. 軍規級的 Cookie 加密與「閱後即焚」

為了支援下載會員影片與高畫質解鎖,軟體需要抓取使用者的 Cookie。

  • 痛點:明文儲存 cookies.txt 非常危險,一旦電腦中毒,帳號就有被盜用的風險。
  • 解法:我導入了 Electron 內建的 safeStorage API。現在使用者的 Cookie 會與 Windows 底層帳號 (DPAPI) 綁定加密成 cookies.enc。只有在「按下下載的那一瞬間」才會在記憶體中動態解密,且任務一結束或軟體崩潰,系統就會執行強制銷毀明文暫存檔的防護機制。

3. 智慧防禦與錯誤翻譯機 (Smart Error Handling)

在系統維運上,我實作了多層防護鎖:

  • 網路重試機制:導入 fetchWithTimeoutAndRetry,具備 60 秒硬性超時與 3 次冷卻重試,確保在惡劣網路下核心組件仍能下載成功。
  • 翻譯引擎:精準攔截 yt-dlp 的標準錯誤輸出 (stderr)。當遇到 Sign in to confirm you’re not a bot 等生硬代碼時,系統不再只是閃退,而是會自動轉譯為帶有具體解決方案的多國語系白話文提示(例如:「請先登入 YouTube 以驗證身分」)。
vocus|新世代的創作平台

☕ 寫在最後:開源與支持

開發這樣一款軟體,雖然耗費了無數個熬夜抓 Bug、重構程式碼的夜晚,但能解決自己和大家的痛點,那種成就感是無可取代的。

這套軟體是 100% 免費且開源的。如果你覺得 YT-Media-Extractor 有幫助到你,為你節省了寶貴的時間,或是讓你不用再忍受滿滿的廣告,歡迎透過軟體右上角的 「☕ 贊助按鈕」,隨喜請我喝杯咖啡或珍奶!

vocus|新世代的創作平台

你的每一杯咖啡,都是我持續維護伺服器、對抗 YouTube 演算法更新、以及開發新功能的最大燃料!🚀

如果你在使用上有遇到任何問題,或是有想要許願的新功能,都非常歡迎在底下留言告訴我喔!我們下次開發日誌見!

⚠️ 免責聲明與專案規範 (Disclaimer)
《YT-Media-Extractor》是一款基於 Electron 構建的開源專案,其核心初衷為「桌面應用架構與資訊安全研究」。本專案旨在探討原生 IPC 通訊與 OS 底層憑證加密機制,實現純淨安全的應用程式架構。
本軟體原始碼與編譯檔僅供個人軟體工程學習與技術交流之用。嚴格禁止將本工具用於下載、破解或散佈任何受版權保護之內容。 開發者對任何不當使用行為概不負責,請使用者務必遵守相關平台服務條款與著作權法規。
留言
avatar-img
躺在沙灘上的派大星
0會員
7內容數
紀錄自己的一切