Invidious 開源 YouTube 前端自架實測,自己架一台能搜能播

Invidious 是開源的 YouTube 替代前端,公共實例在平台封鎖下只剩五個明網據點。本篇用官方容器映像在本機自架三容器實測:搜尋與播放可用,並拆解預設直連 googlevideo 的隱私邊界、DASH 畫質取捨與自架門檻。

用 AI 摘要這篇文章:

如果你最近聽過 Invidious 這個名字,多半伴隨著兩種極端說法:一種說它是看 YouTube 的乾淨替代品,一種說它早就被 YouTube 封死了。我把官方釋出的容器映像抓下來,照文件在自己的機器上架了一台,跑給你看 2026 年 10 月的真實答案:軟體本身活著、能搜、能播;被打到只剩五個據點的是公共實例這條路;而自己架一台的代價,是把一部分基礎設施的工作搬回家。

先講最直接的證據。照官方文件的最短流程,我在自己的機器上把三個容器跑起來之後:搜尋 linux 這個關鍵字,API 回傳二十筆結果,清單裡有近期上架的新片,例如一部標題直接寫著 2026 年 10 月更新的 Linux 新聞片;再挑一部 Blender 基金會以 CC 授權釋出的開源動畫短片,在瀏覽器裡按播放,進度條正常往前走,離開頁面前已經播到第六秒。這些不是文件抄來的宣傳詞,是我在自己機器上看到的畫面。

自架 Invidious 實例的影片播放頁,正在播放 Blender 基金會以 CC 授權釋出的開源動畫短片,進度條正常前進Pin
自架實例的播放頁,播放的是 Blender 基金會以 CC 授權釋出的開源動畫短片(2026 年 10 月本機實測)

同一時間,官方維護的公共實例清單上,明網可連的實例只剩五個。清單開頭的說明寫得明白:清單這麼短,是因為 YouTube 近期封鎖造成的問題,如果可以,請在家自己架一台。一個開源專案的官方文件直接勸你別再依賴它的公共服務,這句話本身就是 Invidious 在 2026 年處境最好的註解。

先認識三個容器:本體、companion 與資料庫

照官方文件的說法,現在要架一台能播影片的 Invidious,需要的東西有三個:Invidious 本體、一個叫 companion 的搭配組件、再加一個 PostgreSQL 資料庫。本體是 Crystal 語言寫的網頁應用,負責介面、搜尋、帳號與訂閱;companion 是 2024 年 9 月才出現的新組件,官方文件用粗體寫明:沒有設定 companion,播放不會動;資料庫則存放帳號、訂閱與播放紀錄。

這組三件式結構是這專案這兩年最大的變化。companion 出現之前,Invidious 靠另外兩個各自獨立的小工具處理 YouTube 的簽章與信任階段作業;companion 把這些工作整包收走,用一個基於 youtube.js 的服務取代。它要解決的問題只有一個:YouTube 從 2024 年 6 月起,大規模要求第三方軟體證明自己不是機器人,錯誤訊息是要求登入以確認你不是機器人。專案維護者在編號 4734 的問題回報裡承認,這波封鎖影響所有取用 YouTube 的軟體,該討論串累積五十七則往來,一路延續到 2025 年,後來的架構調整都是這場攻防的產物。

我這台自架實例的 companion 容器,啟動後的紀錄裡有一行:成功產生 PO token,並且用一支影片驗證通過。PO token 可以想成 YouTube 要求的通行證明,companion 的核心工作就是持續生成、驗證這張證明,紀錄裡甚至看得到完整的求生過程:先在一種取法下拿不到可用格式,自動改用另一種用戶端身分,再完成驗證。換句話說,你自架的不只是一個網頁介面,還有一台專門跟 YouTube 的反機器人機制周旋的小引擎,而且這引擎需要快取空間存放它的工作成果,這是磁碟需求的一部分。

最短可行流程,還有一個文件沒寫清楚的坑

實際動手把流程壓到最短,是這樣的。

前置作業只有一項:一個能跑 Docker 的環境,官方檔案另外提醒,各種一鍵託管平台不在支援範圍,Invidious 這種本質上是代理、又吃頻寬的服務,在那些平台上經常被以濫用為由停權。

接著照官方安裝文件做三件事。把專案倉庫 clone 下來,因為資料庫初始化腳本要掛載進容器;產生兩把各十六個字元的密鑰,一把給 Invidious 本體當 HMAC 金鑰、一把給 companion 當通訊金鑰;照文件給的內容寫好 compose 設定,三個服務掛在同一個內部網路,資料庫容器叫 invidious-db、companion 容器就叫 companion,本體的連接埠映射到自己機器,然後把整組拉起來。

這裡有一個我親身踩到的坑:文件只說用 pwgen 產生十六個字元的密鑰,如果你像我一樣圖方便產生了更長的十六進位字串,Invidious 本體會起不來、反覆重啟,紀錄一遍又一遍報同一行設定錯誤,說金鑰長度必須是十六個字元。照十六個字元重做,三個容器就都活著了。這種錯誤不會在文件裡被醒目警告,第一次自架的人很容易在這裡多花半小時。

