Skip to content
/ vodweb Public

轻量级的聚合影视站,整合采集接口,免采集,实时自动根据资源站更新,并提供快速缓存与简洁前端。

License

Notifications You must be signed in to change notification settings

OsGits/vodweb

Repository files navigation

vodweb

轻量级的聚合影视站,整合采集接口,免采集,实时自动根据资源站更新,并提供快速缓存与简洁前端。

简介

  • 聚合第三方影视接口,提供首页、分类、搜索、详情、播放等页面。
  • 内置文件级缓存与错误回退,提升加载速度与稳定性。
  • 播放页令牌化隐藏真实视频地址,m3u8 可通过自定义代理播放。
  • 后台管理模块化(admin/ 目录),支持资源接口、m3u8 代理、分类替换/隐藏、源名映射、站点名、账号密码。

特性

  • 接口文件缓存(JSON/XML)与 TTL 管理;异常回退到过期缓存。
  • 播放页令牌 token(隐藏真实链接)、分集列表高亮切换。
  • 分类名称映射与隐藏(按名称关键词,按 ID 隐藏已移除)。
  • 播放源名称别名映射(如 lzm3u8 → 线路1)。
  • 后台管理模块化:登录、首页(系统时钟、缓存状态、快捷操作、版权链接)、设置(站点名/账号密码)、资源(API/m3u8 开关、分类与源映射);折叠式导航支持向右展开与横向滑动。

更新历史(简短)

  • 2511.0821.0631:利用伪静态规则对敏感文件进行访问保护。
  • 2511.0820.4801:模板独立化,优化顶部导航与搜索框布局。
  • 2511.0812.5700:实现首页横幅图片与链接的动态管理功能(通过API接口获取横幅数据);优化横幅组件结构,支持轮播与错误处理;清理冗余代码与文件;为空文件夹添加index.php占位文件防止目录遍历漏洞。
  • 2511.0115.0428:新增伪静态(IIS/Apache/Nginx)规则与示例在目录新增 rewrite/ 说明。
  • 2511.0114.4433:优化前端风格。
  • 2511.0113.1200:新增图片代理 img.php;搜索/首页/分类/详情海报统一经代理加载并失败占位;对齐 MacApi 参数(pagesizelimit);修复 JSON 缓存写入时机;列表 JSON 异常自动回退 XML 并转换结构;HTTP 轻量重试与 gzip/BOM 处理;debug_api.phplimit 输出分页关键字段以便诊断。
  • 2511.0112.2745:横幅样式抽出至 CSS;轮播每 3 秒、最多 6 张、阴影;首页移除冗余函数与变量,提升加载速度。
  • 2511.0112.2637:增加首页横幅(16:7 比例、轮播可选、与导航同宽)
  • 2511.0112.0000:后台增快捷操作/缓存计数,折叠导航横滑;导航项改“资源”;前台移除精选、优化请求。
  • 2511.0110.3904:后台模块化;新增站点名与 API/m3u8 开关;admin.php 桥接。
  • 2511.0109.1501:后台与 settings.json 持久化;支持采集源、m3u8 代理、分类别名/隐藏、源名映射;账号密码可配置。
  • 2511.0108.2010:首页精选内联;性能与体验优化。
  • 2511.0107.4532:保留 m3u8 分线/链接;源名别名映射。
  • 2511.0106.1200:详情简介清理;缓存 TTL 改为 1 小时。
  • 2511.0105.0544:播放页令牌化与 m3u8 代理;分集列表高亮。
  • 2511.0104.3022:接口缓存与异常回退;压缩/超时优化。
  • 2511.0103.0000:初始页面与基础结构。

目录结构与说明

