mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2026-06-16 01:02:14 +08:00
@@ -0,0 +1,34 @@
|
|||||||
|
# MoonTV
|
||||||
|
|
||||||
|
跨平台的影视聚合播放站
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript
|
||||||
|
构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量免费影视内容。
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
🔍 多源聚合搜索:内置数十个免费资源站点,一次搜索立刻返回全源结果。
|
||||||
|
|
||||||
|
📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
|
||||||
|
|
||||||
|
▶️ 流畅在线播放:集成 HLS.js & ArtPlayer。
|
||||||
|
|
||||||
|
❤️ 收藏 + 继续观看:支持 Redis/D1 存储,多端同步进度。
|
||||||
|
|
||||||
|
📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
|
||||||
|
|
||||||
|
🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
|
||||||
|
|
||||||
|
🚀 极简部署:一条 Docker 命令即可将完整服务跑起来,或免费部署到 Vercel 和 Cloudflare。
|
||||||
|
|
||||||
|
👿 智能去广告:自动跳过视频中的切片广告(实验性)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
additionalProperties:
|
||||||
|
key: moontv
|
||||||
|
name: MoonTV
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Local
|
||||||
|
shortDescZh: 跨平台的影视聚合播放站
|
||||||
|
shortDescEn: Cross-platform video aggregation station
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://github.com/senshinya/MoonTV/
|
||||||
|
github: https://github.com/senshinya/MoonTV/
|
||||||
|
document: https://github.com/senshinya/MoonTV/
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- child:
|
||||||
|
default: ""
|
||||||
|
envKey: PANEL_REDIS_SERVICE
|
||||||
|
required: false
|
||||||
|
type: service
|
||||||
|
default: redis
|
||||||
|
envKey: PANEL_REDIS_TYPE
|
||||||
|
labelZh: Redis 服务 (前置检查)
|
||||||
|
labelEn: Redis Service (Pre-check)
|
||||||
|
required: false
|
||||||
|
type: apps
|
||||||
|
values:
|
||||||
|
- label: Redis
|
||||||
|
value: redis
|
||||||
|
- default: "/home/moontv"
|
||||||
|
edit: true
|
||||||
|
envKey: MOONTV_ROOT_PATH
|
||||||
|
labelZh: 数据持久化路径
|
||||||
|
labelEn: Data persistence path
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 3000
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelZh: WebUI 端口
|
||||||
|
labelEn: WebUI port
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
- default: "MoonTV"
|
||||||
|
edit: true
|
||||||
|
envKey: SITE_NAME
|
||||||
|
labelZh: 网站名称
|
||||||
|
labelEn: Site Name
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: "本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。"
|
||||||
|
edit: true
|
||||||
|
envKey: ANNOUNCEMENT
|
||||||
|
labelZh: 站点公告
|
||||||
|
labelEn: Site Announcement
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 5
|
||||||
|
edit: true
|
||||||
|
envKey: NEXT_PUBLIC_SEARCH_MAX_PAGE
|
||||||
|
labelZh: 搜索结果最大页数
|
||||||
|
labelEn: Search result maximum number of pages
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
- default: "localstorage"
|
||||||
|
edit: true
|
||||||
|
envKey: NEXT_PUBLIC_STORAGE_TYPE
|
||||||
|
labelZh: 数据存储类型
|
||||||
|
labelEn: Storage Type
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
values:
|
||||||
|
- label: 本地浏览器存储
|
||||||
|
value: "localstorage"
|
||||||
|
- label: Redis
|
||||||
|
value: "redis"
|
||||||
|
- default: "redis://127.0.0.1:6379"
|
||||||
|
edit: true
|
||||||
|
envKey: REDIS_URL
|
||||||
|
labelZh: Redis 地址 (Redis 存储)
|
||||||
|
labelEn: Redis Address (Redis Storage)
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: USERNAME
|
||||||
|
labelZh: Redis 用户 (Redis 存储)
|
||||||
|
labelEn: Redis User (Redis Storage)
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: ""
|
||||||
|
edit: true
|
||||||
|
envKey: PASSWORD
|
||||||
|
labelZh: Redis 密码 (Redis 存储)
|
||||||
|
labelEn: Redis Password (Redis Storage)
|
||||||
|
required: false
|
||||||
|
type: password
|
||||||
|
- default: "false"
|
||||||
|
edit: true
|
||||||
|
envKey: NEXT_PUBLIC_ENABLE_REGISTER
|
||||||
|
labelZh: 是否允许注册
|
||||||
|
labelEn: Enable Register
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
values:
|
||||||
|
- label: 允许注册
|
||||||
|
value: "true"
|
||||||
|
- label: 禁用注册
|
||||||
|
value: "false"
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
moontv:
|
||||||
|
image: ghcr.io/senshinya/moontv:latest
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- ${PANEL_APP_PORT_HTTP}:3000
|
||||||
|
env_file:
|
||||||
|
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
|
||||||
|
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||||
|
volumes:
|
||||||
|
- ${MOONTV_ROOT_PATH}/data:/data
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# copyright© 2024 XinJiang Ms Studio
|
||||||
|
ENV_FILE=.env
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# copyright© 2024 XinJiang Ms Studio
|
||||||
|
TZ=Asia/Shanghai
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f .env ]; then
|
||||||
|
source .env
|
||||||
|
|
||||||
|
# setup-1 add default values
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
sed -i '/^ENV_FILE=/d' .env
|
||||||
|
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||||
|
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||||
|
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||||
|
|
||||||
|
echo "Check Finish."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Error: .env file not found."
|
||||||
|
fi
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 200 KiB |
Reference in New Issue
Block a user