驗證是不是真的起來了,最乾淨的方式是打它的狀態端點。本體健康時會回一段 JSON,裡面有軟體名稱與版本號,我這台回的是 2026.08.04,對應官方 2026 年 8 月 5 日釋出的 v2.20260804.1 版。接著打搜尋 API,能回傳結果清單,就代表它跟 YouTube 之間的通道是通的;再打開瀏覽器播一支片,播放器有畫面、進度會走,這台機器就算完整驗收。

自架 Invidious 實例的搜尋結果頁,搜尋 linux 關鍵字顯示多筆影片縮圖與標題清單Pin
自架實例的搜尋結果頁,家寬位址直連 YouTube 查詢,清單內含近期上架的新片

有個小細節值得記下來:全新的實例打開首頁會被直接轉走,因為熱門清單是空的,要等背景工作慢慢去抓內容。第一次使用直接從搜尋開始就好,別誤以為架壞了。

預設模式下,你的影片流其實直連 googlevideo

很多人接觸 Invidious 的動機是隱私:不想讓 Google 記錄每一支看過的片。這裡有一條官方常見問答裡寫得明白、但多數介紹文不會強調的邊界,值得在決定自架之前先看清楚。

預設情況下,Invidious 為了省自己的頻寬,影片資料流是讓你的瀏覽器直接向 Google 的影像伺服器,也就是 googlevideo.com 網域,索取內容。我在自架實例的回應標頭裡直接看到了證據:內容安全政策裡允許的媒體來源,除了實例自己,就屬 googlevideo.com 與 youtube.com 兩個網域。用 API 查一支片的串流位址,拿到的是一長串 googlevideo.com 開頭的網址。換句話說,這個模式下 Google 看得到你的 IP 位址與瀏覽器特徵,只是少了帳號層的行為串接。

想關掉這條邊界,途徑是偏好設定裡的 Proxy videos 選項。打開之後,實例會變成中繼站,影片流先經過你的實例再轉給瀏覽器。我實測的對照很直觀:同一支片,關閉代理時串流位址指向 googlevideo.com;加上代理參數之後,位址變成相對路徑的 /videoplayback,由實例自己供流。兩種模式的差別,就濃縮在這個網址開頭的變化裡。

自架 Invidious 實例的偏好設定頁,包含影片畫質與 Proxy videos 等選項的核取方塊與下拉選單Pin
偏好設定頁:影片畫質(DASH)與 Proxy videos 代理選項都在這裡切換

代價也寫在官方文件裡:這個選項會吃掉實例的出口頻寬。自己在家架的人多半能接受,反正家用上傳速度就是那個上限,一個人看片夠用;但這正是公共實例管理員的兩難,公開代理影片流等於邀請全世界把流量灌進自己機器,所以問答明言實例管理員可以停用 DASH 這類吃流量的功能,公共實例的高畫質體驗因此不一定開得起來。

隱私的另一半邊界在實例這端。官方問答說得很誠實:Invidious 軟體本身不收集使用者資料,但實例主人跟任何網站經營者一樣,技術上可以記下訪客的 IP;伺服器預設會記錄哪些網址被存取、回應碼與回應時間。自己架的好處在於這個問題直接消失,實例的主人就是你。在實例上開的本機帳號,觀看紀錄與訂閱清單存在那台實例的資料庫裡,隨時可以匯出搬家,不必綁在單一平台的帳號體系上。

為什麼預設只有 360p

第一支片播起來之後,你大概會馬上注意到畫質選單很陽春。這不是架壞了,是設計上的取捨。

我用 API 檢查同一支片的串流清單,結果很說明問題:非 DASH 模式下,音軌視軌合一的可選串流只有一條,是 360p 的 itag 18;切到 DASH 格式的分離串流,則有二十三條可選,音軌與視軌分開、涵蓋更高的解析度與不同的編碼。官方常見問答把規則講得很白:360p、480p、1080p 這些選項只在 DASH 開啟時存在,而 DASH 必須經過實例代理才能正常運作,理由跟前面一樣,頻寬。

所以畫質、代理、實例流量成本,這三件事其實綁在同一個開關上。想在自己的實例看高畫質,就要接受自己的機器成為影片流的中繼點;堅持不代理,就只能用省流量的合併格式,畫質上限就是那條 360p。隱私與畫質在這裡是同一枚硬幣的兩面,官方用預設值替你選了省流量的那一面,想翻面就自己進偏好設定改。

還有幾個實用細節。如果某支片怎麼播都失敗,官方問答建議多重新整理幾次再試,因為 YouTube 偶爾會送出損壞的影像資料,重新拿幾次就能拿到好的;熱門音樂類內容常被地理限制卡住,這種情況開啟代理,或者換一台實例,通常能解;字幕則是官方問答明說的已知問題:熱門公共實例上的字幕經常不工作,原因是 Google 端的限流,解法一樣是換冷門一點的實例或自己架。這些問題的共通點在於:源頭多半是平台端的反制措施,而非 Invidious 自身的程式碼,所以解法全都繞著怎麼跟平台討資料打轉。

