快轉到主要內容

Invidious用法:Youtube去廣告、網頁下載影片的開源前端網站

分類   Linux系統 Self-hosting自架
標籤   Invidious Youtube
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

想要在電腦和手機無廣告看Youtube影片?你有「Invidious」這個替代網站可以使用。

Invidious意為無聊、令人討厭之意,這個網站讓Youtube界面變無聊了?其實是最大化精簡了播放功能。

採用Invidious技術的網站,能夠正常搜尋Youtube影片,去廣告,去掉Google追蹤器,還有背景播放、從網頁下載影片、自訂播放清單的功能。

這篇文章,Ivon將會介紹Invidious網站的使用方法,最後討論如何自架一個Invidious站台。

1. Invidious簡介
#

其實「Invidious」並不是單一網站,而是一個開源專案的名字。Invidious專案旨在幫助人們建立一個極簡化的Youtube前端網站,單純用於看影片,免受廣告干擾。

原始碼位於Github: Invidious is an alternative front-end to YouTube

Invidious並無使用官方Youtube API,只爬取必要的網頁影片資訊,類似代理伺服器的概念,所以可以繞過「YouTube禁止使用廣告攔截器」的警告訊息。

現在全球有許多使用Invidious技術的站台,只要用電腦或手機瀏覽器連上其中一個站台便能看影片,甚至支援Tor連線呢。

此外,Invidious訂閱列表跟無廣告手機APP NewPipe通用。NewPipe同樣秉持「不依賴Google帳號看Yotube影片」的理念設計。

類似Invidious理念的技術還有 Piped


缺點是Invidious無法登入Google帳號,適合不依賴Google帳號,只想單純看影片的使用者。有些Invidious站台會開放註冊,那也頂多儲存播放清單和訂閱列表而已。

且如果實例伺服器位於歐美國家,便搜尋不到有區域限制的影片,比方說台灣木棉花代理的動畫。另外有版權保護的音樂影片也容易播放失敗。

所幸因為是開源技術,你也可以自己架一個Invidious站台看影片,這樣你就不用跟其他人搶資源,並對站台資料有完全掌控權。

2. Invidious網站用法
#

全球有許多使用Invidious技術的網站,稱為「公共站台」。

如果您不想自架Invidious,請挑個 Invidious公共站台來用,選Health為100的站台(例如較知名的站台https://yewtu.be),再點選旁邊的Go。

由於Invidious有網頁就能運作,Android和iOS用戶可以點選瀏覽器的「新增網站到主畫面」,將網站捷徑加入到手機桌面。

  1. 進入Invidious站台首頁就可以搜尋影片囉

  2. 手機即使回到桌面,Invidious仍能在背景繼續播放,Android與iOS皆然

  3. 有些Invidious站台開放下載Youtube影片,最高畫質到720p

  4. 如果影片無法載入,請點選「切換Invidious站台」換個站台,或者 回報issue給Invidious開發團隊。

  5. 有些Invidious站台開放註冊帳號,方便儲存歷史紀錄與儲存播放清單。帳號僅限同一個站台使用,若要搬遷到其他站台需手動匯出資料。

如果您認為網頁不好用,那麼請使用支援Invidious技術的APP:

Android請用 Clipious

iOS請用 Yattee

電腦請用 FreeTube

3. 自架Invidious站台
#

不信任Invidious公共站台,當然你也可以自己架一個,擁有更快載入速度,調整更多細部設定。這節討論在Linux電腦以Docker架設Invidious的方法。

有趣的是為強調開源隱私,Invidious官方映像檔是放在RedHat的Quay.io而非Docker Hub。

  1. 在Linux電腦安裝 Docker

  2. 為防止Invidious被Youtube伺服器擋住,執行youtube-trusted-session-generator容器,取得po_tokenvisitor_data資料

docker run quay.io/invidious/youtube-trusted-session-generator
  1. 因為部署需要指令稿初始化,建議複製Invidious官方的儲存庫
git clone https://github.com/iv-org/invidious.git
cd invidious
  1. 編輯docker-compose.yml,將po_tokenvisitor_data填進去,再按需修改。詳細設定檔參考 官方範本
version: "3"
services:

  invidious:
    image: quay.io/invidious/invidious:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:3000:3000" # 預設啟用反向代理,如果是架在自己電腦,去掉127.0.0.1
    environment:
      INVIDIOUS_CONFIG: |
        db:#資料庫密碼
          dbname: invidious
          user: kemal
          password: kemal
          host: invidious-db
          port: 5432
        check_tables: true
        signature_server: inv_sig_helper:12999
        visitor_data: CHANGE_ME #修改此值
        po_token: CHANGE_ME #修改此值
        statistics_enabled: true
        hmac_key: ""  #hmac_key可以用指令openssl rand -hex 20隨機生成        
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
      interval: 30s
      timeout: 5s
      retries: 2
    logging:
      options:
        max-size: "1G"
        max-file: "4"
    depends_on:
      - invidious-db

  inv_sig_helper:
    image: quay.io/invidious/inv-sig-helper:latest
    init: true
    command: ["--tcp", "0.0.0.0:12999"]
    environment:
      - RUST_LOG=info
    restart: unless-stopped
    cap_drop:
      - ALL
    read_only: true
    security_opt:
      - no-new-privileges:true

  invidious-db:
    image: docker.io/library/postgres:14
    restart: unless-stopped
    volumes:
      - postgresdata:/var/lib/postgresql/data
      - ./config/sql:/config/sql
      - ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
    environment:
      POSTGRES_DB: invidious
      POSTGRES_USER: kemal
      POSTGRES_PASSWORD: kemal
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]

volumes:
  postgresdata:
  1. 啟動容器
docker compose up -d
  1. 瀏覽器開啟http://localhost:3000就可以看Youtube了。要從外部存取請使用通訊埠轉發或是 內網穿透軟體

  2. 按「趨勢」顯示熱門影片。內容地區可以在右上角設定裡面調整。

  3. 點選右上角按照喜好自行設定,「預設聆聽」是指只播放音訊不播放影片。

Invidious內建帳號註冊功能。帳號的功能僅是紀錄觀看歷史和訂閱列表而已,不會讓Google知道使用者的動向。雖說如此,公共Invidious站點的隱私程度仍要自行衡量。

  1. Indvidious架好後能從網頁端下載影片,不過最高畫質只有720p,其他畫質要手動合併影音檔案。

根據 Invidious官方推薦的APP,瀏覽器安裝擴充元件 Privacy Redirect便能將所有Youtube連結自動導向自架的Invidious站點。

如果你有興趣 自架代理搜尋引擎SearXNG,它也支援將影片搜尋結果導向自己架的Invidious站點。

相關文章

Tube Archivist:批次下載YT影片,打造離線版YouTube
分類   Linux系統 Self-hosting自架
標籤   Yt-Dlp Youtube
Piped,無廣告、支援手機背景播放、下載影片的Youtube鏡像站,可自架
分類   Linux系統 Self-hosting自架
標籤   Piped Youtube
Tailscale設定Subnet Routers,從跳板機存取區網的裝置
分類   Linux系統 Self-hosting自架
標籤   Tailscale

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。