最近有越來越多的第三方Youtube網頁前端出現,讓使用者能間接觀看Youtube影片。也就是說不使用Youtube官方網頁,也不使用Youtube官方APP,改用第三方的服務看影片,藉此繞過Youtube的廣告與追蹤器。
這樣既可以看Youtube影片,繞過「Youtube禁止使用廣告攔截器」,不受演算法影響,又能保護隱私。
本文要介紹的是依照這個理念設計的技術「Piped」網站。
1. Piped網站簡介#
幾年前開源軟體 Invidious出現,它以代理伺服器爬取Youtube影片,去掉廣告和追蹤器,還給使用者一個乾淨的Youtube界面。由於是開放原始碼軟體,世界各處便出現了許多採用Invidious技術的網站,開放給一般者無廣告看Youtube影片。有的還開放註冊讓使用者訂閱頻道。
開發者Kavin對Invidious常常崩潰感到不滿意,便自己寫了新的「Piped」軟體,功能比Invidious要強。
原始碼放在Github: TeamPiped/Piped: An alternative privacy-friendly YouTube frontend which is efficient by design.
全球有採用Piped技術的網站,稱為Piped實例(instances),比如Piped的官方實例就是https://piped.kavin.rocks
。
儘管Piped功能好像比Invidious多,但Piped有單點故障的問題。Piped跟Invidious都可能遇到Youtube網頁API改變而暫時無法播放的問題,Invidious能一鍵切換站台再跳回原影片,Piped要手動換實例。
最穩定的用法還是自架Piped實例了吧,Piped跟Invidious一樣是開放原始碼軟體,提供開箱即用的自架docker-compose。
2. Piped網站用法#
到 實例列表挑一個來用,例如
https://piped.kavin.rocks
。進入Piped主界面,會顯示該實例所在位置的熱門影片。
點選右上角Preferences,設定主題顏色和語言
播放界面調整影片畫質、影片加入播放清單、下載影片幀(擷圖)、啟動純音樂模式。如果遇到影片無法播放的問題,請換個實例,或者 回報issue給開發團隊。
Piped支援電腦與手機界面,手機瀏覽器無論是Android還是iOS皆支援背景播放。
至於Piped的帳號是自由註冊的,僅用於訂閱頻道和建立播放清單,跟Youtube帳號無關。
如果想要更多進階功能的,可以使用手機APP存取Piped網站: LibreTube (Android) | Yattee (iOS)
3. 自架Piped實例#
Piped專案架構:
- 前端使用Vue.js
- 後端使用Java寫成的NewPipeExtractor
- 代理伺服器使用Rust寫成
官方文件建議使用Caddy或Nginx反向代理伺服器的方案來存取各項後端服務。此方案需要自備伺服器與子域名。
安裝 Docker
取得docker-compose,一連串的服務包含Piped前端、Piped後端、Piped代理伺服器、Caddy、WatchTower。
git clone https://github.com/TeamPiped/Piped-Docker
cd Piped-Docker
- 執行指令稿,依序填入要使用的子域名
./configure-instance.sh
接著在您的域名供應商後台,新增DNS紀錄,指向伺服器的公共IP。
啟動服務
docker compose up -d