Commit Graph
14 Commits
Author SHA1 Message Date
mtvpls 0322b2650b 修复live全量代理not source 2026-03-19 23:23:14 +08:00
mtvpls 826acf40bf 电视直播三种代理模式 2026-03-17 10:54:34 +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
Troray 802bf80bef 修复SSRF/Host Header注入与Null报错的问题 2026-03-10 20:58:56 +08:00
Troray 3563d80510 fix(player):修复直链播放m3u8时跨域错误及分片加载失败的问题 2026-03-10 17:28:48 +08:00
mtvpls 92526e2d24 live移除content-length发送 2026-01-28 23:50:48 +08:00
mtvpls d821c0bd7e 视频源增加代理开关 2025-12-28 21:01:49 +08:00
shinya 15b20603b8 feat: support save live channel to favorite 2025-08-26 16:36:44 +08:00
shinya 91031b1a2d feat: totally destory artplayer after leaving page 2025-08-26 02:29:46 +08:00
shinya 5e93d608ee feat: support editting live info 2025-08-26 01:03:09 +08:00
shinya ad3bf8f3bc feat: add live logo proxy 2025-08-26 00:30:23 +08:00
shinya 21400e9f7a feat: support flv and mp4 2025-08-25 13:39:51 +08:00
shinya f6dfda7ed1 feat: add epg info 2025-08-24 17:23:27 +08:00
shinya 0a8c255279 feat: implement iptv 2025-08-24 00:26:48 +08:00