AI摘要:LibreTV 是一个全球用户可访问的轻量级免费视频平台,支持电影、电视剧等内容的搜索与观看。该平台通过前后端分离架构,兼容多设备使用,部署方式包括 Cloudflare Pages、Vercel 和 Docker,降低技术门槛。平台提供密码保护、自定义API接口、快捷键操作等功能,支持 HLS 流媒体播放,且遵循苹果 CMS V10 标准。用户无需注册即可使用,所有视频内容来自第三方API,平台不存储或分发视频内容。
Powered by AISummary.
项目简介
LibreTV 是一款面向全球用户的轻量级免费在线视频搜索与观看平台,旨在为用户提供便捷、高效的跨平台视频内容获取体验。平台整合了多个第三方视频源的搜索接口,支持对电影、电视剧、综艺、动漫等多类型内容的关键词检索与实时播放。其核心优势包括:无需用户注册或登录,打开网页即可直接使用;兼容桌面端、移动端、平板等多种设备,适配不同屏幕尺寸;采用前后端分离架构,前端负责用户交互界面展示,后端通过代理功能实现跨域资源访问,可灵活部署在 Cloudflare Pages、Vercel 等主流静态站点托管平台或 Docker 容器环境中,降低技术门槛的同时保证服务稳定性。
详细部署指南
Cloudflare Pages
代码仓库准备:在 GitHub 上 Fork 或克隆 LibreTV 项目仓库至个人账户,确保代码库可公开访问(若需私有仓库需配置权限)。
平台配置:
登录 Cloudflare 控制台,进入 Pages 服务模块,点击 “创建项目” 并关联已 Fork 的 GitHub 仓库。
构建配置说明:由于项目为静态页面 + 后端 Serverless 架构,无需传统前端构建流程,因此构建命令与输出目录均留空,系统将默认读取仓库根目录文件。
点击 “保存并部署”,等待 Cloudflare 自动完成代码拉取与站点发布。
可选安全设置:在 “设置> 环境变量” 中添加 PASSWORD 字段,为站点设置访问密码,增强私有部署安全性。
Vercel
代码托管:将项目仓库 Fork 至 GitHub 或 GitLab 账户(需确保 Vercel 已授权访问该代码平台)。
快速部署:
登录 Vercel 后台,点击 “New Project” 导入仓库,默认使用项目根目录作为源文件路径,无需修改构建配置。
点击 “Deploy” 触发自动部署流程,Vercel 将生成唯一访问域名。
安全配置:在 “Settings> Environment Variables” 中添加密码保护变量,与 Cloudflare 操作逻辑一致。
Docker
单机容器部署方案:
bash
docker run -d \
--name libretv \ # 容器命名为libretv
-p 8899:80 \ # 将容器80端口映射到主机8899端口(可自定义端口)
-e PASSWORD=your_password_here \ # 设置访问密码(可选,建议生产环境配置)
bestzwei/libretv:latest # 拉取最新版本镜像
部署完成后,通过 http://localhost:8899 访问,若需远程访问需确保主机防火墙开放对应端口。
Docker Compose
集群化管理方案:
创建 docker-compose.yml 文件并填入以下内容:
yaml
version: '3'
services:
libretv:
image: bestzwei/libretv:latest # 使用官方镜像
container_name: libretv # 自定义容器名
ports:
- "8899:80" # 端口映射
environment:
- PASSWORD=111111 # 环境变量配置密码
restart: unless-stopped # 容器重启策略(故障自动恢复)
通过 docker-compose up -d 命令启动服务,适用于需要持久化管理的场景。
本地开发环境
项目后端代理功能依赖 Node.js 运行环境,需按以下步骤配置:
环境初始化:
复制 .env.example 文件为 .env(可选,用于自定义端口等配置)。
通过 npm install 安装项目依赖(需提前安装 Node.js 14+)。
启动服务:
执行 npm run dev 启动开发服务器,默认监听 http://localhost:8080。
端口可通过 .env 文件中的 PORT 变量修改(如 PORT=3000)。
注意事项:
禁止使用简单静态服务器(如 python -m http.server)测试,因无法解析后端代理逻辑,会导致视频播放失败。
开发环境需保持 Node.js 服务运行,确保完整功能可用。
自定义配置
密码保护
为防止未经授权的访问,可通过环境变量全局配置密码验证:
环境变量名:PASSWORD,值为自定义密码(建议使用强密码组合)。
各平台设置路径:
Cloudflare Pages:项目控制台 > 设置 > 环境变量(需区分生产 / 开发环境)。
Vercel:项目详情页 > Settings > Environment Variables(支持分阶段配置)。
Netlify:站点设置 > Build & deploy > Environment(需手动输入键值对)。
Docker:通过 -e PASSWORD=xxx 命令行参数传递。
本地开发:Windows 系统使用 SET PASSWORD=your_password,Linux/macOS 使用 export PASSWORD=your_password。
API 兼容性
LibreTV 遵循苹果 CMS V10 标准 API 格式,支持快速接入第三方视频源:
搜索接口:https://example.com/api.php/provide/vod/?ac=videolist&wd=关键词(wd 为搜索关键词)。
详情接口:https://example.com/api.php/provide/vod/?ac=detail&ids=视频ID(ids 为目标视频 ID)。
添加自定义源步骤:
在平台设置面板中选择 “自定义接口” 选项。
输入完整的 CMS 接口地址(如 https://example.com/api.php/provide/vod),系统将自动解析并验证接口有效性。
键盘快捷键
播放器集成高效操作逻辑,支持以下快捷键提升观看体验:
空格键:播放 / 暂停当前视频(无需鼠标操作,适合全屏场景)。
左右箭头键:单次快退 / 快进 5 秒(长按可连续调整进度)。
上下箭头键:逐级调整音量(每次按键改变 5% 音量)。
M 键:一键静音 / 取消静音(音量图标同步显示状态)。
F 键:切换全屏模式(适配不同浏览器全屏 API)。
Esc 键:退出全屏并返回默认视图。
技术栈
项目采用现代 Web 开发技术栈,兼顾性能与扩展性:
前端层:
HTML5 + CSS3 + JavaScript(ES6+):实现响应式布局与动态交互逻辑。
Tailwind CSS:基于 utility-first 理念的 CSS 框架,快速构建原子化样式。
DPlayer 视频播放器核心:支持 HLS、FLV 等主流视频格式,内置加载进度条与画质切换功能。
HLS.js:实现浏览器端 HLS 流解析,无需依赖 Flash 等插件。
后端层:
Cloudflare/Vercel/Netlify Serverless Functions:以无服务器架构实现跨域代理,降低运维成本。
服务端 HLS 代理技术:对第三方视频流进行合规性处理与转码适配。
存储与状态管理:
localStorage 本地存储:记录用户搜索历史、播放进度及自定义配置,实现无状态会话保持。
免责声明
重要法律声明与使用条款:
内容版权:LibreTV 仅作为技术工具提供搜索与聚合服务,不存储、上传或主动分发任何视频内容。所有资源均来自第三方 API 接口返回的公开信息,平台不对内容的合法性、版权归属负责。
侵权处理:若发现搜索结果包含侵权内容,用户需直接联系内容提供方或版权所有者进行投诉,平台将配合必要的下架请求。
法律责任:用户需自行遵守所在国家或地区的法律法规,禁止利用本项目从事非法传播、商业牟利等活动。项目开发者与维护者不对因使用本工具产生的任何直接或间接后果承担法律责任。
GitHub – LibreSpark/LibreTV: 一分钟搭建影视站,支持Vercel/Docker等部署方式