完善工作
This commit is contained in:
10
.github/workflows/docker-image.yml
vendored
10
.github/workflows/docker-image.yml
vendored
@@ -60,7 +60,7 @@ jobs:
|
|||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v5
|
||||||
|
|
||||||
with:
|
with:
|
||||||
images: ghcr.io/moontechlab/lunatv
|
images: ghcr.io/mtvpls/moontvplus
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ github.event.inputs.tag || 'latest' }},enable={{is_default_branch}}
|
type=raw,value=${{ github.event.inputs.tag || 'latest' }},enable={{is_default_branch}}
|
||||||
|
|
||||||
@@ -72,8 +72,8 @@ jobs:
|
|||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
platforms: ${{ matrix.platform }}
|
platforms: ${{ matrix.platform }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
tags: ghcr.io/moontechlab/lunatv:${{ github.event.inputs.tag || 'latest' }}
|
tags: ghcr.io/mtvpls/moontvplus:${{ github.event.inputs.tag || 'latest' }}
|
||||||
outputs: type=image,name=ghcr.io/moontechlab/lunatv,name-canonical=true,push=true
|
outputs: type=image,name=ghcr.io/mtvpls/moontvplus,name-canonical=true,push=true
|
||||||
|
|
||||||
- name: Export digest
|
- name: Export digest
|
||||||
run: |
|
run: |
|
||||||
@@ -118,8 +118,8 @@ jobs:
|
|||||||
- name: Create manifest list and push
|
- name: Create manifest list and push
|
||||||
working-directory: /tmp/digests
|
working-directory: /tmp/digests
|
||||||
run: |
|
run: |
|
||||||
docker buildx imagetools create -t ghcr.io/moontechlab/lunatv:${{ github.event.inputs.tag || 'latest' }} \
|
docker buildx imagetools create -t ghcr.io/mtvpls/moontvplus:${{ github.event.inputs.tag || 'latest' }} \
|
||||||
$(printf 'ghcr.io/moontechlab/lunatv@sha256:%s ' *)
|
$(printf 'ghcr.io/mtvpls/moontvplus@sha256:%s ' *)
|
||||||
|
|
||||||
cleanup-refresh:
|
cleanup-refresh:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
38
README.md
38
README.md
@@ -1,23 +1,28 @@
|
|||||||
# MoonTV
|
# MoonTVPlus
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="public/logo.png" alt="MoonTV Logo" width="120">
|
<img src="public/logo.png" alt="MoonTVPlus Logo" width="120">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
> 🎬 **MoonTV** 是一个开箱即用的、跨平台的影视聚合播放器。它基于 **Next.js 14** + **Tailwind CSS** + **TypeScript** 构建,支持多资源搜索、在线播放、收藏同步、播放记录、云端存储,让你可以随时随地畅享海量免费影视内容。
|
> 🎬 **MoonTVPlus** 是基于 [MoonTV v100](https://github.com/MoonTechLab/LunaTV) 二次开发的增强版影视聚合播放器。它在原版基础上新增了外部播放器支持、视频超分、弹幕系统、评论抓取等实用功能,提供更强大的观影体验。
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 🎉 相对原版新增内容
|
||||||
|
|
||||||
|
- 🎮 **外部播放器跳转**:支持 PotPlayer、VLC、MPV、MX Player、nPlayer、IINA 等多种外部播放器
|
||||||
|
- ✨ **视频超分 (Anime4K)**:使用 WebGPU 技术实现实时视频画质增强(支持 2x/3x/4x 超分)
|
||||||
|
- 💬 **弹幕系统**:完整的弹幕搜索、匹配、加载功能,支持弹幕设置持久化
|
||||||
|
- 📝 **豆瓣评论抓取**:自动抓取并展示豆瓣电影短评,支持分页加载
|
||||||
|
|
||||||
## ✨ 功能特性
|
## ✨ 功能特性
|
||||||
|
|
||||||
- 🔍 **多源聚合搜索**:一次搜索立刻返回全源结果。
|
- 🔍 **多源聚合搜索**:一次搜索立刻返回全源结果。
|
||||||
@@ -41,17 +46,29 @@
|
|||||||
|
|
||||||
## 🗺 目录
|
## 🗺 目录
|
||||||
|
|
||||||
|
- [弹幕后端部署](#弹幕后端部署)
|
||||||
- [技术栈](#技术栈)
|
- [技术栈](#技术栈)
|
||||||
- [部署](#部署)
|
- [部署](#部署)
|
||||||
- [配置文件](#配置文件)
|
- [配置文件](#配置文件)
|
||||||
- [自动更新](#自动更新)
|
- [自动更新](#自动更新)
|
||||||
- [环境变量](#环境变量)
|
- [环境变量](#环境变量)
|
||||||
- [AndroidTV 使用](#AndroidTV-使用)
|
- [AndroidTV 使用](#AndroidTV-使用)
|
||||||
- [Roadmap](#roadmap)
|
|
||||||
- [安全与隐私提醒](#安全与隐私提醒)
|
- [安全与隐私提醒](#安全与隐私提醒)
|
||||||
- [License](#license)
|
- [License](#license)
|
||||||
- [致谢](#致谢)
|
- [致谢](#致谢)
|
||||||
|
|
||||||
|
## 弹幕后端部署
|
||||||
|
|
||||||
|
要使用弹幕功能,需要额外部署弹幕 API 后端服务。
|
||||||
|
|
||||||
|
### 部署步骤
|
||||||
|
|
||||||
|
1. 按照[danmu_api](https://github.com/huangxd-/danmu_api.git)教程部署后端
|
||||||
|
2. 建议配置SOURCE_ORDER或PLATFORM_ORDER环境变量,默认弹幕源很少
|
||||||
|
3. 在管理面板设置后端地址
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 技术栈
|
## 技术栈
|
||||||
|
|
||||||
| 分类 | 主要依赖 |
|
| 分类 | 主要依赖 |
|
||||||
@@ -72,7 +89,7 @@
|
|||||||
```yml
|
```yml
|
||||||
services:
|
services:
|
||||||
moontv-core:
|
moontv-core:
|
||||||
image: ghcr.io/moontechlab/lunatv:latest
|
image: ghcr.io/mtvpls/moontvplus:latest
|
||||||
container_name: moontv-core
|
container_name: moontv-core
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
ports:
|
ports:
|
||||||
@@ -106,7 +123,7 @@ volumes:
|
|||||||
```yml
|
```yml
|
||||||
services:
|
services:
|
||||||
moontv-core:
|
moontv-core:
|
||||||
image: ghcr.io/moontechlab/lunatv:latest
|
image: ghcr.io/mtvpls/moontvplus:latest
|
||||||
container_name: moontv-core
|
container_name: moontv-core
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
ports:
|
ports:
|
||||||
@@ -142,7 +159,7 @@ networks:
|
|||||||
```yml
|
```yml
|
||||||
services:
|
services:
|
||||||
moontv-core:
|
moontv-core:
|
||||||
image: ghcr.io/moontechlab/lunatv:latest
|
image: ghcr.io/mtvpls/moontvplus:latest
|
||||||
container_name: moontv-core
|
container_name: moontv-core
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
ports:
|
ports:
|
||||||
@@ -280,6 +297,7 @@ NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE 选项解释:
|
|||||||
## 致谢
|
## 致谢
|
||||||
|
|
||||||
- [ts-nextjs-tailwind-starter](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter) — 项目最初基于该脚手架。
|
- [ts-nextjs-tailwind-starter](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter) — 项目最初基于该脚手架。
|
||||||
|
- [MoonTV](https://github.com/mtvpls/moontvplus)— 由此启发,再次站在巨人的肩膀上。
|
||||||
- [LibreTV](https://github.com/LibreSpark/LibreTV) — 由此启发,站在巨人的肩膀上。
|
- [LibreTV](https://github.com/LibreSpark/LibreTV) — 由此启发,站在巨人的肩膀上。
|
||||||
- [ArtPlayer](https://github.com/zhw2590582/ArtPlayer) — 提供强大的网页视频播放器。
|
- [ArtPlayer](https://github.com/zhw2590582/ArtPlayer) — 提供强大的网页视频播放器。
|
||||||
- [HLS.js](https://github.com/video-dev/hls.js) — 实现 HLS 流媒体在浏览器中的播放支持。
|
- [HLS.js](https://github.com/video-dev/hls.js) — 实现 HLS 流媒体在浏览器中的播放支持。
|
||||||
@@ -289,4 +307,4 @@ NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE 选项解释:
|
|||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
||||||
[](https://www.star-history.com/#MoonTechLab/LunaTV&Date)
|
[](https://www.star-history.com/#mtvpls/moontvplus&Date)
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ export const VersionPanel: React.FC<VersionPanelProps> = ({
|
|||||||
const fetchRemoteChangelog = async () => {
|
const fetchRemoteChangelog = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
'https://raw.githubusercontent.com/MoonTechLab/LunaTV/main/CHANGELOG'
|
'https://raw.githubusercontent.com/mtvpls/MoonTVPlus/main/CHANGELOG'
|
||||||
);
|
);
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
const content = await response.text();
|
const content = await response.text();
|
||||||
@@ -363,7 +363,7 @@ export const VersionPanel: React.FC<VersionPanelProps> = ({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
href='https://github.com/MoonTechLab/LunaTV'
|
href='https://github.com/mtvpls/MoonTVPlus.git'
|
||||||
target='_blank'
|
target='_blank'
|
||||||
rel='noopener noreferrer'
|
rel='noopener noreferrer'
|
||||||
className='inline-flex items-center justify-center gap-2 px-3 py-2 bg-yellow-600 hover:bg-yellow-700 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm w-full'
|
className='inline-flex items-center justify-center gap-2 px-3 py-2 bg-yellow-600 hover:bg-yellow-700 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm w-full'
|
||||||
@@ -393,7 +393,7 @@ export const VersionPanel: React.FC<VersionPanelProps> = ({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
href='https://github.com/MoonTechLab/LunaTV'
|
href='https://github.com/mtvpls/MoonTVPlus.git'
|
||||||
target='_blank'
|
target='_blank'
|
||||||
rel='noopener noreferrer'
|
rel='noopener noreferrer'
|
||||||
className='inline-flex items-center justify-center gap-2 px-3 py-2 bg-green-600 hover:bg-green-700 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm w-full'
|
className='inline-flex items-center justify-center gap-2 px-3 py-2 bg-green-600 hover:bg-green-700 text-white text-xs sm:text-sm rounded-lg transition-colors shadow-sm w-full'
|
||||||
|
|||||||
Reference in New Issue
Block a user