Commit Graph

321 Commits

Author SHA1 Message Date
mtvpls
b61865fb49 优化视频权重获取方式 2026-03-19 16:10:43 +08:00
mtvpls
02b5c87c01 获取视频源详情不再依赖title 2026-03-18 09:51:23 +08:00
mtvpls
826acf40bf 电视直播三种代理模式 2026-03-17 10:54:34 +08:00
mtvpls
fe210c26cb 电视直播代理控制权从客户端改为服务端 2026-03-16 15:47:12 +08:00
mtvpls
cdba909716 fix缓存 2026-03-14 12:47:01 +08:00
mtvpls
11317abc98 ai评论生成 2026-03-14 11:30:17 +08:00
mtvpls
52166a4a5d Merge branch 'pr-213' into dev 2026-03-12 20:10:41 +08:00
Troray
3e9fdbb7a0 fix: 强化 SSRF 防护、修复代理链路安全漏洞与代码质量问题
基于 Gemini Code Assist 审查建议,对代理链路进行全面安全加固与代码优化。

- [新增] `src/lib/server/ssrf.ts`: 使用 `dns.promises.lookup` 进行真实 IP 解析,
  替代原有的正则匹配,防御 DNS 重绑定、非十进制 IP 等绕过手段
- [新增] 为 `proxy/vod/m3u8`、`proxy/vod/key`、`video-proxy` 三个接口补齐 SSRF 校验,
  此前仅 `proxy-m3u8` 和 `proxy/vod/segment` 有防护
- [删除] `utils.ts` 中已弃用的 `isValidUrlForProxy` 函数

- 所有代理接口统一强制 SSRF 校验,不再仅限于 `source=directplay`

- 修复 `proxy/vod/segment` 中 `isCancelled` 为 `const` 导致流取消信号失效的问题
- 修复 `proxy-m3u8/route.ts` 中导入不存在的函数(`extractResolutionFromM3u8`, `filterAdsFromM3U8Default`, `resolveM3u8Links`)的构建错误
- 修复直链直连模式下 `fetchCurrentSourceVideoInfo` 使用 HLS.js (XHR) 探测视频分辨率
  触发 CORS 误报的问题,改为直接跳过探测
- 移除 `proxy/vod/segment` 中未使用的 `NextRequest` 导入

- [新增] `src/lib/server/proxy-headers.ts`: 抽取 CORS 响应头为共享工具函数,
  消除 `proxy/vod/segment`、`proxy/vod/key`、`proxy/vod/m3u8` 中重复代码
- 统一使用 `DIRECT_PLAY_SOURCE` 常量替代硬编码 `'directplay'` 字符串

- `src/lib/server/ssrf.ts`
- `src/lib/server/proxy-headers.ts`

