PageSourceSearch

https://libertv-545.pages.dev/js/config.js

js libertv-545.pages.dev collected 2026-10-03 05:39:57 UTC 6,662 bytes, 225 lines download raw bytes

1// 全局常量配置
2const PROXY_URL = '/proxy/';    // 适用于 Cloudflare, Netlify (带重写), Vercel (带重写)
3// const HOPLAYER_URL = 'https://hoplayer.com/index.html';
4const SEARCH_HISTORY_KEY = 'videoSearchHistory';
5const MAX_HISTORY_ITEMS = 5;
6
7// 密码保护配置
8const PASSWORD_CONFIG = {
9    localStorageKey: 'passwordVerified',  // 存储验证状态的键名
10    verificationTTL: 90 * 24 * 60 * 60 * 1000,  // 验证有效期(90天,约3个月)
11};
12
13// 网站信息配置
14const SITE_CONFIG = {
15    name: 'LibreTV',
16    url: 'https://libretv.is-an.org',
17    description: '免费在线视频搜索与观看平台',
18    logo: 'https://images.icon-icons.com/38/PNG/512/retrotv_5520.png',
19    version: '1.0.3'
20};
21
22// API站点配置
23const API_SITES = {
24    heimuer: {
25        api: 'https://json.heimuer.xyz',
26        name: '黑木耳',
27        detail: 'https://heimuer.tv',
28    },
29    dyttzy: {
30        api: 'http://caiji.dyttzyapi.com',
31        name: '电影天堂资源',
32        detail: 'http://caiji.dyttzyapi.com',
33    },
34    ffzy: {
35        api: 'http://ffzy5.tv',
36        name: '非凡影视',
37        detail: 'http://ffzy5.tv',
38    },
39    tyyszy: {
40        api: 'https://tyyszy.com',
41        name: '天涯资源',
42    },
43    ckzy: {
44        api: 'https://www.ckzy1.com',
45        name: 'CK资源',
46        adult: true
47    },
48    zy360: {
49        api: 'https://360zy.com',
50        name: '360资源',
51    },
52    wolong: {
53        api: 'https://wolongzyw.com',
54        name: '卧龙资源',
55    },
56    hwba: {
57        api: 'https://cjhwba.com',
58        name: '华为吧资源',
59    },
60    jisu: {
61        api: 'https://jszyapi.com',
62        name: '极速资源',
63        detail: 'https://jszyapi.com'
64    },
65    dbzy: {
66        api: 'https://dbzy.com',
67        name: '豆瓣资源',
68    },
69    bfzy: {
70        api: 'https://bfzyapi.com',
71        name: '暴风资源',
72    },
73    mozhua: {
74        api: 'https://mozhuazy.com',
75        name: '魔爪资源',
76    },
77    mdzy: {
78        api: 'https://www.mdzyapi.com',
79        name: '魔都资源',
80    },
81    ruyi: {
82        api: 'https://cj.rycjapi.com',
83        name: '如意资源',
84    },
85    jkun: {
86        api: 'https://jkunzyapi.com',
87        name: 'jkun资源',
88        adult: true
89    },
90    bwzy: {
91        api: 'https://api.bwzym3u8.com',
92        name: '百万资源',
93        adult: true
94    },
95    souav: {
96        api: 'https://api.souavzy.vip',
97        name: 'souav资源',
98        adult: true
99    },
100    r155: {
101        api: 'https://155api.com',
102        name: '155资源',
103        adult: true
104    },
105    lsb: {
106        api: 'https://apilsbzy1.com',
107        name: 'lsb资源',
108        adult: true
109    },
110    huangcang: {
111        api: 'https://hsckzy.vip',
112        name: '黄色仓库',
113        adult: true,
114        detail: 'https://hsckzy.vip'
115    },
116    zuid: {
117        api: 'https://api.zuidapi.com',
118        name: '最大资源'
119    },
120    yutu: {
121        api: 'https://yutuzy10.com',
122        name: '玉兔资源',
123        adult: true
124    },
125    yinghua: {
126        api: 'https://m3u8.apiyhzy.com',
127        name: '樱花资源'
128    },
129    baidu: {
130        api: 'https://api.apibdzy.com',
131        name: '百度云资源'
132    },
133    wujin: {
134        api: 'https://api.wujinapi.me',
135        name: '无尽资源'
136    },
137    wwzy: {
138        api: 'https://wwzy.tv',
139        name: '旺旺短剧'
140    },
141    ikun: {
142        api: 'https://ikunzyapi.com',
143        name: 'iKun资源'
144    },
145};
146
147// 添加聚合搜索的配置选项
148const AGGREGATED_SEARCH_CONFIG = {
149    enabled: true,             // 是否启用聚合搜索
150    timeout: 8000,            // 单个源超时时间(毫秒)
151    maxResults: 10000,          // 最大结果数量
152    parallelRequests: true,   // 是否并行请求所有源
153    showSourceBadges: true    // 是否显示来源徽章
154};
155
156// 抽象API请求配置
157const API_CONFIG = {
158    search: {
159    	// 修改搜索接口为返回更多详细数据(包括视频封面、简介和播放列表)
160        path: '/api.php/provide/vod/?ac=videolist&wd=',
161        headers: {
162            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
163            'Accept': 'application/json'
164        }
165    },
166    detail: {
167    	// 修改详情接口也使用videolist接口,但是通过ID查询,减
167少请求次数
168        path: '/api.php/provide/vod/?ac=videolist&ids=',
169        headers: {
170            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
171            'Accept': 'application/json'
172        }
173    }
174};
175
176// 优化后的正则表达式模式
177const M3U8_PATTERN = /\$https?:\/\/[^"'\s]+?\.m3u8/g;
178
179// 添加自定义播放器URL
180const CUSTOM_PLAYER_URL = 'player.html'; // 使用相对路径引用本地player.html
181
182// 增加视频播放相关配置
183const PLAYER_CONFIG = {
184    autoplay: true,
185    allowFullscreen: true,
186    width: '100%',
187    height: '600',
188    timeout: 15000,  // 播放器加载超时时间
189    filterAds: true,  // 是否启用广告过滤
190    autoPlayNext: true,  // 默认启用自动连播功能
191    adFilteringEnabled: true, // 默认开启分片广告过滤
192    adFilteringStorage: 'adFilteringEnabled' // 存储广告过滤设置的键名
193};
194
195// 增加错误信息本地化
196const ERROR_MESSAGES = {
197    NETWORK_ERROR: '网络连接错误,请检查网络设置',
198    TIMEOUT_ERROR: '请求超时,服务器响应时间过长',
199    API_ERROR: 'API接口返回错误,请尝试更换数据源',
200    PLAYER_ERROR: '播放器加载失败,请尝试其他视频源',
201    UNKNOWN_ERROR: '发生未知错误,请刷新页面重试'
202};
203
204// 添加进一步安全设置
205const SECURITY_CONFIG = {
206    enableXSSProtection: true,  // 是否启用XSS保护
207    sanitizeUrls: true,         // 是否清理URL
208    maxQueryLength: 100,        // 最大搜索长度
209    // allowedApiDomains 不再需要,因为所有请求都通过内部代理
210};
211
212// 添加多个自定义API源的配置
213const CUSTOM_API_CONFIG = {
214    separator: ',',           // 分隔符
215    maxSources: 5,            // 最大允许的自定义源数量
216    testTimeout: 5000,        // 测试超时时间(毫秒)
217    namePrefix: 'Custom-',    // 自定义源名称前缀
218    validateUrl: true,        // 验证URL格式
219    cacheResults: true,       // 缓存测试结果
220    cacheExpiry: 5184000000,  // 缓存过期时间(2个月)
221    adultPropName: 'isAdult' // 用于标记成人内容的属性名
222};
223
224// 新增隐藏内置黄色采集站API的变量,默认为true
225const HIDE_BUILTIN_ADULT_APIS = true;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.