avatar

麦兜的小站

MDO.INK

  • 首页
  • 随笔
  • 知识库
  • 归档
  • 动态
  • 标签
  • 关于
Home 搭建影视站,支持Vercel/Docker等部署方式
文章

搭建影视站,支持Vercel/Docker等部署方式

Posted 2025-07-1 Updated 2025-07- 1
By power 已删除用户
14~18 min read

LibreTV 是一个轻量级、免费的在线视频搜索与观看平台,提供来自多个视频源的内容搜索与播放服务。无需注册,即开即用,支持多种设备访问。项目结合了前端技术和后端代理功能,可部署在支持服务端功能的各类网站托管服务上。项目门户: libretv.is-an.org

本项目基于 bestK/tv 进行重构与增强。

点击查看项目截图

  • YXVM
  • ZMTO/VTEXS

选择以下任一平台,点击一键部署按钮,即可快速创建自己的 LibreTV 实例:



为了您的安全和避免潜在的法律风险,我们强烈建议在部署时设置密码保护:

  • 避免公开访问:不设置密码的实例任何人都可以访问,可能被恶意利用
  • 防范版权风险:公开的视频搜索服务可能面临版权方的投诉举报
  • 保护个人隐私:设置密码可以限制访问范围,保护您的使用记录
  1. 设置环境变量 PASSWORD:为您的实例设置一个强密码
  2. 仅供个人使用:请勿将您的实例链接公开分享或传播
  3. 遵守当地法律:请确保您的使用行为符合当地法律法规
  • 本项目仅供学习和个人使用
  • 请勿将部署的实例用于商业用途或公开服务
  • 如因公开分享导致的任何法律问题,用户需自行承担责任
  • 项目开发者不对用户的使用行为承担任何法律责任

Pull Bot 会反复触发无效的 PR 和垃圾邮件,严重干扰项目维护。作者可能会直接拉黑所有 Pull Bot 自动发起的同步请求的仓库所有者。

推荐做法:

建议在 fork 的仓库中启用本仓库自带的 GitHub Actions 自动同步功能(见 .github/workflows/sync.yml)。

如需手动同步主仓库更新,也可以使用 GitHub 官方的 Sync fork 功能。

  1. Fork 或克隆本仓库到您的 GitHub 账户

  2. 登录 Cloudflare Dashboard,进入 Pages 服务

  3. 点击"创建项目",连接您的 GitHub 仓库

  4. 使用以下设置:

    • 构建命令:留空(无需构建)
    • 输出目录:留空(默认为根目录)
  5. ⚠️ 重要:在"设置" > "环境变量"中添加 PASSWORD 变量

  6. 可选:在"Settings" > "Environment Variables"中添加 ADMINPASSWORD 变量

  7. 点击"保存并部署"

  8. Fork 或克隆本仓库到您的 GitHub/GitLab 账户

  9. 登录 Vercel,点击"New Project"

  10. 导入您的仓库,使用默认设置

  11. ⚠️ 重要:在"Settings" > "Environment Variables"中添加 PASSWORD 变量

  12. 可选:在"Settings" > "Environment Variables"中添加 ADMINPASSWORD 变量

  13. 点击"Deploy"

  14. 可选:在"Settings" > "Environment Variables"中配置密码保护和设置按钮密码保护

  15. Fork 或克隆本仓库到您的 GitHub 账户

  16. 登录 Render,点击 "New Web Service"

  17. 选择您的仓库,Render 会自动检测到 render.yaml 配置文件

  18. 保持默认设置(无需设置环境变量,默认不启用密码保护)

  19. 点击 "Create Web Service",等待部署完成

  20. 部署成功后即可访问您的 LibreTV 实例

如需启用密码保护,可在 Render 控制台的环境变量中手动添加 PASSWORD 和/或 ADMINPASSWORD。

docker run -d 
  --name libretv 
  --restart unless-stopped 
  -p 8899:8080 
  -e PASSWORD=your_password 
  -e ADMINPASSWORD=your_adminpassword 
  bestzwei/libretv:latest 

docker-compose.yml 文件:

services:
  libretv:
    image: bestzwei/libretv:latest
    container_name: libretv
    ports:
      - "8899:8080" # 将内部 8080 端口映射到主机的 8899 端口
    environment:
      - PASSWORD=${PASSWORD:-your_password} # 可将 your_password 修改为你想要的密码,默认为 your_password
      - ADMINPASSWORD=${PASSWORD:-your_adminpassword} # 可将 your_adminpassword 修改为你想要的密码,默认为 your_adminpassword
    restart: unless-stopped

