你是否想过拥有一个完全由自己掌控、无需服务器、全球高速访问的私人影音库?今天,我将向你介绍一个激动人心的开源项目——Libre-TV,并为你提供一份保姆级的教程,教你如何利用 Cloudflare Pages 的强大功能,免费搭建属于你自己的流媒体平台。

最终效果

一个可以通过浏览器随时随地访问的、界面精美的私人影视库,视频源来自你自己的 Google Drive。

核心技术栈

  • 视频托管: Google Drive (免费、容量大)
  • 前端 & 后端: Libre-TV (开源的流媒体播放器项目)
  • 部署 & 托管: Cloudflare Pages (强大的 Serverless 平台,提供免费额度)

需求清单 (Requirements)

在开始之前,请确保你拥有以下账号和工具:

  1. 一个 Cloudflare 账号: 这是我们部署服务的基础。
  2. 一个 GitHub 账号: 用于托管和管理 Libre-TV 的代码。
  3. Node.js 环境: 在你的电脑上需要安装 Node.js 和 npm (或 pnpm/yarn)。
  4. Google Drive: 你需要一个 Google 账号,并准备好存放视频的文件夹。

为什么选择 Cloudflare Pages? (优势)

  • 成本效益 (免费): Cloudflare 的免费套餐提供了慷慨的构建和带宽额度,对于个人项目来说绰绰有余。
  • 全球加速 (高速): 基于 Cloudflare 的全球边缘网络,你的网站将被缓存在离用户最近的节点上,实现极低的访问延迟。
  • 完全无服务器 (Serverless): 你不需要购买和维护任何 VPS 或服务器。告别复杂的运维、安全补丁和 SSH!
  • 自动化部署 (CI/CD): 只需将代码推送到 GitHub,Cloudflare Pages 就会自动为你构建和部署新版本。
  • 自定义域名: 可以轻松地为你的影院绑定个人域名,并自动配置 HTTPS。

详细操作步骤

请严格按照以下步骤操作,你将能轻松完成搭建。

步骤一:准备 Libre-TV 代码库

  1. Fork 项目:
    首先,打开 Libre-TV 的官方 GitHub 仓库:https://github.com/its-dextar/Libre-TV
    点击页面右上角的 “Fork” 按钮,将这个项目复制一份到你自己的 GitHub 账号下。后续所有的操作都将在你自己的这个 Fork 仓库中进行。

步骤二:准备 Google Drive 视频源

  1. 创建文件夹: 在你的 Google Drive 中创建一个文件夹,用来存放你想要播放的电影或电视剧。例如,你可以命名为 MyTV
  2. 上传视频: 将你的视频文件上传到这个文件夹中。
  3. 获取文件夹 ID:
    • 在浏览器中打开这个文件夹。
    • 观察地址栏的 URL,它看起来会像这样:https://drive.google.com/drive/folders/1a2b3c4d5e6f7g8h9i0j
    • URL 最后那串无规律的字符串 1a2b3c4d5e6f7g8h9i0j 就是你的文件夹 ID。请复制并保存好它,稍后会用到。
  4. 设置共享权限:
    • 右键点击该文件夹,选择 “共享” -> “共享”
    • 在“常规访问权限”设置中,将权限从“受限”更改为 “知道链接的任何人”
    • 这是必须的步骤,否则 Cloudflare 将无法访问到你的视频文件。

步骤三:部署到 Cloudflare Pages

  1. 登录 Cloudflare: 打开你的 Cloudflare 仪表板。

  2. 进入 Pages: 在左侧菜单中,选择 “Workers & Pages”

  3. 创建应用: 点击 “创建应用程序” -> 选择 “Pages” 选项卡 -> 点击 “连接到 Git”

  4. 选择仓库:

    • 在弹出的窗口中,选择你刚刚 Fork 的 Libre-TV 仓库。
    • 点击 “开始设置”
  5. 配置构建设置:

    • 项目名称: 可以自定义,例如 my-private-tv
    • 生产分支: 选择 main
    • 框架预设: Cloudflare 非常智能,会自动识别为 Next.js。保持默认即可。
    • 构建设置:
      • 构建命令: npm run build
      • 构建输出目录: .next
    • 环境变量 (最关键的一步):
      • 点击 “添加环境变量”
      • 变量名称: DRIVE_ID
      • 变量值: 粘贴你在步骤二中获取的 Google Drive 文件夹 ID
      • 点击 “保存”
  6. 开始部署:

    • 点击页面底部的 “保存并部署” 按钮。
    • Cloudflare 现在会自动从 GitHub 拉取代码,安装依赖,执行构建,并将你的应用部署到全球网络。
    • 你可以实时查看部署日志。整个过程大约需要几分钟。

步骤四:访问你的私人影院

部署成功后,Cloudflare 会提供给你一个 *.pages.dev 的免费域名,例如 my-private-tv.pages.dev

点击这个链接,恭喜你!你已经成功搭建了属于自己的私人影院!

(可选) 步骤五:绑定自定义域名

  1. 在你的项目页面,进入 “自定义域” 选项卡。
  2. 点击 “设置自定义域”
  3. 输入你自己的域名,并按照 Cloudflare 的指引添加相关的 CNAME 解析记录即可。Cloudflare 会自动为你处理 SSL 证书。

常见问题 (FAQ)

  • Q: 部署失败怎么办?
    A: 仔细检查部署日志。最常见的原因是环境变量 DRIVE_ID 没有正确设置,或者 Google Drive 文件夹的共享权限不正确。

  • Q: 视频无法播放?
    A: 确认你的 Google Drive 文件夹权限已设置为“知道链接的任何人”。同时检查视频文件本身是否可以正常播放。

  • Q: 可以添加多个文件夹吗?
    A: Libre-TV 目前的设计是对应一个根文件夹 ID。但你可以在这个根文件夹下创建子文件夹来分类你的影片。

总结

通过本教程,我们利用 Libre-TV 和 Cloudflare Pages,成功地搭建了一个功能强大、性能卓越且几乎零成本的私人流媒体平台。这不仅是一次有趣的技术实践,更展示了 Serverless 架构在现代 Web 应用中的巨大潜力。

现在,开始整理你的片单,享受你的私人影院时光吧!