冬瓜TV 管理后台

管理采集站、TMDb、网盘搜索与使用教程

{{ loginError }}

冬瓜TV 管理后台

{{ sites.length }} 个采集站
添加采集站
已安装适配器

适配器运行在服务端,适合接入非 Maccms 的 JSON 或 HTML 站点。安装文件放在 data/adapters/。

{{ adapterMessage.text }}
名称标识版本说明文件
{{ adapter.name }} {{ adapter.id }} {{ adapter.version || '-' }} {{ adapter.description || '-' }} {{ adapter.file }}
暂无适配器。内置 Maccms 接口不需要适配器。
批量导入与查重

已合并到「导入采集源」。可以直接解析 TVBox 配置,也可以按行粘贴苹果CMS接口;导入前会先标记已存在的地址。

共 {{ sites.length }} 个,启用 {{ activeCount }} 个(地址只保存在本站 db.json,不会进 Git 仓库) 正在 PING... · 上次 PING 检测 {{ formatDateTime(healthLastRun) }}
状态 名称 标识 API 地址 启用 操作
{{ status[site.key].ok ? (status[site.key].latency + 'ms') : '不可用' }} 冷却 {{ Math.ceil(site.health.cooldownSeconds / 60) }} 分 {{ site.health.ok ? (site.health.latency + 'ms') : '失败' }} · {{ site.health.successCount }}/{{ site.health.successCount + site.health.failCount }} 未检测
还没有采集站,前台搜索暂时没有结果

提示:修改名称 / 地址 / 启用状态后,记得点该行的 保存。 Maccms 接口直接填 API 地址;非 Maccms 站点先用适配器接入,再在这里选择对应的「自定义适配器」。

导入采集源

先解析预览并自动查重,确认后再导入。只接受网页端可直连的 Maccms 接口。

{{ importMessage.text }}
解析结果
读取 {{ importStats.configsFetched }} 个配置,发现 {{ importStats.directSites }} 个直连源, 跳过 {{ importStats.skippedSites }} 个内置/无效源,去重 {{ importStats.duplicates }} 个
读取 {{ importStats.lines }} 行,新增 {{ importStats.newSites }},已存在 {{ importStats.existingSites }}, 跳过 {{ importStats.skippedSites }},输入内去重 {{ importStats.duplicates }}
选择名称接口地址状态来源
{{ item.api }} {{ item.existing ? '已存在' : '新接口' }} {{ item.sourceName || item.sourceUrl || '粘贴导入' }}
未导入 / 解析失败
  • {{ item.url || item.line }}:{{ item.error }}
PanSou 网盘搜索

接入 fish2018/pansou 后,用户搜索影视时也会同时返回夸克、百度、阿里、UC 等网盘资源。 本项目不内置网盘资源。使用 docker-compose 部署时已自动带上 PanSou 服务;也可以直接填你已有的 PanSou 地址。

{{ pansouResult.success ? ('连接正常,延迟 ' + pansouResult.latency + 'ms,插件 ' + (pansouResult.plugins || 0) + ' 个') : (pansouResult.error || '连接失败') }}
一键部署 PanSou(推荐)

在任意一台能访问 Telegram 的服务器 / NAS 上执行:

docker run -d --name pansou -p 8888:8888 ghcr.io/fish2018/pansou:latest

部署完成后,在上面填 http://服务器IP:8888,点「测试连接」→「保存配置」。 如果 PanSou 开启了认证,再用 AUTH_USERS 的账号登录拿到 Token 填入。

TMDb 影视资料

首页推荐、海报、演员和详情页都依赖 TMDb。只需填一个凭据,不用改代码,也不用重新构建镜像。

{{ settings.tmdbConfigured ? '已配置' : '未配置' }}
检测到环境变量里已经有 TMDb 凭据。这里填入新凭据并保存后,会优先使用后台设置。
只需要填一个。也可以把 TMDb 页面上的一整段文字直接粘进来,系统会自动提取有效的 Key 或 Token; 不需要手动加 tmdb、Bearer 或“密钥”这些字。
当前识别为:{{ tmdbDetectedType }} (尚未保存) (来自环境变量) (后台已保存,末尾 {{ settings.tmdbCredentialHint }})
TMDb 网络线路
服务器无法直连 TMDb 时,在下面填写 Cloudflare Worker 等反代地址。
{{ tmdbAccessLabel }}
填根地址即可,系统会自动请求 /3 和 /t/p。留空表示服务器直连。 Cloudflare 反代教程
只有 API 和图片分开代理时才需要填写。
当前 API:{{ settings.tmdbApiEndpoint }} · 当前图片:{{ settings.tmdbImageEndpoint }}
获取 TMDb 凭据 {{ tmdbResult.success ? (tmdbResult.message + (tmdbResult.latency ? ',延迟 ' + tmdbResult.latency + 'ms' : '')) : (tmdbResult.error || tmdbResult.message || '测试失败') }}
到底该填哪一个?
名称大概样式怎么用
API Key 32 位字母数字 直接粘贴到上面的输入框,系统走 v3 API。
API Read Access Token eyJ... 很长一串 也可以直接粘贴,系统自动加 Bearer 头,走 v4 API。

两个不用同时填。TMDb 页面会同时展示它们,但项目只会使用其中一个;长 Token 泄露后同样要立即重置。 保存后会自动进入备份,升级容器不会丢失。

原生 Android 客户端

客户端直接调用本站 API,使用原生播放器,不是网页套壳。设置名称、图标和服务器地址后,服务器会自动生成带独立签名的 APK。

