KatelyaTV:又一款影视聚合搜索神器,TVBox党必备!
链接:https://zhuanlan.zhihu.com/p/1957170280502891504
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
KatelyaTV:又一款影视聚合搜索神器,TVBox党必备!

哈喽,各位影迷朋友们!还在为找资源发愁,被广告打断观影体验吗?今天给大家强烈推荐一款开源免费的影视聚合神器——KatelyaTV!它不仅拥有强大的资源整合能力,还支持多种一键部署方案,让你轻松搭建属于自己的私人影院,告别剧荒!
️ KatelyaTV:你的专属影视中心
KatelyaTV 是基于MoonTV开发的后续之作,是一款开箱即用、跨平台的影视聚合应用,旨在提供极致的观影体验。无论你是技术小白还是资深玩家,都能找到适合自己的部署方案,享受海量资源带来的乐趣。
️ 技术解析:KatelyaTV 的硬核实力
- 强大的聚合搜索: 整合多个影视资源站,一键搜索全网内容。
- 高清流畅播放: 基于 ArtPlayer 打造的强大播放器,支持多种格式,给你极致的观影体验。
- 智能跳过: 自动检测并跳过片头片尾,还支持手动设置跳过时间段。
- 断点续播: 自动记录播放进度,跨设备同步观看位置,随时随地接着看。
- 响应式设计: 完美适配手机、平板、电脑各种屏幕,随时随地畅享观影。
- 多种存储方案: 支持 LocalStorage、Redis、D1、Upstash 等多种存储后端,满足不同需求。
- 多用户支持: 独立的账户系统,每个用户独享个人数据,保护隐私。
- 内容过滤: 智能成人内容过滤系统,默认开启安全保护,呵护你的观影体验。
- 多平台支持: 兼容 Vercel、Docker、Cloudflare Pages 等多种平台,部署灵活。
- PWA 支持: 可安装为桌面/手机应用,提供更佳的用户体验。
- TVBox 兼容: 支持 TVBox 配置接口,轻松导入资源到电视盒子。
️ 多种部署方案:总有一款适合你
KatelyaTV 提供了丰富的部署方案,满足不同用户的需求。
方案选择指南
使用场景 | 推荐方案 | 存储类型 | 成人内容过滤 | 多用户 | 部署难度 |
---|---|---|---|---|---|
个人使用 | Docker 单容器 | localstorage | ❌ | ❌ | ⭐ |
家庭使用 | Docker + Redis | redis | ✅ | ✅ | ⭐⭐ |
免费部署 | Vercel + Upstash | upstash | ✅ | ✅ | ⭐⭐⭐ |
生产环境 | Docker + Kvrocks | kvrocks | ✅ | ✅ | ⭐⭐ |
全球加速 | Cloudflare Pages | d1 | ✅ | ✅ | ⭐⭐⭐⭐ |
重要提示: 成人内容过滤功能需要数据库存储支持,不支持 localstorage 方式。
重要提示: 文末附视频源下载方式。
部署方案
方案一:Docker 单容器(最简单)
- 特点: 5 分钟部署,个人使用,无多用户功能。
docker run -d \ –name katelyatv \ -p 3000:3000 \ -e PASSWORD=your_password \ –restart unless-stopped \ http://ghcr.io/katelya77/katelyatv:latest挂载自定义配置(可选):
docker run -d \ –name katelyatv \ -p 3000:3000 \ -e PASSWORD=your_password \ -v $(pwd)/config.json:/app/config.json:ro \ –restart unless-stopped \ http://ghcr.io/katelya77/katelyatv:latest
方案二:Docker + Redis(推荐家庭使用)
- 特点: 完整功能,多用户支持,成人内容过滤。
- 创建
docker-compose.yml
文件:
version: ‘3.8’ services: # KatelyaTV 应用服务 katelyatv: image: http://ghcr.io/katelya77/katelyatv:latest ports: – “3000:3000” environment: # 数据库配置 – 使用 Redis NEXT_PUBLIC_STORAGE_TYPE: redis REDIS_URL: redis://katelyatv-redis:6379 REDIS_PASSWORD: ${REDIS_PASSWORD:-} REDIS_DATABASE: 0 # 站点访问密码配置 PASSWORD: ${PASSWORD:-} # 其他必要的环境变量 NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000} depends_on: – katelyatv-redis restart: unless-stopped networks: – katelyatv-network # Redis 数据库服务 katelyatv-redis: image: redis:7-alpine container_name: katelyatv-redis command: redis-server –appendonly yes –maxmemory 256mb –maxmemory-policy allkeys-lru volumes: # 持久化数据存储 – katelyatv-redis-data:/data restart: unless-stopped networks: – katelyatv-network healthcheck: test: [“CMD”, “redis-cli”, “ping”] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: # Redis 数据卷 katelyatv-redis-data: driver: local networks: katelyatv-network: driver: bridge - 启动服务:
docker-compose up -d
方案三:Docker + Kvrocks(生产环境)
- 特点: 极高可靠性,数据持久化到磁盘,节省内存。
- 创建
docker-compose.yml
文件:
version: ‘3.8’ services: # KatelyaTV 应用服务 katelyatv: image: http://ghcr.io/katelya77/katelyatv:latest ports: – “3000:3000” environment: # 数据库配置 – 使用 Kvrocks NEXT_PUBLIC_STORAGE_TYPE: kvrocks KVROCKS_URL: redis://kvrocks:6666 KVROCKS_PASSWORD: ${KVROCKS_PASSWORD:-} KVROCKS_DATABASE: 0 # 管理员账号配置(必填) USERNAME: ${USERNAME:-admin} PASSWORD: ${PASSWORD} # 站点配置 NEXT_PUBLIC_ENABLE_REGISTER: ${NEXT_PUBLIC_ENABLE_REGISTER:-true} # 其他必要的环境变量 NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000} depends_on: – kvrocks restart: unless-stopped networks: – katelyatv-network # Kvrocks 数据库服务 kvrocks: image: apache/kvrocks:latest ports: – “6666:6666” environment: # Kvrocks 配置 KVROCKS_BIND: 0.0.0.0 KVROCKS_PORT: 6666 KVROCKS_DIR: /var/lib/kvrocks/data KVROCKS_LOG_LEVEL: info volumes: # 持久化数据存储 – kvrocks-data:/var/lib/kvrocks/data # 挂载配置文件 – ./docker/kvrocks/kvrocks.conf:/etc/kvrocks/kvrocks.conf:ro restart: unless-stopped networks: – katelyatv-network healthcheck: test: [“CMD”, “redis-cli”, “-h”, “localhost”, “-p”, “6666”, “ping”] interval: 30s timeout: 10s retries: 3 start_period: 30s volumes: # Kvrocks 数据卷 kvrocks-data: driver: local networks: katelyatv-network: driver: bridge - 启动服务:
docker-compose up -d
方案四:Vercel + Upstash(免费推荐)
- 特点: 完全免费,自动 HTTPS,全球 CDN。
- 基础部署:
- Fork 项目到你的 GitHub 仓库。
- 部署到 Vercel:登录 Vercel,导入刚 Fork 的仓库,添加环境变量
PASSWORD=your_password
,然后点击 Deploy。
-
- 多用户配置:
- 创建 Upstash 数据库:访问 Upstash 并创建免费 Redis 数据库。
- 获取
UPSTASH_URL
和UPSTASH_TOKEN
。 - 添加环境变量:
# 存储配置 NEXT_PUBLIC_STORAGE_TYPE=upstash UPSTASH_URL=https://xxx.upstash.io UPSTASH_TOKEN=your_token # 管理员账号 USERNAME=admin PASSWORD=your_password # 功能开关 NEXT_PUBLIC_ENABLE_REGISTER=true - 重新部署:Vercel Dashboard → Redeploy
方案五:Cloudflare Pages + D1(全球加速)
- 特点: 全球 CDN,无限带宽,免费 SSL。
- 快速部署:
- Fork 项目到你的 GitHub 仓库。
- 创建 Pages 项目:登录 Cloudflare Dashboard,选择 Pages -> Connect to Git -> 选择仓库。
- 构建设置:
- Build command:
pnpm install --frozen-lockfile && pnpm run pages:build
- Build output directory:
.vercel/output/static
- 兼容性标志:
nodejs_compat
- Build command:
-
-
- 环境变量配置:
# 管理员账号 USERNAME=admin PASSWORD=your_password # 存储配置 NEXT_PUBLIC_STORAGE_TYPE=d1 # 功能开关 NEXT_PUBLIC_ENABLE_REGISTER=true
- 环境变量配置:
-
-
- 创建 D1 数据库(多用户支持):
# 安装Wrangler CLI npm install -g wrangler wrangler auth login # 创建数据库 wrangler d1 create katelyatv-db # ⚠️ 重要:确保在项目根目录下运行此命令 # 如果遇到文件路径错误,请参考 D1_MIGRATION.md 排查指南 wrangler d1 execute katelyatv-db –file=./scripts/d1-init.sql
- 创建 D1 数据库(多用户支持):
- 配置数据库绑定:在
wrangler.toml
中添加数据库 ID。
️ 享用方法
- 访问 KatelyaTV: 在浏览器中输入你的部署地址(例如
http://localhost:3000
或你的域名)即可访问 KatelyaTV。 - 设置密码: 如果你设置了
PASSWORD
环境变量,则需要输入密码才能访问。 - 开始探索: 现在你可以尽情探索 KatelyaTV 的各种功能,搜索你喜欢的影视资源,打造你的专属影院!

