// 智能多源过滤代理:根据 URL 参数 src 自动选择后端 API
var URL_MAP = {
'ffzy': 'https://cj.ffzyapi.com/api.php/provide/vod/from/ffm3u8/',
'lzi': 'https://cj.lziapi.com/api.php/provide/vod/from/lzm3u8/'
};
// 默认非凡,从 URL 读 src 参数
var API = URL_MAP['ffzy'];
try {
var loc = (typeof location !== 'undefined') ? location.href : '';
if (loc) {
var pairs = (loc.split('?')[1] || '').split('&');
for (var i = 0; i < pairs.length; i++) {
var kv = pairs[i].split('=');
if (kv[0] === 'src' && URL_MAP[kv[1]]) { API = URL_MAP[kv[1]]; break; }
}
}
} catch (e) {}
var BLOCKED_TYPE_IDS = [34];
var BLOCKED_KEYWORDS = ['伦理','情色','成人','三级','黄','肉','裸露','R18','禁片','艳','色','同影','同志','gay','lesbian','女仆','丝袜','制服'];
function containsBlockedKeyword(name) {
if (!name) return false;
for (var i = 0; i < BLOCKED_KEYWORDS.length; i++) {
if (name.indexOf(BLOCKED_KEYWORDS[i]) !== -1) return true;
}
return false;
}
function isBlocked(v) {
if (BLOCKED_TYPE_IDS.indexOf(v.type_id) !== -1) return true;
if (containsBlockedKeyword(v.type_name)) return true;
if (containsBlockedKeyword(v.vod_class)) return true;
if (containsBlockedKeyword(v.vod_name)) return true;
return false;
}
function filter(input) { return input; }
function parse(input) {
var data = JSON.parse(input);
if (data.list) data.list = data.list.filter(function(v){ return !isBlocked(v); });
if (data.type) data.type = data.type.filter(function(v){ return !isBlocked(v); });
return JSON.stringify(data);
}
console