一款安全導向的 YouTube 影片、音訊與字幕下載器,使用 Tauri v2、Svelte 5 與 Rust 建置。
VocalSync Downloader 專注在清楚可控的下載流程:先確認來源、信任工具,再下載內容。它支援單支影片、播放清單與頻道預覽下載,並提供畫質選擇、檔名自訂、同名檔案處理、片段下載與即時進度。
透明度聲明 本專案由 AI 協作完成,包含架構、程式碼、UI 與測試修復。主要安全項目已經過 Claude / Codex 交叉 review,並以實測驗證;請依你的使用情境自行評估風險後採用。
youtube.com、youtu.be、youtube-nocookie.com 與其子網域(1)、(2) 等序號| 層級 | 技術 |
|---|---|
| 前端 | Svelte 5 + TypeScript + Vite |
| 桌面框架 | Tauri v2 |
| 後端 | Rust |
| 下載核心 | yt-dlp CLI wrapper |
| 影音處理 | FFmpeg / ffprobe |
| 安全檢查 | URL allowlist + SHA-256 tool trust manifest |
VocalSync.Downloader.Portable.x.y.z.zipD:\Tools\vocalsync-downloader.exe 啟動第一次執行的 Windows SmartScreen 提示 目前 release 尚未做 code-signing 數位簽章,Windows 可能顯示「Windows 已保護您的電腦」。 點選 「其他資訊」,再點 「仍要執行」 即可啟動。 你也可以用下列指令比對 zip 的 SHA-256:
certutil -hashfile "VocalSync.Downloader.Portable.x.y.z.zip" SHA256
| 項目 | 版本 |
|---|---|
| OS | Windows 11 |
| 架構 | x86_64 |
| WebView2 | Windows 10 / 11 預裝版本 |
目前正式 release 以 Windows portable zip 為主。macOS / Linux 可從原始碼嘗試建置,但尚未提供正式 release。
下載前需要先完成工具信任:
手動指定工具時,請確認來源可信。程式會顯示完整路徑與 SHA-256,並要求你勾選來源確認後才會信任。
影片格式會使用 FFmpeg 合併影音。MP3 / M4A 會使用 FFmpeg 做音訊後處理。字幕下載可只使用 yt-dlp。
npm install
npm run tauri dev
npm run tauri build
npm run pack:portable
建置產物位於:
src-tauri/target/release/bundle/
portable zip 位於:
src-tauri/target/release/bundle/portable/
vocalsync-downloader-tauri/
├── src/
│ ├── components/ # 共用 UI 元件
│ ├── i18n/ # 多語系文字
│ ├── lib/ # Tauri API wrapper
│ ├── tabs/ # 關於頁等頁面
│ └── App.svelte # 主要下載介面
├── src-tauri/
│ ├── src/
│ │ ├── download.rs # yt-dlp 下載流程、進度、衝突處理
│ │ ├── tools.rs # 工具偵測、安裝、SHA-256 信任
│ │ ├── lib.rs # Tauri commands
│ │ └── main.rs # Tauri 入口
│ ├── capabilities/ # Tauri v2 權限設定
│ └── tauri.conf.json
├── scripts/
│ └── pack-portable.mjs # portable zip 打包
└── package.json
使用遇到問題、下載失敗或想提出功能建議,可以透過以下方式聯絡:
[email protected]回報時建議附上:
VocalSync Downloader 本體以 MIT License 開源發佈。
| 元件 | 授權 | 在本專案中的用途 |
|---|---|---|
| Tauri | MIT / Apache-2.0 | 桌面應用框架 |
| Svelte | MIT | 前端 UI 框架 |
| yt-dlp | The Unlicense | YouTube 下載 CLI |
| FFmpeg | LGPL 2.1+ / 可能為 GPL | 影音合併、轉檔與片段處理 |
yt-dlp 與 FFmpeg 皆以 subprocess / CLI 方式呼叫。本倉庫原始碼未內嵌 yt-dlp 或 FFmpeg binaries;使用者透過應用程式下載、處理、轉換的內容,其著作權與合法使用責任由使用者自行承擔。