KatelyaTV:又一款影视聚合搜索神器,TVBox党必备!

18,130 阅读7分钟

KatelyaTV

哈喽,各位影迷朋友们!还在为找资源发愁,被广告打断观影体验吗?今天给大家强烈推荐一款开源免费的影视聚合神器——KatelyaTV!它不仅拥有强大的资源整合能力,还支持多种一键部署方案,让你轻松搭建属于自己的私人影院,告别剧荒!

🏷️ KatelyaTV:你的专属影视中心

KatelyaTV 是基于MoonTV开发的后续之作,是一款开箱即用、跨平台的影视聚合应用,旨在提供极致的观影体验。无论你是技术小白还是资深玩家,都能找到适合自己的部署方案,享受海量资源带来的乐趣。

🏷️ 技术解析:KatelyaTV 的硬核实力

  • 强大的聚合搜索: 整合多个影视资源站,一键搜索全网内容。
  • 高清流畅播放: 基于 ArtPlayer 打造的强大播放器,支持多种格式,给你极致的观影体验。
  • 智能跳过: 自动检测并跳过片头片尾,还支持手动设置跳过时间段。
  • 断点续播: 自动记录播放进度,跨设备同步观看位置,随时随地接着看。
  • 响应式设计: 完美适配手机、平板、电脑各种屏幕,随时随地畅享观影。
  • 多种存储方案: 支持 LocalStorage、Redis、D1、Upstash 等多种存储后端,满足不同需求。
  • 多用户支持: 独立的账户系统,每个用户独享个人数据,保护隐私。
  • 内容过滤: 智能成人内容过滤系统,默认开启安全保护,呵护你的观影体验。
  • 多平台支持: 兼容 Vercel、Docker、Cloudflare Pages 等多种平台,部署灵活。
  • PWA 支持: 可安装为桌面/手机应用,提供更佳的用户体验。
  • TVBox 兼容: 支持 TVBox 配置接口,轻松导入资源到电视盒子。

🏷️ 多种部署方案:总有一款适合你

KatelyaTV 提供了丰富的部署方案,满足不同用户的需求。

💡 方案选择指南

使用场景推荐方案存储类型成人内容过滤多用户部署难度
个人使用Docker 单容器localstorage
家庭使用Docker + Redisredis⭐⭐
免费部署Vercel + Upstashupstash⭐⭐⭐
生产环境Docker + Kvrockskvrocks⭐⭐
全球加速Cloudflare Pagesd1⭐⭐⭐⭐

💡 重要提示: 成人内容过滤功能需要数据库存储支持,不支持 localstorage 方式。

💡 重要提示: 文末附视频源下载方式。

📋 部署方案

方案一:Docker 单容器(最简单)
  • 特点: 5 分钟部署,个人使用,无多用户功能。

    docker run -d \
      --name katelyatv \
      -p 3000:3000 \
      -e PASSWORD=your_password \
      --restart unless-stopped \
      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 \
      ghcr.io/katelya77/katelyatv:latest
    
方案二:Docker + Redis(推荐家庭使用)
  • 特点: 完整功能,多用户支持,成人内容过滤。

    1. 创建 docker-compose.yml 文件:

      version: '3.8'
      
      services:
        # KatelyaTV 应用服务
        katelyatv:
          image: 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
      
    2. 启动服务:

      docker-compose up -d
      
方案三:Docker + Kvrocks(生产环境)
  • 特点: 极高可靠性,数据持久化到磁盘,节省内存。

    1. 创建 docker-compose.yml 文件:

      version: '3.8'
      
      services:
        # KatelyaTV 应用服务
        katelyatv:
          image: 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
      
    2. 启动服务:

      docker-compose up -d
      
方案四:Vercel + Upstash(免费推荐)
  • 特点: 完全免费,自动 HTTPS,全球 CDN。

    1. 基础部署:

      • Fork 项目到你的 GitHub 仓库。
      • 部署到 Vercel:登录 Vercel,导入刚 Fork 的仓库,添加环境变量 PASSWORD=your_password,然后点击 Deploy。
    2. 多用户配置:

      • 创建 Upstash 数据库:访问 Upstash 并创建免费 Redis 数据库。

      • 获取 UPSTASH_URLUPSTASH_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。

    1. 快速部署:

      • 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
      • 环境变量配置:

        # 管理员账号
        USERNAME=admin
        PASSWORD=your_password
        
        # 存储配置
        NEXT_PUBLIC_STORAGE_TYPE=d1
        
        # 功能开关
        NEXT_PUBLIC_ENABLE_REGISTER=true
        
    2. 创建 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
      
      • 配置数据库绑定:在 wrangler.toml 中添加数据库 ID。

🏷️ 享用方法

  • 访问 KatelyaTV: 在浏览器中输入你的部署地址(例如 http://localhost:3000 或你的域名)即可访问 KatelyaTV。
  • 设置密码: 如果你设置了 PASSWORD 环境变量,则需要输入密码才能访问。
  • 开始探索: 现在你可以尽情探索 KatelyaTV 的各种功能,搜索你喜欢的影视资源,打造你的专属影院!

KatelyaTV

🏷️ 高级功能使用指南

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

🏷️ TVBox 配置接口使用指南

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

🚀 快速开始

  1. 访问配置页面:

    在 KatelyaTV 网站中,点击左侧导航栏的 "TVBox 配置" 菜单,或直接访问:

    https://your-domain.com/config
    
  2. 生成配置链接:

    在配置页面中:

    • 选择格式类型:

      • JSON 格式(推荐): 标准的 JSON 配置文件,便于调试和查看
      • Base64 格式: 编码后的配置,适合某些特殊环境
    • 复制配置链接:点击 "复制" 按钮,系统会自动生成对应格式的配置链接

      • JSON 格式:

        https://your-domain.com/api/tvbox?format=json
        
      • Base64 格式:

        https://your-domain.com/api/tvbox?format=base64
        
  3. 导入到 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 编码的配置
        • 响应:

          {
            "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

🏷️ 视频源下载

链接:pan.baidu.com/s/1Xjjj4rHg… 提取码:4qez 提示:使用百度网盘手机 App 体验更佳


原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

高等精灵实验室