File size: 5,867 Bytes
dbbbf7e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# LibreTV - 免费在线视频搜索与观看平台
<div align="center">
<img src="https://images.icon-icons.com/38/PNG/512/retrotv_5520.png" alt="LibreTV Logo" width="120">
<br>
<p><strong>自由观影,畅享精彩</strong></p>
</div>
## 📺 项目简介
LibreTV 是一个轻量级、免费的在线视频搜索与观看平台,提供来自多个视频源的内容搜索与播放服务。无需注册,即开即用,支持多种设备访问。项目结合了前端技术和后端代理功能,可部署在支持服务端功能的各类网站托管服务上。
本项目基于 [bestK/tv](https://github.com/bestK/tv) 进行重构与增强。
<details>
<summary>点击查看项目截图</summary>
<img src="https://testingcf.jsdelivr.net/gh/bestZwei/imgs@master/picgo/image-20250406231222216.png" alt="项目截图" style="max-width:600px">
</details>
## 🥇 感谢赞助
- **[YXVM](https://yxvm.com)**
- **[VTEXS](https://vtexs.com)**
## 🚀 快速部署
选择以下任一平台,点击一键部署按钮,即可快速创建自己的 LibreTV 实例:
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FLibreSpark%2FLibreTV) [](https://app.netlify.com/start/deploy?repository=https://github.com/LibreSpark/LibreTV)
## 📋 详细部署指南
### Cloudflare Pages
1. Fork 或克隆本仓库到您的 GitHub 账户
2. 登录 [Cloudflare Dashboard](https://dash.cloudflare.com/),进入 Pages 服务
3. 点击"创建项目",连接您的 GitHub 仓库
4. 使用以下设置:
- 构建命令:留空(无需构建)
- 输出目录:留空(默认为根目录)
5. 点击"保存并部署"
6. 可选:在"设置" > "环境变量"中配置密码保护
### Vercel
1. Fork 或克隆本仓库到您的 GitHub/GitLab 账户
2. 登录 [Vercel](https://vercel.com/),点击"New Project"
3. 导入您的仓库,使用默认设置
4. 点击"Deploy"
5. 可选:在"Settings" > "Environment Variables"中配置密码保护
### Netlify
1. Fork 或克隆本仓库到您的 GitHub 账户
2. 登录 [Netlify](https://app.netlify.com/)
3. 点击"New site from Git",选择您的仓库
4. 构建设置保持默认
5. 点击"Deploy site"
6. 可选:在"Site settings" > "Build & deploy" > "Environment"中配置密码保护
### Docker
使用 Docker 运行 LibreTV:
```bash
docker run -d \
--name libretv \
-p 8899:80 \
-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
```
### 本地开发环境
项目包含后端代理功能,需要支持服务器端功能的环境:
```bash
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
> ⚠️ 注意:使用简单静态服务器(如 `python -m http.server` 或 `npx http-server`)时,视频代理功能将不可用,视频无法正常播放。完整功能测试请使用 Node.js 开发服务器。
## 🔧 自定义配置
### 密码保护
要为您的 LibreTV 实例添加密码保护,可以在部署平台上设置环境变量:
**环境变量名**: `PASSWORD`
**值**: 您想设置的密码
各平台设置方法:
- **Cloudflare Pages**: Dashboard > 您的项目 > 设置 > 环境变量
- **Vercel**: Dashboard > 您的项目 > Settings > Environment Variables
- **Netlify**: Dashboard > 您的项目 > Site settings > Build & deploy > Environment
- **Docker**: 使用 `-e PASSWORD=your_password` 参数
### API兼容性
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 (通过 CDN 引入)
- HLS.js 用于 HLS 流处理
- DPlayer 视频播放器核心
- Cloudflare/Vercel/Netlify Serverless Functions
- 服务端 HLS 代理和处理技术
- localStorage 本地存储
## 🔄 更新日志
<details>
<summary>点击查看更新日志</summary>
- **1.1.2** (2025-04-22): 新增豆瓣热门内容显示,设置中可开关
- **1.1.1** (2025-04-19):
- 修复 docker 部署时无法搜索的问题
- 修复播放页面进度保存与恢复的兼容性问题
- **1.1.0** (2025-04-17): 添加服务端代理功能,支持 HLS 流处理和解析,支持环境变量设置访问密码
- **1.0.3** (2025-04-13): 性能优化、UI优化、更新设置功能
- **1.0.2** (2025-04-08): 分离播放页面,优化视频源 API 兼容性
- **1.0.1** (2025-04-07): 添加广告过滤功能,优化播放器性能
- **1.0.0** (2025-04-06): 初始版本发布
</details>
## ⚠️ 免责声明
LibreTV 仅作为视频搜索工具,不存储、上传或分发任何视频内容。所有视频均来自第三方 API 接口提供的搜索结果。如有侵权内容,请联系相应的内容提供方。
本项目开发者不对使用本项目产生的任何后果负责。使用本项目时,您必须遵守当地的法律法规。
|