不想自架的人,現在面對的是這五個據點

回到公共實例這條路。官方 API 的清單在 2026 年 10 月總共十一筆紀錄:明網五個,加上幾個 Tor、I2P 與 Yggdrasil 網路的隱藏服務版本。五個明網實例的監測狀態大致是這樣:

實例位置近期可用率
inv.nadeko.net智利約 99.7%
invidious.nerdvpn.de加拿大約 90.4%
invidious.f5.si日本約 91.7%
invidious.tiekoetter.com德國約 97.9%
yt.chocolatemoo53.com美國約 98.0%

可用率是官方監測服務的數字,為 2026 年 10 月的清單狀態。數字之外,親自連一遍會遇到另一個新的現實:我連加拿大那個實例時,第一個回應是被導向一個名為 gandalf 的驗證頁,通過之前看不到任何內容;可用率最高的智利實例的首頁則直接把訪客轉去熱門頁。這不是故障。官方清單規則第十四條明白要求公共實例必須部署反濫用措施,第十五條更直接:與 YouTube 通訊的位址必須輪替,單一固定位址不夠格列入公共清單。你遇到的驗證頁、時好時壞的播放、忽然消失的實例,就是這兩條規則在第一線運作的樣子。

這也是官方文件勸人回家自架的原因。公共實例要同時扛住 YouTube 的封鎖與全世界的收視流量,維運成本高到幾乎沒有人願意長期做慈善;自己架,就這次觀察,家用固定位址短期內反而比輪替陣列安靜:我這台機器搜尋播放全通,部分公共實例連首頁都要先過驗證。兩條路的難易在 2026 年已經翻轉:等別人的實例能用,往往比自己架一台更不確定。

誰適合把這台引擎搬回家

官方文件對自架的硬體門檻寫得具體:至少 20GB 磁碟空間與 2GB 可用記憶體,而且那段話還帶了一個但書,前提是照官方建議定期重啟服務;公共實例等級的建議值則高得多,釋出 60GB 磁碟、4GB 記憶體、2 核 CPU、200Mbps 頻寬與 20TB 等級的流量。我的經驗是個人自用離那個建議值很遠也跑得動,這次測試期間三個容器加起來的負擔不算重,但那 20GB 起跳的磁碟需求是真的,companion 的快取與資料庫都要地方放,拿小容量機器硬塞遲早會滿。

適合的人大概長這樣:本來就有 NAS 或 VPS、懂一點 Docker、不喜歡登入 Google 帳號看片、能接受自己顧機器的人。對台灣讀者來說,家寬上傳速度直接決定 proxy 模式體驗,若你常在外用手機看片、家裡上傳又只有個位數 Mbps,開代理的高畫質體驗會打折;反過來,若大多在家裡網路內看,本機直接走實例流量,體驗就順。訂閱清單存在自己的實例裡隨時匯出,這是把資料主導權拿回來的實際形態。

不適合的人也很清楚:要穩定高畫質、要留言互動、要推薦演算法、不想管任何基礎設施的人,官方網頁與 App 就是為你設計的,硬繞一圈只會換來挫折。另外要誠實說邊界:我只跑了這台機器一段時間,長期運作的穩定性、YouTube 下一波封鎖會不會打到家用位址、每個月的流量帳單長什麼樣子,這些要交給時間,不該由一篇介紹文替你保證。

授權是 AGPL-3.0,開發節奏跟著 YouTube 的封鎖走

Invidious 本體與 companion 都以 AGPL-3.0 授權釋出。這是一種強調網路服務也要回饋原始碼的自由軟體授權:自己用沒有任何問題;想拿去改作對外服務,修改後的原始碼必須依條款公開,官方實例清單也真的要求申請列入的實例公開自己改過的原始碼並說明改了什麼。專案倉庫在 2018 年建立,到 2026 年 10 月中累積約兩萬五千顆星、兩千八百多次複製,最近一次程式提交在 2026 年 10 月中,最新版號停在 2026 年 8 月。它的版號直接用日期編碼,從清單上一路排下來是 2025 年 9 月、2026 年 2 月、6 月底、7 月底、8 月初,節奏看得出一件事:這個專案的開發日曆,跟 YouTube 每一波反制措施的時間軸是重疊的。以開源專案的節奏看,這是一個仍被積極維護、但把大部分力氣花在跟平台周旋上的專案。

順帶一提,如果你的需求其實是下載影片而非更乾淨地觀看,之前介紹過的 cobalt 走的是另一條路;要的是把演講或教學片轉成文字稿,YouTube 字幕擷取工具更對題;想在 YouTube Music 裡挖掘新音樂,可以看 Samplette。Invidious 的位置不在這些任務上,它交換的是觀看體驗與資料主導權這一件事,而這件事在 2026 年的門票價格,就是你願不願意自己當基礎設施的管理員。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1962

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...