- `/app/api/proxy-m3u8/route`
- `/app/api/proxy/vod/key/route`
- `/app/api/proxy/vod/m3u8/route`
- `/app/api/proxy/vod/segment/route`
- `/app/api/video-proxy/route`
- `/app/play/page`x
- `/lib/utils`
2026-03-11 21:11:24 +08:00
mtvpls
c2a46e1b95 Merge branch 'dev' of https://github.com/mtvpls/moontvplus-dev into dev 2026-03-11 19:43:49 +08:00
Troray
11dd787e73 feat(play): 直链播放默认不走代理及无后缀流透传兼容
1. 将直链播放(directplay)模式默认改为浏览器直连播放。
2. 播放失败UI新增'使用代理播放'按钮,点击后自动记忆域名并使用代理重试。
3. 仅在 localStorage 中记录的失败域名会自动走代理。
2026-03-11 17:11:44 +08:00
mtvpls
f3877811c5 修正search页面僵尸历史记录tag 2026-03-11 15:27:09 +08:00
Troray
802bf80bef 修复SSRF/Host Header注入与Null报错的问题 2026-03-10 20:58:56 +08:00
mtvpls
7bd10624f7 2141 2026-03-10 19:37:37 +08:00
mtvpls
fc9d7a67f9 修复filesystem模式取消下载不删除文件 2026-03-07 20:09:07 +08:00
mtvpls
6481772777 优化ai问片流式处理,系统提示词增加日期,优化决策json提取 2026-03-07 12:00:54 +08:00
mtvpls
406d7ce812 兼容jellyfin 2026-03-07 10:55:27 +08:00
mtvpls
047691d1a5 emby支持无密码登录 2026-03-07 10:19:38 +08:00
mtvpls
82e6a33b00 修复未配置TVBOX_SUBSCRIBE_TOKEN不代理emby图片 2026-03-05 21:27:03 +08:00
mtvpls
cdeddd48c1 v214 2026-03-04 21:48:19 +08:00
mtvpls
a2ac524778 修正emby代理验证key为undefined的问题 2026-03-04 21:31:55 +08:00
mtvpls
4da312e8c7 电视直播放行mp4 2026-03-03 12:08:38 +08:00
mtvpls
4f87e99f52 emby增加自定义ua和图片代理 2026-03-03 11:23:25 +08:00
mtvpls
b3a460e300 下载内容管理 2026-02-26 22:47:39 +08:00
mtvpls
17376ff0cd 本地播放 2026-02-26 20:55:40 +08:00
mtvpls
34698e943c file system api下载 2026-02-26 11:36:39 +08:00
mtvpls
0745e25ed7 下载可调整线程数 2026-02-26 10:24:51 +08:00
mtvpls
0402828c4c tvbox支持根据用户细分 2026-02-25 11:56:27 +08:00
mtvpls
2670e80446 fix typeerror 2026-02-24 21:48:30 +08:00
mtvpls
ef5656cde5 v213 2026-02-24 00:30:52 +08:00
mtvpls
4dfea503d5 定时任务性能优化 2026-02-22 23:55:34 +08:00
mtvpls
f02dce869c 进度条图标自定义 2026-02-21 02:13:50 +08:00
mtvpls
84fec2eada 剧集更新提示 2026-02-19 22:03:05 +08:00
mtvpls
96b08dc0bd 私人影库增加追番订阅功能 2026-02-18 17:20:37 +08:00
mtvpls
bdb43450a6 详情面板增加演员 2026-02-17 01:22:15 +08:00
mtvpls
bdd6d2eea8 v2122 2026-02-13 22:55:15 +08:00
mtvpls
6243bcacd8 Merge branch 'dev' 2026-02-13 22:40:49 +08:00
mtvpls
f0cedc1651 修复openlist目录包含文件时扫描失败 2026-02-11 16:44:43 +08:00
mtvpls
ed17a74a12 v2121 2026-02-08 23:31:12 +08:00
mtvpls
4901e2c569 postgres适配music 2026-02-08 09:23:37 +08:00
mtvpls
c6865b4607 自动创建站长账号 2026-02-08 02:10:55 +08:00
mtvpls
a2e07011ec fix postgres error 2026-02-08 01:18:14 +08:00
foxNG
1d3a7f2732 feat: 添加 Vercel Postgres 数据库支持
- 安装 @vercel/postgres 和 pg 依赖
- 创建 PostgresAdapter 适配器,兼容 D1 接口
- 创建 PostgresStorage 类,实现完整的 IStorage 接口
- 添加 Postgres 数据库初始化脚本和 schema
- 更 next.config.js 排除 Postgres 模块的客户端打包
- 添加 VERCEL_DEPLOYMENT.md 部署指南
- 支持 Vercel serverless 环境部署

注意事项:观影室功能在 Vercel 上不可用(需要 WebSocket 支持)
2026-02-08 00:37:37 +08:00
mtvpls
e619cbe62a v212 2026-02-07 22:15:55 +08:00
mtvpls
f43bdaa9e3 openlist根路径主动移除bom 2026-02-06 21:28:57 +08:00
mtvpls
ec1ebb750c 音乐openlist代理 2026-02-03 20:37:01 +08:00
mtvpls
525c6f77aa 音乐openlist缓存 2026-02-02 20:53:28 +08:00
mtvpls
a447a41920 音乐数据导入导出 2026-02-02 14:27:25 +08:00
mtvpls
68b1332df1 歌单 2026-02-02 12:44:39 +08:00
mtvpls
821baff2be 获取用户站长无信息时返回默认值,修复与upstash合并时丢失的用户缓存信息 2026-02-02 00:03:33 +08:00
mtvpls
790523ce95 Merge branch 'dev' of https://github.com/mtvpls/moontvplus-dev into dev 2026-02-01 22:23:39 +08:00