29 Commits

Author SHA1 Message Date
senshinya
27273165cb Update README.md 2025-08-22 03:25:13 +08:00
github-actions[bot]
12e69f6012 chore: Bump to 3.1.2 2025-08-22 00:32:03 +08:00
github-actions[bot]
ef7a6e9eea chore: Bump to 3.1.1 2025-08-21 23:39:34 +08:00
senshinya
11aa23f07f Update README.md 2025-08-21 21:55:38 +08:00
github-actions[bot]
8a53e812f0 chore: Bump to 3.1.0 2025-08-21 21:38:52 +08:00
senshinya
785d1c2357 Update README.md 2025-08-21 14:45:10 +08:00
senshinya
7e25d42051 Update README.md 2025-08-20 22:03:54 +08:00
senshinya
cc7a5109c0 Update README.md 2025-08-20 21:54:40 +08:00
senshinya
a0786fb40e Update README.md 2025-08-20 21:54:06 +08:00
senshinya
0d36498ad5 Update README.md 2025-08-20 21:10:06 +08:00
github-actions[bot]
0659a7b464 chore: Bump to 3.0.2 2025-08-20 21:08:37 +08:00
senshinya
76bd640b2e Update README.md 2025-08-20 20:30:00 +08:00
senshinya
af65cd731c Update README.md 2025-08-20 20:10:44 +08:00
github-actions[bot]
845f1ef0d2 chore: Bump to 3.0.1 2025-08-20 20:08:54 +08:00
github-actions[bot]
c503536a01 chore: Bump to 3.0.0 2025-08-20 19:50:23 +08:00
senshinya
9e3b5012ce Update README.md 2025-08-20 19:47:54 +08:00
github-actions[bot]
46f352c17e chore: Bump to 2.7.1 2025-08-17 20:53:53 +08:00
github-actions[bot]
7f41134506 chore: Bump to 2.7.0 2025-08-17 20:37:34 +08:00
github-actions[bot]
08df6e98c1 chore: Bump to 2.6.0 2025-08-17 17:59:51 +08:00
senshinya
0c12bda9ca Update README.md 2025-08-17 17:50:55 +08:00
senshinya
860bb2756e Update README.md 2025-08-16 12:06:19 +08:00
senshinya
901d6ae205 Update README.md 2025-08-15 23:15:32 +08:00
github-actions[bot]
a2b33b6b7d chore: Bump to 2.4.1 2025-08-15 23:15:17 +08:00
senshinya
ffba8306d0 Update README.md 2025-08-15 21:06:09 +08:00
senshinya
8ce25b1bcf Update README.md 2025-08-15 20:47:19 +08:00
senshinya
ebcd03f14f Update README.md 2025-08-15 20:34:05 +08:00
旋律已经死了。
a62a0e69c1 Update README.md 2025-08-15 19:59:05 +08:00
senshinya
93ec2833f5 Update README.md 2025-08-15 19:56:33 +08:00
github-actions[bot]
98d2584fb6 chore: Bump to 2.4.0 2025-08-15 19:47:41 +08:00
3 changed files with 151 additions and 19 deletions

119
CHANGELOG
View File

@@ -1,3 +1,122 @@
## [3.1.2] - 2025-08-22
### Fixed
- 修复移动端卡片无法点击的问题
## [3.1.1] - 2025-08-21
### Fixed
- 修复了视频卡片 hover 的非播放按钮点击后进入播放页的问题
## [3.1.0] - 2025-08-21
### Added
- 增加用户组管理和用户组播放源限制
- 增加管理面板视频源有效性检查
- 搜索栏增加一键删除按钮
### Changed
- 放宽授权心跳对于网络问题的判断标准
- 统一管理面板弹窗使用 createPortal
- VideoCard 允许移动端响应 hover 事件
- 移动端布局 header 常驻,搜索按钮移动到 header 右侧
- 调大搜索接口超时时间
### Fixed
- 修复 bangumi 返回的整数评分无小数导致 UI 不对齐的问题
## [3.0.2] - 2025-08-20
### Changed
- 优化机器码生成逻辑
### Fixed
- 修复 redis url 不支持 rediss 协议的问题
## [3.0.1] - 2025-08-20
### Fixed
- 修复授权初始化错误
## [3.0.0] - 2025-08-20
### Added
- 防盗卖加固
- 支持自定义用户可用视频源
### Changed
- 右键视频卡片可弹出操作菜单
### Fixed
- 过滤掉集数为 0 的搜索结果
## [2.7.1] - 2025-08-17
### Fixed
- 修复 iOS 下版本面板可穿透滚动背景的问题
## [2.7.0] - 2025-08-17
### Added
- 视频卡片新增移动端操作面板,优化触控屏操作体验
### Changed
- 优化集数标题的匹配和展示逻辑
### Fixed
- 修复设置面板和修改密码面板背景可被拖动的问题
## [2.6.0] - 2025-08-17
### Added
- 新增搜索流式输出接口,并设置流式搜索为默认搜索接口,优化搜索体验
- 新增源站搜索结果内存缓存,粒度为源站+关键词+页数,缓存 10 分钟
- 新增豆瓣 CDN provided by @JohnsonRan
### Changed
- 搜索结果默认为无排序状态,不再默认按照年份排序
- 常规搜索接口无结果时,不再设置响应的缓存头
- 移除豆瓣数据源中的 cors-anywhere 方式
### Fixed
- 数据导出时导出站长密码,保证迁移到新账户时原站长用户可正常登录
- 聚合卡片优化移动端源信息展示
## [2.4.1] - 2025-08-15
### Fixed
- 对导入和 db 读取的配置文件做自检,防止 USERNAME 修改导致用户状态异常
## [2.4.0] - 2025-08-15
### Added
- 支持 kvrocks 存储(持久化 kv 存储)
### Fixed
- 修复搜索结果排序不稳定的问题
- 导入数据时同时更新内存缓存的管理员配置
## [2.3.0] - 2025-08-15
### Added

