tvbox支持私人影库播放

This commit is contained in:
mtvpls
2025-12-29 00:19:05 +08:00
parent 577d61d144
commit 0a9d952929
4 changed files with 430 additions and 18 deletions
+37 -13
View File
@@ -63,6 +63,26 @@ export async function GET(request: NextRequest) {
console.log('TVBOX 订阅 baseUrl:', baseUrl, 'adFilter:', adFilter);
// 检查是否配置了 OpenList
const hasOpenList = !!(
config.OpenListConfig?.Enabled &&
config.OpenListConfig?.URL &&
config.OpenListConfig?.Username &&
config.OpenListConfig?.Password
);
// 构建 OpenList 站点配置
const openlistSites = hasOpenList ? [{
key: 'openlist',
name: '私人影库',
type: 1,
api: `${baseUrl}/api/openlist/cms-proxy/${encodeURIComponent(subscribeToken)}`,
searchable: 1,
quickSearch: 1,
filterable: 1,
ext: '',
}] : [];
// 构建TVBOX订阅数据
const tvboxSubscription = {
// 站点配置
@@ -70,19 +90,23 @@ export async function GET(request: NextRequest) {
wallpaper: '',
// 视频源站点 - 根据 adFilter 参数决定是否使用代理
sites: apiSites.map(site => ({
key: site.key,
name: site.name,
type: 1,
// 如果开启去广告,使用 CMS 代理;否则使用原始 API
api: adFilter
? `${baseUrl}/api/cms-proxy?api=${encodeURIComponent(site.api)}`
: site.api,
searchable: 1,
quickSearch: 1,
filterable: 1,
ext: site.detail || '',
})),
// OpenList 源放在最前面
sites: [
...openlistSites,
...apiSites.map(site => ({
key: site.key,
name: site.name,
type: 1,
// 如果开启去广告,使用 CMS 代理;否则使用原始 API
api: adFilter
? `${baseUrl}/api/cms-proxy?api=${encodeURIComponent(site.api)}`
: site.api,
searchable: 1,
quickSearch: 1,
filterable: 1,
ext: site.detail || '',
}))
],
// 直播源
lives: await Promise.all(