️ 高级功能使用指南
- 成人内容过滤: 智能识别和过滤成人内容资源站,提供安全浏览体验。
- 跳过片头片尾: 自动识别并跳过片头片尾,节省时间。
- TVBox 兼容模式: 支持 TVBox 配置接口,可以在电视盒子应用中使用。
- 多设备数据同步: 通过 Redis/Upstash/D1 实现观看历史、收藏夹等多设备同步。
- 界面自定义: 支持主题切换、界面布局调整,打造个性化观影体验。

️ TVBox 配置接口使用指南
KatelyaTV 现在支持 TVBox 配置接口,可以将您的视频源直接导入到 TVBox 应用中使用,在大屏幕上畅享观影乐趣!这个功能会自动同步 KatelyaTV 中配置的所有视频源,并提供标准的 TVBox JSON 格式配置。

快速开始
- 访问配置页面:
在 KatelyaTV 网站中,点击左侧导航栏的 “TVBox 配置” 菜单,或直接访问:
https://your-domain.com/config - 生成配置链接:
在配置页面中:
- 选择格式类型:
- JSON 格式(推荐): 标准的 JSON 配置文件,便于调试和查看
- Base64 格式: 编码后的配置,适合某些特殊环境
-
- 复制配置链接:点击 “复制” 按钮,系统会自动生成对应格式的配置链接
- 导入到 TVBox:
- 打开 TVBox 应用
- 进入设置 → 配置地址
- 粘贴复制的配置链接
- 点击确认导入
配置说明
- ️ 配置页面功能:
KatelyaTV 提供了直观的 TVBox 配置管理界面:- 格式切换:支持 JSON 和 Base64 两种格式切换
- 一键复制:点击复制按钮快速获取配置链接
- 实时生成:根据当前网站配置实时生成最新的 TVBox 配置
- 使用指南:页面内置详细的使用说明和功能介绍
- 支持的功能:
- ✅ 自动同步 KatelyaTV 的所有视频源
- ✅ 支持搜索功能
- ✅ 支持快速搜索
- ✅ 支持分类筛选
- ✅ 内置视频解析接口
- ✅ 广告过滤规则
- ✅ CORS 跨域支持
- 内置解析接口:
KatelyaTV 提供内置的视频解析服务:
https://your-domain.com/api/parse?url={视频地址}- 支持的平台:不可说!
- 解析接口参数:
url
: 要解析的视频地址(必填)parser
: 指定解析器名称(可选)format
: 返回格式(可选,默认json
)
-
- API 端点说明:
- TVBox 配置接口:
GET /api/tvbox
- 参数:
format
json
(默认):返回 JSON 格式配置base64
:返回 Base64 编码的配置
- 参数:
- TVBox 配置接口:
- API 端点说明:
-
-
-
- 响应:
{ “sites”: […], // 影视源列表 “parses”: […], // 解析源列表 “flags”: […], // 播放标识 “ads”: […], // 广告过滤规则 “wallpaper”: “…”, // 壁纸地址 “lives”: […] // 直播源(可选) }
- 响应:
-
-
-
-
- 视频解析接口:
GET /api/parse
- 参数:
url
,parser
,format
- 响应:
{ “success”: true, “data”: { “original_url”: “…”, “platform”: “qq”, “parse_url”: “…”, “parser_name”: “…”, “available_parsers”: […] } }
- 参数:
- 视频解析接口:
-
️ 项目地址
https://github.com/katelya77/KatelyaTV
️ 视频源下载
链接:https://pan.baidu.com/s/1Xjjj4rHgjd5v_JAn9jJ5AA?pwd=4qez
提取码:4qez
提示:使用百度网盘手机 App 体验更佳