.
├── assets/                # 静态资源(样式、占位图)
├── backup_20251108_203204/ # 备份目录(2025-11-08清理备份)
│   ├── cache/             # 缓存文件备份
│   └── partials/          # 旧版部分文件备份
├── cache/                 # 接口返回内容的文件缓存目录(自动创建)
│   └── index.php          # 目录保护文件
├── cleanup_report_20251108.md # 清理报告
├── lib/
│   ├── api.php            # 接口请求、缓存、解析(含分线解析、源名别名)
│   ├── categories.php     # 分类获取、前端映射与后台隐藏/别名应用
│   └── template.php       # 模板引擎核心
├── partials/              # 旧版部分文件目录(已清理)
├── config.php             # 站点配置与通用函数、settings.json 读写接口
├── img.php                # 图片代理(绕过防盗链,含文件缓存)
├── api/                   # API接口目录
│   └── banners.php        # 横幅数据API接口(用于前台动态加载横幅)
├── admin/                 # 后台模块目录
│   ├── index.php          # 后台入口:已登录跳 home,未登录跳 login
│   ├── login.php          # 登录/退出逻辑
│   ├── home.php           # 首页(系统时间、缓存状态、快捷操作、版权链接)
│   ├── settings.php       # 设置(站点名、账号/密码修改)
│   ├── resources.php      # 资源(API/m3u8 开关、分类隐藏与映射、源名映射)
│   ├── banners.php        # 横幅管理(名称与图片)
│   └── inc.php            # 公共布局与认证(折叠式导航 tabs、横向滑动、向右展开、样式、admin_require_login)
├── uploads/               # 上传文件目录
│   ├── banners/           # 横幅图片目录
│   │   ├── *.jpg          # 横幅图片文件
│   │   └── index.php      # 目录保护文件
│   └── index.php          # 目录保护文件
├── settings.json          # 持久化设置(由后台写入,支持手动编辑)
├── index.php              # 首页(最新更新瀑布流)
├── category.php           # 分类页列表
├── search.php             # 搜索页
├── detail.php             # 详情页(简介清理、剧集列表)
├── play.php               # 播放页(令牌取回真实链接、分集列表与高亮)
├── templates/             # 模板目录
│   ├── .config/
│   │   └── config.php     # 模板系统全局配置
│   ├── default/           # 默认模板
│   │   ├── components/    # 组件(包括动态横幅组件)
│   │   │   └── banner.php # 动态横幅组件(通过API加载数据,支持轮播)
│   │   ├── layouts/       # 布局文件
│   │   │   └── main.php   # 主布局文件(含导航和搜索框)
│   │   ├── category.php   # 分类页模板
│   │   ├── config.php     # 模板配置
│   │   ├── detail.php     # 详情页模板
│   │   ├── home.php       # 首页模板
│   │   ├── play.php       # 播放页模板(支持导航和搜索)
│   │   └── search.php     # 搜索页模板
│   └── index.php          # 目录保护文件
├── rewrite/               # 伪静态规则示例(按所用服务器拷贝应用)
│   ├── .htaccess          # Apache 重写规则(启用 mod_rewrite + AllowOverride All)
│   ├── web.config         # IIS URL Rewrite 规则(需安装 URL Rewrite 模块)
│   └── nginx.conf         # Nginx 虚拟主机示例(含所有重写与 PHP 处理)
└── vodfl.php              # 分类映射与显示名规则(前端默认映射)

使用说明

  • 环境需求:
    • PHP 7.0+(兼容较低版本,推荐 7.0+),开启会话;
    • 服务器需支持重写规则(如 Apache mod_rewrite、IIS URL Rewrite、Nginx 等)。
    • Web 服务器或 PHP 内置服务器;cache/ 目录需可写。
  • 部署:将源码放入 Web 根目录;按环境配置虚拟主机或直接访问。
  • 后台:
    • 新入口:访问 /admin/(自动跳转登录/首页);或直接访问 /admin/login.php
    • 首页:显示系统时间与缓存状态;提供“前往前台首页”“清空缓存”按钮;折叠式导航支持向右展开与横向滑动(移动端触摸滑动、PC滚轮横向)。
    • 默认账号/密码:admin/admin,建议登录后在“设置”中修改。

配置说明

  • 推荐通过后台页面编辑,或直接修改 settings.json
    • site_name:站点名称(前台 <title> 与 Logo)。
    • api_base:采集源基础地址。
    • api_enabled:资源接口启用开关(false 时不发起新请求,尝试旧缓存)。
    • m3u8_proxy:m3u8 代理前缀(如 http://anyn.cc/m3u8/?url=)。
    • m3u8_enabled:m3u8 代理启用开关(false 时尝试直接播放)。
    • category_aliases:分类名称别名(JSON 对象,按名称关键词匹配)。
    • category_hide:分类隐藏关键词(数组,按名称关键词隐藏)。
    • source_aliases:播放源别名(JSON 对象)。
    • admin_user / admin_pass:后台登录凭证。

常见操作

  • 清空缓存:删除 cache/*.cache 文件。
  • 调整播放页样式:play.php 播放器容器(m3u8 为 16:9 自适应)。
  • 安全增强建议:使用密码哈希(password_hash / password_verify)、限制登录失败重试、CSRF 防护。
  • 如果账号密码遗失,可直接编辑 settings.json 重置为默认值 admin/admin
{
  "admin_user": "admin",
  "admin_pass": "admin"
}

About

轻量级的聚合影视站,整合采集接口,免采集,实时自动根据资源站更新,并提供快速缓存与简洁前端。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published