📌 项目地址:iv-org/invidious | ⭐ 21,539 颗星 | 🔧 Crystal | 📜 未标注
这个项目是什么
Invidious 是一个开源的 YouTube 替代前端。它让你不访问 youtube.com 也能观看视频、管理订阅,并且不需要使用官方 YouTube API。项目由 Crystal 语言编写,GitHub 上已有 21539 Star。
简单说,Invidious 提供了一层你自己的”翻译层”,把 YouTube 的内容重新包装成更轻量、更隐私友好的界面。
它解决了什么问题
官方 YouTube 前端通常带有广告、追踪脚本、JavaScript 依赖,以及强制登录才能使用部分功能的问题。Invidious 直接回应了这些痛点:
- 轻量级,页面体积更小
- 没有广告,没有追踪
- 不需要 JavaScript 也能观看视频
- 支持浅色/深色主题,首页可自定义
- 订阅系统独立于 Google 账号
- 支持所有已订阅频道的通知
- 纯音频模式,在手机上支持后台播放
- 支持 Reddit 评论(替代 YouTube 评论区)
- 界面支持多种语言
此外,Invidious 不依赖官方 YouTube API,这意味着它不与你共享 Google 数据,也避免了 API 配额限制。
实际用法:先选一个公共实例
使用 Invidious 最简单的方式,是直接选择一个公共实例:
Select a public instance from the list and start watching videos right now!
公共实例列表在 instances.invidious.io。打开后选择一个实例,就可以像使用 YouTube 一样搜索、观看视频、订阅频道。你可以把实例地址当作新的”视频网站”来用。
为了更方便,官方推荐配合浏览器扩展 Privacy Redirect,它能把 YouTube 的 URL 自动重定向到你选择的 Invidious 实例,并替换其他网站内嵌的 YouTube 视频。安装方式参见 Privacy Redirect 项目。
实际用法:自托管 Invidious
如果你想完全掌控实例,可以自己部署。README 给出的指引是:
Follow the installation instructions
具体安装步骤参考官方文档:https://docs.invidious.io/installation/
需要说明的是,README 中没有提供直接的 docker-compose 或编译命令,所以请务必查阅上面的官方安装文档,里面涵盖 Docker、Linux、macOS 等部署方式。
数据导入导出:从 YouTube / NewPipe / FreeTube 迁移
Invidious 支持多种数据迁移场景:
- 从 YouTube、NewPipe、FreeTube 导入订阅
- 从 YouTube、NewPipe 导入观看历史
- 导出订阅到 NewPipe、FreeTube
- 导入/导出 Invidious 用户数据
这意味着你不需要保留 Google 账号生态,也能把自己的订阅和观看记录带走。
技术特点:为什么它和官方 API 没关系
Invidious 不调用官方 YouTube API,而是通过自己的方式获取 YouTube 内容。因此它绕开了 Google 的 API 授权、配额限制和条款约束。同时,项目没有 Contributor License Agreement(CLA),这意味着你贡献代码后仍然保留自己的知识产权,对开发者更友好。
Invidious 还提供开发者 API,文档见 https://docs.invidious.io/api/。如果你有第三方客户端需求,可以基于这些接口构建。
需要注意什么
- 自托管需要持续维护。YouTube 前端结构会变化,Invidious 需要同步更新才能正常工作,因此不是一劳永逸的部署。
- 公共实例的可用性不稳定,实例列表会动态变化,建议优先选择社区维护活跃、更新频繁的实例。
- 尽管无官方 API,但本质上 Invidious 仍然在获取 YouTube 的内容,使用前请了解相关服务条款和当地法律。
- 如果你只是普通观众,公共实例足够用;如果你想给团队或社区提供服务,自托管并保证实例稳定性是需要投入精力的。
如何贡献
项目欢迎代码和翻译贡献。
代码贡献流程遵循 GitHub Fork + PR 模式:
- Fork 这个仓库:https://github.com/iv-org/invidious/fork
- 创建功能分支:
git checkout -b my-new-feature - 暂存文件:
git add . - 提交改动:
git commit -m 'Add some feature' - 推送到分支:
git push origin my-new-feature - 创建 Pull Request:https://github.com/iv-org/invidious/compare
翻译工作在 Webate 上进行:https://hosted.weblate.org/engage/invidious/。不需要账户也可以建议翻译,但如果你想持续贡献,注册账户是推荐的。
如果你厌倦了 YouTube 官方前端的广告和追踪,或者想要一个更轻量、可控的观看方式,Invidious 是值得尝试的项目。先用公共实例体验,再决定是否自托管。