Sign inSign up

brian9909/mytvadmin

By brian9909

•Updated about 17 hours ago

Image
1

10K+

brian9909/mytvadmin repository overview

⁠MytvAdmin - 电视直播 App 后台管理系统

MytvAdmin Logo

⁠MytvAdmin 管理后台

一个专为定制版 MyTV 电视直播客户端设计的高性能、高安全性的后台管理与订阅分发系统

Docker Image License FastAPI PHP


⁠📖 系统简介

MytvAdmin 是一款集成 FastAPI (Python) 与 PHP 双引擎的电视直播系统后台。它不仅提供美观直观的管理员控制面板,还为定制编译的 MyTV 电视端提供安全的数据接口,实现多客户端授权、多订阅源聚合分发、自动打包生成个性化 APK、EPG(节目单)与台标(Logo)本地化缓存等多项强大功能。

Important

**安全防护**:系统与 MyTV 客户端之间的通信采用 **AES-CBC 算法双向加密**(安装时自动生成随机密钥与 IV 并动态轮换),有效防止直播源被抓包、爬取和盗链。

⁠⚡ 核心功能

⁠1. 资源与订阅源管理
  • 多源支持:支持配置多个网络 M3U / TXT 订阅源,或直接粘贴静态文本。
  • 分组过滤:在同步订阅源时可自由选择保留的频道分组,剔除冗余或失效频道。
  • 回看增强:导入订阅源时解析 M3U 中的 catchup / catchup-source 属性并落库;后台将协议识别与地址拼接规则编译成数据描述符随初始化下发,客户端据此前端本地拼接回看/时移地址,无需每次往返后端。
⁠2. 用户管理与客户端授权
  • 自动注册:新客户端启动时自动向后台发送设备信息(Android ID、设备型号、应用版本等)进行注册。
  • 状态管控:管理员可将客户端状态一键设为授权中 (authorized)、待审核 (pending) 或拉黑 (block)。
  • 轨迹追踪:记录客户端的登录 IP、活动时间、请求日志及最后播放的频道。
⁠3. 授权模板(分组管理)
  • 个性化分发:根据用户级别(如默认、VIP 等)配置不同的授权模板。
  • 灵活绑定:每个模板可绑定不同的订阅源及特定频道分组,实现不同客户端观看不同频道。
⁠4. 在线生成 APK (makeapp)
  • 一键打包:集成自动反编译与重新打包编译(APKTool/ApkSigner)工作流。
  • 配置固化:管理员可在网页端直接输入服务器接口地址、云端密钥等信息,一键在线生成固化了后台地址的专属 MyTV 客户端安装包,并提供实时打包日志。
⁠5. APP 升级推送
  • 强弱提醒:支持上传新版 APK,并在后台配置升级说明,向所有在线客户端推送升级弹窗(支持强制更新与普通更新)。
⁠6. 本地化台标与 EPG 缓存
  • 台标轮询:支持本地台标存储;若未匹配到,后台会自动从配置的多个远程台标库下载、缓存并代理输出,极大提升客户端的台标加载速度。
  • EPG 提速:本地自动下载、解析并使用 Gzip 压缩电子节目单(EPG),不仅节省服务器带宽,更显著降低客户端启动时的加载时间。

⁠🛠️ 快速部署

系统提供了标准版 Docker Compose 以及内置 MySQL 的开箱即用版本。

⁠准备工作

在开始前,请在您的主机宿目录下创建用于持久化存储的文件夹:

# 创建节目单和台标文件夹
mkdir -p files/epg files/logo
⁠部署方式一:使用内置 SQLite(推荐,最轻量)

使用当前目录下的 Mytvadmin_docker-compose.yml 部署:

version: "3.8"
services:
  mytvAdmin:
    image: brian9909/mytvadmin:latest
    pull_policy: always
    container_name: mytvAdmin
    environment:
      - MYTV_BACKEND_SECRET=mytv-secret  # 更改为您自定义的后台 JWT 签名密钥
    volumes:
      - ./files:/var/www/html/files
    ports: 
      - "8880:80"
    restart: always

运行命令:

docker compose -f Mytvadmin_docker-compose.yml up -d
⁠部署方式二:使用独立内置 MySQL

如果您需要更高的并发和更稳定的数据库支持,可以使用 docker-compose-builtin-mysql.yml:

docker compose -f docker-compose-builtin-mysql.yml up -d

⁠🚀 使用指南

⁠1. 登录后台
  • 部署完成后,在浏览器访问:http://<您的服务器IP>:8880/admin。
  • 首次使用会引导进入安装锁页面,按照提示完成管理员账户的配置。
⁠2. 授权新用户
  • 在后台的【系统设置】中,确认新用户的默认待定模板。
  • 新安装的客户端打开后,会在后台的【用户管理】中显示为“待审核”,将其状态更改为“已授权”,并分配对应的“授权模板”后,客户端即可成功获取频道列表并开始播放。
⁠3. 在线打包专属客户端
  • 进入后台的【生成 APK】页面。
  • 上传底包(MyTV 原始模板 APK)。
  • 输入此后台的公开 API 地址(客户端能访问到的外网或内网地址,格式为 http://<IP或域名>:8880)。
  • 点击“开始打包”,等待进度条完成,即可下载已签名、可直接安装的定制 APK。

⁠🔒 声明

  • 本项目仅供个人学习、技术研究以及局域网多媒体分享使用,请勿用于任何商业用途。
  • 用户因使用本系统而产生的任何版权争议及法律责任,均由使用者自行承担,与软件开发者无关。
  • 免费使用,禁止售卖,如您通过付费渠道获得,请立即退款!

Tag summary

Content type

Image

Digest

sha256:8690276d4…

Size

375.7 MB

Last updated

about 17 hours ago

docker pull brian9909/mytvadmin