View File

@@ -20,7 +20,7 @@
## ✨ 功能特性
- 🔍 **多源聚合搜索**内置数十个免费资源站点,一次搜索立刻返回全源结果。
- 🔍 **多源聚合搜索**:一次搜索立刻返回全源结果。
- 📄 **丰富详情页**:支持剧集列表、演员、年份、简介等完整信息展示。
- ▶️ **流畅在线播放**:集成 HLS.js & ArtPlayer。
- ❤️ **收藏 + 继续观看**:支持 Kvrocks/Redis/Upstash 存储,多端同步进度。
@@ -37,7 +37,7 @@
<img src="public/screenshot3.png" alt="项目截图" style="max-width:600px">
</details>
### 请不要在 B站、小红书、微信公众号或其他中国大陆社交平台发布视频或文章宣传本项目
### 请不要在 B站、小红书、微信公众号、抖音、今日头条或其他中国大陆社交平台发布视频或文章宣传本项目,不授权任何“科技周刊/月刊”类项目或站点收录本项目。
本项目为空项目,请勿 fork喜欢可点 star
@@ -67,6 +67,8 @@
## 部署
本项目为防盗卖触发商业行为造成合规风险,采用一机一码的形式,授权码需要在 [自助授权机器人](https://t.me/moontv_auth_bot) 处申请,授权码和 tg 号绑定
本项目**仅支持 Docker 或其他基于 Docker 的平台** 部署。
### Kvrocks 存储(推荐)
@@ -76,39 +78,42 @@ services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=kvrocks
- KVROCKS_URL=redis://kvrocks:6666
- KVROCKS_URL=redis://moontv-kvrocks:6666
- AUTH_TOKEN=授权码
networks:
- moontv-network
depends_on:
- moontv-redis
- moontv-kvrocks
moontv-kvrocks:
image: apache/kvrocks
container_name: moontv-kvrocks
restart: unless-stopped
volumes:
- ./db:/kvrocks_data
- kvrocks-data:/var/lib/kvrocks
networks:
- moontv-networt
- moontv-network
networks:
moontv-network:
driver: bridge
volumes:
kvrocks-data:
```
### Redis 存储
### Redis 存储(有一定的丢数据风险)
```yml
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
restart: on-failure
ports:
- '3000:3000'
environment:
@@ -116,6 +121,7 @@ services:
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://moontv-redis:6379
- AUTH_TOKEN=授权码
networks:
- moontv-network
depends_on:
@@ -144,15 +150,16 @@ services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=upstash
- UPSTASH_URL={上面 https 开头的 HTTPS ENDPOINT}
- UPSTASH_TOKEN={上面的 TOKEN}
- UPSTASH_URL=上面 https 开头的 HTTPS ENDPOINT
- UPSTASH_TOKEN=上面的 TOKEN
- AUTH_TOKEN=授权码
```
## 配置文件
@@ -212,8 +219,9 @@ dockge/komodo 等 docker compose UI 也有自动更新功能
| 变量 | 说明 | 可选值 | 默认值 |
| ----------------------------------- | -------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| USERNAME | 非 localstorage 部署时的管理员账号 | 任意字符串 | 无默认,必填字段 |
| PASSWORD | 非 localstorage 部署时为管理员密码 | 任意字符串 | 无默认,必填字段 |
| USERNAME | 站长账号 | 任意字符串 | 无默认,必填字段 |
| PASSWORD | 站长密码 | 任意字符串 | 无默认,必填字段 |
| AUTH_TOKEN | 授权码 | 请从 [自助授权机器人](https://t.me/moontv_auth_bot) 处申请 | 无默认,必填字段 |
| NEXT_PUBLIC_SITE_NAME | 站点名称 | 任意字符串 | MoonTV |
| ANNOUNCEMENT | 站点公告 | 任意字符串 | 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。 |
| NEXT_PUBLIC_STORAGE_TYPE | 播放记录/收藏的存储方式 | redis、kvrocks、upstash | 无默认,必填字段 |
@@ -221,21 +229,21 @@ dockge/komodo 等 docker compose UI 也有自动更新功能
| REDIS_URL | redis 连接 url | 连接 url | 空 |
| UPSTASH_URL | upstash redis 连接 url | 连接 url | 空 |
| UPSTASH_TOKEN | upstash redis 连接 token | 连接 token | 空 |
| NEXT_PUBLIC_ENABLE_REGISTER | 是否开放注册,仅在非 localstorage 部署时生效 | true / false | false |
| NEXT_PUBLIC_SEARCH_MAX_PAGE | 搜索接口可拉取的最大页数 | 1-50 | 5 |
| NEXT_PUBLIC_DOUBAN_PROXY_TYPE | 豆瓣数据源请求方式 | 见下方 | direct |
| NEXT_PUBLIC_DOUBAN_PROXY_TYPE | 豆瓣数据源请求方式 | 见下方 | melody-cdn-sharon |
| NEXT_PUBLIC_DOUBAN_PROXY | 自定义豆瓣数据代理 URL | url prefix | (空) |
| NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE | 豆瓣图片代理类型 | 见下方 | direct |
| NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE | 豆瓣图片代理类型 | 见下方 | melody-cdn-sharon |
| NEXT_PUBLIC_DOUBAN_IMAGE_PROXY | 自定义豆瓣图片代理 URL | url prefix | (空) |
| NEXT_PUBLIC_DISABLE_YELLOW_FILTER | 关闭色情内容过滤 | true/false | false |
| NEXT_PUBLIC_FLUID_SEARCH | 是否开启搜索接口流式输出 | true/ false | true |
NEXT_PUBLIC_DOUBAN_PROXY_TYPE 选项解释:
- direct: 由服务器直接请求豆瓣源站
- melody-cdn-sharon: 浏览器向豆瓣 CDN 请求数据,该 CDN 由 [旋律](https://github.com/JohnsonRan) 搭建,并由 Sharon cdn 提供加速
- cors-proxy-zwei: 浏览器向 cors proxy 请求豆瓣数据,该 cors proxy 由 [Zwei](https://github.com/bestzwei) 搭建
- cmliussss-cdn-tencent: 浏览器向豆瓣 CDN 请求数据,该 CDN 由 [CMLiussss](https://github.com/cmliu) 搭建,并由腾讯云 cdn 提供加速
- cmliussss-cdn-ali: 浏览器向豆瓣 CDN 请求数据,该 CDN 由 [CMLiussss](https://github.com/cmliu) 搭建,并由阿里云 cdn 提供加速
- cors-anywhere: 浏览器向 cors proxy 请求豆瓣数据,该 cors proxy 为公共服务 [cors-anywhere](https://cors-anywhere.com),限制每分钟 20 次请求
- custom: 用户自定义 proxy由 NEXT_PUBLIC_DOUBAN_PROXY 定义
NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE 选项解释:
@@ -243,6 +251,7 @@ NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE 选项解释:
- direct由浏览器直接请求豆瓣分配的默认图片域名
- server由服务器代理请求豆瓣分配的默认图片域名
- img3由浏览器请求豆瓣官方的精品 cdn阿里云
- melody-cdn-sharon: 由浏览器请求豆瓣 CDN该 CDN 由 [旋律](https://github.com/JohnsonRan) 搭建,并由 Sharon cdn 提供加速
- cmliussss-cdn-tencent由浏览器请求豆瓣 CDN该 CDN 由 [CMLiussss](https://github.com/cmliu) 搭建,并由腾讯云 cdn 提供加速
- cmliussss-cdn-ali由浏览器请求豆瓣 CDN该 CDN 由 [CMLiussss](https://github.com/cmliu) 搭建,并由阿里云 cdn 提供加速
- custom: 用户自定义 proxy由 NEXT_PUBLIC_DOUBAN_IMAGE_PROXY 定义
@@ -286,3 +295,7 @@ NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE 选项解释:
- [Zwei](https://github.com/bestzwei) — 提供获取豆瓣数据的 cors proxy
- [CMLiussss](https://github.com/cmliu) — 提供豆瓣 CDN 服务
- 感谢所有提供免费影视接口的站点。
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=MoonTechLab/LunaTV&type=Date)](https://www.star-history.com/#MoonTechLab/LunaTV&Date)

View File

@@ -1 +1 @@
2.3.0
3.1.2