你还没有添加采集站。建议先到「采集站管理」添加至少一个 Maccms 接口,否则客户端搜索为空。
修改版本号可用于覆盖更新安装
Android 扫码绑定二维码
扫码绑定服务器

安装 APK 后,在首次连接页或「设置」里点「扫码绑定」,直接扫描这个二维码即可。 二维码只包含服务器地址,不包含后台密码。

修改上面的服务器地址并保存后,二维码会自动更新。

客户端图标
客户端图标
建议上传 512×512 的 PNG,浏览器会自动裁剪为正方形。
下载 APK
{{ clientMessage.text }}
{{ client.buildMessage || '正在生成 APK,通常需要 1-3 分钟,请不要关闭服务。' }}
生成失败:{{ client.buildMessage }}
已生成 v{{ client.versionName }},大小 {{ formatSize(client.apkSize) }},首页已显示下载入口。
等待生成。保存配置后会自动排队。
使用步骤
1
先到「采集站管理」添加至少一个可用的 Maccms JSON 接口。
2
填写应用名称,上传正方形 PNG 图标。
3
服务器地址必须是手机能访问的地址,建议使用已经配置好的 HTTPS 域名。
4
点击「保存并生成 APK」,等待状态变成已生成。
5
在首页或本页下载 APK,安装后可用「扫码绑定」直接连接本站。
签名与更新

APK 使用本站自动生成并保存在 data/android-client 的签名。重新生成时保持同一份数据目录,才能覆盖安装更新。

如果通过反向代理部署,请在地址中填写代理后的域名,例如 https://tv.example.com,不要填容器内部地址。

备份与恢复

备份包含采集站和后台设置。每天自动备份一次,保留最近 7 份;恢复前会再自动备份当前数据。

下载当前配置
{{ backupMessage.text }}
历史备份
文件大小时间操作
{{ item.name }} {{ formatSize(item.size) }} {{ formatDateTime(item.createdAt) }}
还没有历史备份

手动恢复会覆盖当前采集站和设置。恢复完成后前台搜索缓存会自动清空。

如何找到并添加采集站
先搞清楚要填什么

本项目的采集站必须是 Maccms V10 的 JSON 接口,不是网站首页,也不是播放页。 常见形式如下(末尾有没有斜杠都行):

https://api.example.com/api.php/provide/vod
https://example.com/inc/apijson.php
用谷歌搜索采集站

在 Google 里搜索下面任意一个关键词组合,能找到很多公开的采集接口:

也可以搜「影视采集站 分享」「Maccms 资源站 接口」等中文关键词。

验证接口是不是真的能用

把地址复制到浏览器,后面加上 ?ac=list&pg=1:

https://api.example.com/api.php/provide/vod?ac=list&pg=1

如果看到类似下面的 JSON,说明格式正确:

{
  "code": 1,
  "msg": "数据列表",
  "list": [
    { "vod_id": 123, "vod_name": "示例电影", "vod_pic": "https://..." }
  ]
}
看到一整页网页、XML、或者 404/500,都说明不是可用的 JSON 采集接口,换一个。
添加或批量导入

单个接口可以在「采集站管理」填写名称和地址,点 测试并添加。 手里已经有 TVBox 配置或一堆接口时,打开 「导入采集源」 更快:

  • TVBox 配置:每行粘贴一个配置地址,支持明文、Base64、图片隐写、2423/2324 加密和 urls 仓库。
  • 苹果CMS 接口:每行一个,写成 名称,https://example.com/api.php/provide/vod 或只填地址。
  • 点 解析并查重 先看结果。已存在的接口会标灰,新接口勾选后再导入。
TVBox 里的 csp_ 内置源、Jar 源需要播放器自己运行,网页后台无法直接使用,导入时会自动跳过并写明原因。
常见问题
测试超时接口服务器慢或被墙,换个站;也可以调大环境变量 TEST_TIMEOUT。
返回 HTML / XML不是 JSON 接口,或者地址少了 /api.php/provide/vod 这一段。
接口能用但搜不到片该站资源少,属于正常情况;多添加几个站即可互补。
搜索很慢减少启用站点数,或把慢站关掉;搜索默认 6 秒超时。
添加后前台搜不到确认该行是「启用」状态;刚添加的站点可能需要等它自己缓存更新,换个关键词再试。
网盘搜索

在「网盘搜索」页填 PanSou 地址即可。用户搜索时会多出一个「网盘资源」标签页, 显示夸克 / 百度 / 阿里 / UC 等分享链接和提取码。

播放直连与线路切换

前台和安卓客户端会直接连接采集站的播放地址,视频与 m3u8 分片不经过本站服务器中转。 用户和源站之间的线路越好,播放越顺畅。

当前线路播放失败时只提示手动切换,不会自动换源。 如果提示跨域错误或 m3u8 无法加载,通常是源站限制,换其他线路即可。

播放器可单独调用:/player/?url=你的m3u8地址&name=影片名。

PING 巡检

服务每 10 分钟对启用的采集站做一次 HTTP PING。连续失败 3 次的站点会临时冷却 5 分钟,之后自动重新参与搜索; 不会永久关闭。后台「采集站管理」会显示延迟、成功率和冷却剩余时间,也可以点「PING 巡检」立即检查。 PING 只代表站点能连通,不保证接口一定返回可播放的 m3u8。

备份与恢复

后台「备份与恢复」可以下载当前配置、立即备份、恢复历史备份,或上传之前下载的 JSON。 服务每天自动备份一次,保留最近 7 份,文件在 data/backups/。

免责声明:采集站与网盘资源均由第三方提供,本项目只做技术聚合,不存储、不发布任何影视内容。 请只接入你有权使用的接口,并遵守当地法律法规。