启动 LibreTV:

访问 http://localhost:8899 即可使用。

项目包含后端代理功能,需要支持服务器端功能的环境:

# 首先,通过复制示例来设置 .env 文件(可选)
cp .env.example .env

# 安装依赖
npm install

# 启动开发服务器
npm run dev

访问 http://localhost:8080 即可使用(端口可在.env文件中通过PORT变量修改)。

⚠️ 注意:使用简单静态服务器(如 python -m http.server 或 npx http-server)时,视频代理功能将不可用,视频无法正常播放。完整功能测试请使用 Node.js 开发服务器。

要为您的 LibreTV 实例添加密码保护,可以在部署平台上设置环境变量:

环境变量名: PASSWORD 值: 您想设置的密码

环境变量名: ADMINPASSWORD 值: 您想设置的密码

各平台设置方法:

  • Cloudflare Pages: Dashboard > 您的项目 > 设置 > 环境变量
  • Vercel: Dashboard > 您的项目 > Settings > Environment Variables
  • Netlify: Dashboard > 您的项目 > Site settings > Build & deploy > Environment
  • Docker: 修改 docker run 中 your_password 为你的密码
  • Docker Compose: 修改 docker-compose.yml 中的 your_password 为你的密码
  • 本地开发: SET PASSWORD=your_password

LibreTV 支持标准的苹果 CMS V10 API 格式。添加自定义 API 时需遵循以下格式:

  • 搜索接口: https://example.com/api.php/provide/vod/?ac=videolist&wd=关键词
  • 详情接口: https://example.com/api.php/provide/vod/?ac=detail&ids=视频ID

添加 CMS 源:

  1. 在设置面板中选择"自定义接口"
  2. 接口地址: https://example.com/api.php/provide/vod

播放器支持以下键盘快捷键:

  • 空格键: 播放/暂停

  • 左右箭头: 快退/快进

  • 上下箭头: 音量增加/减小

  • M 键: 静音/取消静音

  • F 键: 全屏/退出全屏

  • Esc 键: 退出全屏

  • HTML5 + CSS3 + JavaScript (ES6+)

  • Tailwind CSS

  • HLS.js 用于 HLS 流处理

  • DPlayer 视频播放器核心

  • Cloudflare/Vercel/Netlify Serverless Functions

  • 服务端 HLS 代理和处理技术

  • localStorage 本地存储

LibreTV 仅作为视频搜索工具,不存储、上传或分发任何视频内容。所有视频均来自第三方 API 接口提供的搜索结果。如有侵权内容,请联系相应的内容提供方。

生活
License:  CC BY 4.0
Share

Further Reading

Jul 1, 2025

搭建影视站,支持Vercel/Docker等部署方式

LibreTV是一个轻量级、免费的在线视频搜索与观看平台,提供来自多个视频源的内容搜索与播放服务。无需注册,即开即用,支持多种设备访问。项目结合了前端技术和后端代理功能,可部署在支持服务端功能的各类网...

Jun 21, 2025

3 Easy Steps to Install Third-Party Apps in Samsung Smart TV

三星电视无法像安卓设备那样安装APK文件。三星电视需要的是TPK,而不是专为安卓设计的APK文件。同时,与安卓Playstore提供的数千款应用相比,TizenStore的应用库非常有限。 在这种情况...

Jun 20, 2025

高考后妈妈连1万块都拿不出!

这是一个准大学女生发的,她列出了一张开学清单,什么手机平板电脑和化妆品等,林林总总加起来要1万左右。妈妈看完后,苦笑着摇头说她真的拿不出这么多钱。 这个女孩转头就把妈妈挂到了网上,抱怨自己怎么就生在...

OLDER

Apache Bench ab 性能测试工具

NEWER

Linux挖矿病毒(kswapd0进程使cpu爆满

Recently Updated

  • 如何实现接口幂等性
  • 10个npm工具包
  • How to set up PHP7.4 on MacOS.
  • Automa:一键自动化,网页数据采集与工作流程优化专家Automa:解锁自动化
  • Mac 下用 brew 搭建 LNMP

Trending Tags

thinkphp clippings

Contents

©2025 麦兜的小站. Some rights reserved.

Using the Halo theme Chirpy