新增真心本地包,同步20240904

This commit is contained in:
YSBXS 2024-09-06 13:07:49 +08:00
parent 5d425a95ca
commit fb38362f8c
24 changed files with 7937 additions and 0 deletions

229
ZX/FongMi.json Normal file
View File

@ -0,0 +1,229 @@
{
"spider": "./custom_spider.jar;md5;43989964965deab2a4b6b48251043412",
"sites": [
{
"key": "dr_豆瓣",
"name": "🔍豆瓣荐片(js)",
"type": 3,
"api": "./js/lib/drpy2.min.js",
"searchable": 2,
"quickSearch": 0,
"filterable": 0,
"ext": "./js/douban.js"
},
{
"key": "玩偶gg",
"name": "玩偶gg",
"type": 3,
"api": "csp_Wogg",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./peizhi.json",
"siteUrl": "https://www.wogg.bf/",
"filter": "./wogg.json"
}
},
{
"key": "哔哩FM",
"name": "哔哩",
"type": 3,
"api": "csp_Bili",
"searchable": 1,
"changeable": 0,
"style": {
"type": "rect",
"ratio": 1.433
},
"ext": {
"json": "./bilibili.json",
"cookie": "qwewqddasdasd"
}
},
{
"key": "玩偶 | 蜡笔",
"name": "玩偶 | 蜡笔",
"type": 3,
"api": "csp_kongbai",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./peizhi.json",
"siteUrl": "https://duopan.fun",
"filter": "./wogg.json"
}
},
{
"key": "ConfigCenter",
"name": "配置中心",
"type": 3,
"api": "csp_ConfigCenter",
"searchable": 0,
"changeable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
},
{
"key": "星剧社",
"name": "星剧社",
"type": 3,
"api": "csp_Star2",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
},
{
"key": "易搜",
"name": "易搜|4K",
"type": 3,
"api": "csp_YiSo",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
},
{
"key": "盤搜索",
"name": "盤搜索",
"type": 3,
"api": "csp_PanSearch",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
},
{
"key": "紙條搜",
"name": "紙條搜",
"type": 3,
"api": "csp_XiaoZhiTiao",
"searchable": 1,
"changeable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
},
{
"key": "Youtube",
"name": "Youtube",
"type": 3,
"api": "csp_Youtube",
"searchable": 1,
"changeable": 1,
"style": {
"type": "rect",
"ratio": 1.433
},
"ext": {
"json": "./youtube.json",
"cookie": ""
}
},
{
"key": "賤賤",
"name": "賤賤",
"type": 3,
"api": "csp_Jianpian",
"searchable": 1,
"changeable": 1,
"ext": "https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/json/jianpian.json"
},
{
"key": "TgYunPanLocal1",
"name": "TgYunPanLocal1",
"type": 3,
"api": "csp_TgYunPanLocal",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"channelUsername": "yunpanshare",
"commonConfig": "./peizhi.json"
}
},
{
"key": "TgYunPanLocal2",
"name": "TgYunPanLocal2",
"type": 3,
"api": "csp_TgYunPanLocal",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"channelUsername": "shareAliyun",
"commonConfig": "./peizhi.json"
}
},
{
"key": "TgYunPanLocal3",
"name": "TgYunPanLocal3",
"type": 3,
"api": "csp_TgYunPanLocal",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"channelUsername": "kuakeyun",
"commonConfig": "./peizhi.json"
}
},
{
"key": "TgYunPanLocal4",
"name": "TgYunPanLocal4",
"type": 3,
"api": "csp_TgYunPanLocal",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"channelUsername": "qixingzhenren",
"commonConfig": "./peizhi.json"
}
},
{
"key": "TgYunPanLocal5",
"name": "TgYunPanLocal5",
"type": 3,
"api": "csp_TgYunPanLocal",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"channelUsername": "guaguale115",
"commonConfig": "./peizhi.json"
}
},
{
"key": "网盘集合",
"name": "网盘集合|4K",
"type": 3,
"api": "csp_网盘集合",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"commonConfig": "./peizhi.json",
"share": "./网盘集合.json"
}
},
{
"key": "push_agent",
"name": "推送",
"type": 3,
"api": "csp_Push",
"searchable": 1,
"filterable": 0,
"switchable": 0,
"ext": {
"commonConfig": "./peizhi.json"
}
}
]
}

73
ZX/bilibili.json Normal file
View File

@ -0,0 +1,73 @@
{
"class": [
{
"type_name": "推荐",
"type_id": "recm"
},
{
"type_name": "热门",
"type_id": "hot"
},
{
"type_name": "观看历史",
"type_id": "his"
},
{
"type_name": "全区排行",
"type_id": "rank"
},
{
"type_name": "全区排行(汽车)",
"type_id": "carRank"
},
{
"type_name": "全区排行(科技)",
"type_id": "kejiRank"
},
{
"type_name": "自驾游",
"type_id": "自驾游"
},
{
"type_name": "美食",
"type_id": "美食"
},
{
"type_name": "食谱",
"type_id": "食谱"
},
{
"type_name": "汽车",
"type_id": "汽车测评"
},
{
"type_name": "数码",
"type_id": "手机测评"
},
{
"type_name": "健身",
"type_id": "健身"
},
{
"type_name": "舞蹈",
"type_id": "舞蹈"
},
{
"type_name": "电影",
"type_id": "电影"
},
{
"type_name": "电视剧",
"type_id": "电视剧"
},
{
"type_name": "演唱会",
"type_id": "演唱会"
},
{
"type_name": "动物世界",
"type_id": "动物世界"
}
]
}

BIN
ZX/custom_spider.jar Normal file

Binary file not shown.

36
ZX/js/douban.js Normal file

File diff suppressed because one or more lines are too long

1
ZX/js/lib/alist.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2637
ZX/js/lib/drpy.js Normal file

File diff suppressed because it is too large Load Diff

1
ZX/js/lib/drpy.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2542
ZX/js/lib/drpy2.js Normal file

File diff suppressed because it is too large Load Diff

1
ZX/js/lib/drpy2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

68
ZX/js/lib/gbk.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
ZX/js/lib/lf_live_min.js Normal file

File diff suppressed because one or more lines are too long

1
ZX/js/lib/lf_p2p2_min.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

534
ZX/js/lib/live2cms.js Normal file
View File

@ -0,0 +1,534 @@
/**
* live2cms.js
* 配置设置 {"key":"Live2CMS","name":"直播转点播V2","type":3,"api":"{{host}}/libs/live2cms.js","searchable":2,"quickSearch":0,"filterable":0,"ext":"{{host}}/txt/json/live2mv_data.json"}
* live2mv_data.json
* 支持m3u类直播支持线路归并支持筛选切换显示模式
[
{"name": "甜蜜", "url": "http://zdir.kebedd69.repl.co/public/live.txt"},
{"name": "俊于", "url": "http://home.jundie.top:81/Cat/tv/live.txt"},
{"name": "菜妮丝", "url": "http://xn--ihqu10cn4c.xn--z7x900a.love:63/TV/tvzb.txt"},
{"name": "布里m3u", "url": "http://jiexi.bulisite.top/m3u.php"},
{"name": "吾爱", "url": "http://52bsj.vip:81/api/v3/file/get/763/live.txt?sign=87BTGT1_6AOry7FPwy_uuxFTv2Wcb9aDMj46rDdRTD8%3D%3A0"},
{"name": "饭太硬", "url": "http://ftyyy.tk/live.txt"}
]
* 提示 ext文件格式为json列表,name,url参数
* 取消加密,减少性能问题
*/
String.prototype.rstrip = function (chars) {
let regex = new RegExp(chars + "$");
return this.replace(regex, "");
};
const request_timeout = 5000;
const RKEY = 'live2cms'; // 源的唯一标识
const VERSION = 'live2cms 20230619';
const UA = 'Mozilla/5.0'; //默认请求ua
const __ext = {data_dict:{}};
const tips = `\n道长直播转点播js-当前版本${VERSION}`;
const def_pic = 'https://avatars.githubusercontent.com/u/58679624?s=400&u=246b55fcda2b4850b444aebd6b8f8d6a12883f8c&v=4';
/**
* 存在数据库配置表里, key字段对应值value,没有就新增,有就更新,调用此方法会清除key对应的内存缓存
* @param k
* @param v
*/
function setItem(k,v){
local.set(RKEY,k,v);
console.log(`规则${RKEY}设置${k} => ${v}`)
}
/**
* 获取数据库配置表对应的key字段的value没有这个key就返回value默认传参.需要有缓存,第一次获取后会存在内存里
* @param k
* @param v
* @returns {*}
*/
function getItem(k,v){
return local.get(RKEY,k) || v;
}
/**
* 删除数据库key对应的一条数据,并清除此key对应的内存缓存
* @param k
*/
function clearItem(k){
local.delete(RKEY,k);
}
var showMode = getItem('showMode','groups'); // groups按组分类显示 all全部一条线路展示
var groupDict = JSON.parse(getItem('groupDict','{}')); // 搜索分组字典
/**
* 打印日志
* @param any 任意变量
*/
function print(any){
any = any||'';
if(typeof(any)=='object'&&Object.keys(any).length>0){
try {
any = JSON.stringify(any);
console.log(any);
}catch (e) {
// console.log('print:'+e.message);
console.log(typeof(any)+':'+any.length);
}
}else if(typeof(any)=='object'&&Object.keys(any).length<1){
console.log('null object');
}else{
console.log(any);
}
}
/*** js自封装的方法 ***/
/**
* 获取链接的host(带http协议的完整链接)
* @param url 任意一个正常完整的Url,自动提取根
* @returns {string}
*/
function getHome(url){
if(!url){
return ''
}
let tmp = url.split('//');
url = tmp[0] + '//' + tmp[1].split('/')[0];
try {
url = decodeURIComponent(url);
}catch (e) {}
return url
}
/**
* m3u直播格式转一般直播格式
* @param m3u
* @returns {string}
*/
function convertM3uToNormal(m3u) {
try {
const lines = m3u.split('\n');
let result = '';
let TV='';
// let flag='#genre#';
let flag='#m3u#';
let currentGroupTitle = '';
lines.forEach((line) => {
if (line.startsWith('#EXTINF:')) {
const groupTitle = line.split('"')[1].trim();
TV= line.split('"')[2].substring(1);
if (currentGroupTitle !== groupTitle) {
currentGroupTitle = groupTitle;
result += `\n${currentGroupTitle},${flag}\n`;
}
} else if (line.startsWith('http')) {
const splitLine = line.split(',');
result += `${TV}\,${splitLine[0]}\n`;
}
});
return result.trim();
}catch (e) {
print(`m3u直播转普通直播发生错误:${e.message}`);
return m3u
}
}
/**
* 线路归类
* @param arr
* @returns {*[][]}
*/
function merge(arr) {
var parse = arguments[1] ? arguments[1] : '';
var p = [];
if (parse !== '' && typeof(parse)=="function") {
p = arr.map(parse);
}
const createEmptyArrays = (length) => Array.from({
length
}, () => []);
let lists = createEmptyArrays(arr.length);
let sl = createEmptyArrays(arr.length);
(p.length ? p : arr).forEach((k, index) => {
var i = 0;
while (sl[i].includes(k)) {
i = i + 1
}
sl[i].push(k);
lists[i].push(arr[index]);
})
lists=lists.filter(x=>x.some(k=>k.length));
return lists
}
/**
* 线路归类/小棉袄算法
* @param arr 数组
* @param parse 解析式
* @returns {[[*]]}
*/
function splitArray(arr,parse) {
parse = parse&&typeof(parse)=='function'?parse:'';
let result = [[arr[0]]];
for (let i = 1; i < arr.length; i++) {
let index = -1;
for (let j = 0; j < result.length; j++) {
if (parse&&result[j].map(parse).includes(parse(arr[i]))) {
index = j;
}else if((!parse) && result[j].includes(arr[i])){
index = j;
}
}
if (index >= result.length - 1) {
result.push([]);
result[result.length - 1].push(arr[i]);
} else {
result[index + 1].push(arr[i]);
}
}
return result;
}
/**
* 搜索结果生成分组字典
* @param arr
* @param parse x=>x.split(',')[0]
* @returns {{}}
*/
function gen_group_dict(arr,parse){
let dict = {};
arr.forEach((it)=>{
let k = it.split(',')[0];
if(parse && typeof(parse)==='function'){
k = parse(k);
}
if(!dict[k]){
dict[k] = [it]
}else{
dict[k].push(it);
}
});
return dict
}
const http = function (url, options = {}) {
if(options.method ==='POST' && options.data){
options.body = JSON.stringify(options.data);
options.headers = Object.assign({'content-type':'application/json'}, options.headers);
}
options.timeout = request_timeout;
if(!options.headers){
options.headers = {};
}
let keys = Object.keys(options.headers).map(it=>it.toLowerCase());
if(!keys.includes('referer')){
options.headers['Referer'] = getHome(url);
}
if(!keys.includes('user-agent')){
options.headers['User-Agent'] = UA;
}
console.log(JSON.stringify(options.headers));
try {
const res = req(url, options);
// if(options.headers['Authorization']){
// console.log(res.content);
// }
res.json = () => res&&res.content ? JSON.parse(res.content) : null;
res.text = () => res&&res.content ? res.content:'';
return res
}catch (e) {
return {
json() {
return null
}, text() {
return ''
}
}
}
};
["get", "post"].forEach(method => {
http[method] = function (url, options = {}) {
return http(url, Object.assign(options, {method: method.toUpperCase()}));
}
});
function init(ext) {
console.log("当前版本号:"+VERSION);
let data;
if (typeof ext == 'object'){
data = ext;
print('live ext:object');
} else if (typeof ext == 'string') {
if (ext.startsWith('http')) {
let ext_paramas = ext.split(';');
let data_url = ext_paramas[0];
print(data_url);
data = http.get(data_url).json();
}
}
print(data);
__ext.data = data;
print('init执行完毕');
}
function home(filter) {
let classes = __ext.data.map(it => ({
type_id: it.url,
type_name: it.name,
}));
print("----home----");
let filter_dict = {};
let filters = [
{'key': 'show', 'name': '播放展示', 'value': [{'n': '多线路分组', 'v': 'groups'},{'n': '单线路', 'v': 'all'}]}
];
classes.forEach(it=>{
filter_dict[it.type_id] = filters;
});
print(classes);
return JSON.stringify({ 'class': classes,'filters': filter_dict});
}
function homeVod(params) {
let _get_url = __ext.data[0].url;
let html;
if(__ext.data_dict[_get_url]){
html = __ext.data_dict[_get_url];
}else{
html = http.get(_get_url).text();
if(/#EXTM3U/.test(html)){
html = convertM3uToNormal(html);
}
__ext.data_dict[_get_url] = html;
}
// let arr = html.match(/.*?,#[\s\S].*?#/g);
let arr = html.match(/.*?[,]#[\s\S].*?#/g); // 可能存在中文逗号
let _list = [];
try {
arr.forEach(it=>{
let vname = it.split(/[,]/)[0];
let vtab = it.match(/#(.*?)#/)[0];
_list.push({
vod_name:vname,
vod_id:_get_url+'$'+vname,
vod_pic:def_pic,
vod_remarks:vtab,
});
});
}catch (e) {
print('Live2cms获取首页推荐发送错误:'+e.message);
}
return JSON.stringify({ 'list': _list });
}
function category(tid, pg, filter, extend) {
let fl = filter?extend:{};
if(fl.show){
showMode = fl.show;
setItem('showMode',showMode);
}
if(parseInt(pg)>1){
return JSON.stringify({
'list': [],
});
}
let _get_url = tid;
let html;
if(__ext.data_dict[_get_url]){
html = __ext.data_dict[_get_url];
}else{
html = http.get(_get_url).text();
if(/#EXTM3U/.test(html)){
html = convertM3uToNormal(html);
}
__ext.data_dict[_get_url] = html;
}
// let arr = html.match(/.*?[,]#[\s\S].*?#/g);
let arr = html.match(/.*?[,]#[\s\S].*?#/g); // 可能存在中文逗号
let _list = [];
try {
arr.forEach(it=>{
let vname = it.split(/[,]/)[0];
let vtab = it.match(/#(.*?)#/)[0];
_list.push({
// vod_name:it.split(',')[0],
vod_name:vname,
vod_id:_get_url+'$'+vname,
vod_pic:def_pic,
vod_remarks:vtab,
});
});
}catch (e) {
print('Live2cms获取一级分类页发生错误:'+e.message);
}
return JSON.stringify({
'page': 1,
'pagecount': 1,
'limit': _list.length,
'total': _list.length,
'list': _list,
});
}
function detail(tid) { // ⛵ 港•澳•台
let _get_url = tid.split('$')[0];
let _tab = tid.split('$')[1];
if(tid.includes('#search#')){
let vod_name = _tab.replace('#search#','');
let vod_play_from = '来自搜索';
vod_play_from+=`:${_get_url}`;
// let vod_play_url = vod_name+'$'+_get_url;
// print(vod_play_url);
let vod_play_url = groupDict[_get_url].map(x=>x.replace(',','$')).join('#');
return JSON.stringify({
list: [{
vod_id: tid,
vod_name: '搜索:'+vod_name,
type_name: "直播列表",
vod_pic: def_pic,
vod_content: tid,
vod_play_from: vod_play_from,
vod_play_url: vod_play_url,
vod_director: tips,
vod_remarks: `道长直播转点播js-当前版本${VERSION}`,
}]
});
}
let html;
if(__ext.data_dict[_get_url]){
html = __ext.data_dict[_get_url];
}else{
html = http.get(_get_url).text();
if(/#EXTM3U/.test(html)){
html = convertM3uToNormal(html);
}
__ext.data_dict[_get_url] = html;
}
// let a = new RegExp(`.*?${_tab},#[\\s\\S].*?#`);
let a = new RegExp(`.*?${_tab.replace('(','\\(').replace(')','\\)')}[,]#[\\s\\S].*?#`);
let b = html.match(a)[0];
let c = html.split(b)[1];
if(c.match(/.*?[,]#[\s\S].*?#/)){
let d = c.match(/.*?[,]#[\s\S].*?#/)[0];
c = c.split(d)[0];
}
let arr = c.trim().split('\n');
let _list = [];
arr.forEach((it)=>{
if(it.trim()){
let t = it.trim().split(',')[0];
let u = it.trim().split(',')[1];
_list.push(t+'$'+u);
}
});
let vod_name = __ext.data.find(x=>x.url===_get_url).name;
let vod_play_url;
let vod_play_from;
if(showMode==='groups'){
let groups = splitArray(_list,x=>x.split('$')[0]);
let tabs = [];
for(let i=0;i<groups.length;i++){
if(i===0){
tabs.push(vod_name+'1')
}else{
tabs.push(` ${i+1} `)
}
}
vod_play_url = groups.map(it=>it.join('#')).join('$$$');
vod_play_from = tabs.join('$$$');
}else{
vod_play_url = _list.join('#');
vod_play_from = vod_name;
}
let vod = {
vod_id: tid,
vod_name: vod_name+'|'+_tab,
type_name: "直播列表",
vod_pic: def_pic,
vod_content: tid,
vod_play_from: vod_play_from,
vod_play_url: vod_play_url,
vod_director: tips,
vod_remarks: `道长直播转点播js-当前版本${VERSION}`,
};
return JSON.stringify({
list: [vod]
});
}
function play(flag, id, flags) {
let vod = {
'parse': /m3u8/.test(id)?0:1,
'playUrl': '',
'url': id
};
print(vod);
return JSON.stringify(vod);
}
function search(wd, quick) {
let _get_url = __ext.data[0].url;
let html;
if(__ext.data_dict[_get_url]){
html = __ext.data_dict[_get_url];
}else{
html = http.get(_get_url).text();
if(/#EXTM3U/.test(html)){
html = convertM3uToNormal(html);
}
__ext.data_dict[_get_url] = html;
}
let str='';
Object.keys(__ext.data_dict).forEach(()=>{
str+=__ext.data_dict[_get_url];
});
let links = str.split('\n').filter(it=>it.trim() && it.includes(',') && it.split(',')[1].trim().startsWith('http'));
links = links.map(it=>it.trim());
let plays = Array.from(new Set(links));
print('搜索关键词:'+wd);
print('过滤前:'+plays.length);
plays = plays.filter(it=>it.includes(wd));
print('过滤后:'+plays.length);
print(plays);
let new_group = gen_group_dict(plays);
groupDict = Object.assign(groupDict,new_group);
// 搜索分组结果存至本地方便二级调用
setItem('groupDict',JSON.stringify(groupDict));
let _list = [];
// plays.forEach((it)=>{
// _list.push({
// 'vod_name':it.split(',')[0],
// 'vod_id':it.split(',')[1].trim()+'$'+it.split(',')[0].trim()+'#search#',
// 'vod_pic':def_pic,
// })
// });
Object.keys(groupDict).forEach((it)=>{
_list.push({
'vod_name':it,
'vod_id':it+'$'+wd+'#search#',
'vod_pic':def_pic,
});
});
return JSON.stringify({
'list': _list
});
}
// 导出函数对象
export default {
init: init,
home: home,
homeVod: homeVod,
category: category,
detail: detail,
play: play,
search: search
}

138
ZX/js/lib/mod.js Normal file
View File

@ -0,0 +1,138 @@
const peq = new Uint32Array(0x10000);
const myers_32 = (a, b) => {
const n = a.length;
const m = b.length;
const lst = 1 << (n - 1);
let pv = -1;
let mv = 0;
let sc = n;
let i = n;
while (i--) {
peq[a.charCodeAt(i)] |= 1 << i;
}
for (i = 0; i < m; i++) {
let eq = peq[b.charCodeAt(i)];
const xv = eq | mv;
eq |= ((eq & pv) + pv) ^ pv;
mv |= ~(eq | pv);
pv &= eq;
if (mv & lst) {
sc++;
}
if (pv & lst) {
sc--;
}
mv = (mv << 1) | 1;
pv = (pv << 1) | ~(xv | mv);
mv &= xv;
}
i = n;
while (i--) {
peq[a.charCodeAt(i)] = 0;
}
return sc;
};
const myers_x = (b, a) => {
const n = a.length;
const m = b.length;
const mhc = [];
const phc = [];
const hsize = Math.ceil(n / 32);
const vsize = Math.ceil(m / 32);
for (let i = 0; i < hsize; i++) {
phc[i] = -1;
mhc[i] = 0;
}
let j = 0;
for (; j < vsize - 1; j++) {
let mv = 0;
let pv = -1;
const start = j * 32;
const vlen = Math.min(32, m) + start;
for (let k = start; k < vlen; k++) {
peq[b.charCodeAt(k)] |= 1 << k;
}
for (let i = 0; i < n; i++) {
const eq = peq[a.charCodeAt(i)];
const pb = (phc[(i / 32) | 0] >>> i) & 1;
const mb = (mhc[(i / 32) | 0] >>> i) & 1;
const xv = eq | mv;
const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;
let ph = mv | ~(xh | pv);
let mh = pv & xh;
if ((ph >>> 31) ^ pb) {
phc[(i / 32) | 0] ^= 1 << i;
}
if ((mh >>> 31) ^ mb) {
mhc[(i / 32) | 0] ^= 1 << i;
}
ph = (ph << 1) | pb;
mh = (mh << 1) | mb;
pv = mh | ~(xv | ph);
mv = ph & xv;
}
for (let k = start; k < vlen; k++) {
peq[b.charCodeAt(k)] = 0;
}
}
let mv = 0;
let pv = -1;
const start = j * 32;
const vlen = Math.min(32, m - start) + start;
for (let k = start; k < vlen; k++) {
peq[b.charCodeAt(k)] |= 1 << k;
}
let score = m;
for (let i = 0; i < n; i++) {
const eq = peq[a.charCodeAt(i)];
const pb = (phc[(i / 32) | 0] >>> i) & 1;
const mb = (mhc[(i / 32) | 0] >>> i) & 1;
const xv = eq | mv;
const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;
let ph = mv | ~(xh | pv);
let mh = pv & xh;
score += (ph >>> (m - 1)) & 1;
score -= (mh >>> (m - 1)) & 1;
if ((ph >>> 31) ^ pb) {
phc[(i / 32) | 0] ^= 1 << i;
}
if ((mh >>> 31) ^ mb) {
mhc[(i / 32) | 0] ^= 1 << i;
}
ph = (ph << 1) | pb;
mh = (mh << 1) | mb;
pv = mh | ~(xv | ph);
mv = ph & xv;
}
for (let k = start; k < vlen; k++) {
peq[b.charCodeAt(k)] = 0;
}
return score;
};
const distance = (a, b) => {
if (a.length < b.length) {
const tmp = b;
b = a;
a = tmp;
}
if (b.length === 0) {
return a.length;
}
if (a.length <= 32) {
return myers_32(a, b);
}
return myers_x(a, b);
};
const closest = (str, arr) => {
let min_distance = Infinity;
let min_index = 0;
for (let i = 0; i < arr.length; i++) {
const dist = distance(str, arr[i]);
if (dist < min_distance) {
min_distance = dist;
min_index = i;
}
}
return arr[min_index];
};
export { closest, distance };

178
ZX/js/lib/sortName.js Normal file

File diff suppressed because one or more lines are too long

301
ZX/js/lib/模板.js Normal file
View File

@ -0,0 +1,301 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
var target = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
mxpro: {
title: '',
host: '',
// homeUrl:'/',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA',
// "Cookie": "searchneed=ok"
},
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
},
mxone5: {
title: '',
host: '',
url: '/show/fyclass--------fypage---.html',
searchUrl: '/search/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
二级: {
"title": "h1&&Text;.tag-link&&Text",
"img": ".module-item-pic&&img&&data-src",
"desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
},
首图: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA',
// "Cookie": "searchneed=ok"
},
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
首图2: {
title: '',
host: '',
url: '/list/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA',
// "Cookie": ""
},
// class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
默认: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/-------------.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
double: true, // 推荐内容是否双层定位
},
vfed: {
title: '',
host: '',
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA',
},
// class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
二级: {
"title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
"img": ".fed-list-info&&a&&data-original",
"desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
"content": ".fed-part-esan&&Text",
"tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
"lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
},
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
},
海螺3: {
title: '',
host: '',
searchUrl: '/v_search/**----------fypage---.html',
url: '/vod_____show/fyclass--------fypage---.html',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '明星|专题|最新|排行',
limit: 40,
play_parse: true,
lazy: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"lists": ".hl-plays-list:eq(#id)&&li"
},
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
},
海螺2: {
title: '',
host: '',
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
url: '/index.php/vod/show/id/fyclass/page/fypage/',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
limit: 40,
play_parse: true,
lazy: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
二级: {
"title": "h2&&Text;.deployment&&Text",
"img": ".lazy&&data-original",
"desc": ".deployment&&Text",
"content": ".ec-show&&Text",
"tabs": "#tag&&a",
"lists": ".play_list_box:eq(#id)&&li"
},
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
},
短视: {
title: '',
host: '',
// homeUrl:'/',
url: '/channel/fyclass-fypage.html',
searchUrl: '/search.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA',
// "Cookie": "searchneed=ok"
},
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '解析|动态',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
二级: {
"title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
"img": ".img&&img&&data-src",
"desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
"content": ".zkjj_a&&Text",
"tabs": ".py-tabs&&option",
"lists": ".player:eq(#id) li"
},
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
},
短视2:{
title: '',
host: '',
class_name:'电影&电视剧&综艺&动漫',
class_url:'1&2&3&4',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**',
searchable: 2,
quickSearch: 0,
headers:{'User-Agent':'MOBILE_UA'},
url: '/index.php/api/vod#type=fyclass&page=fypage',
filterable:0,//是否启用分类筛选,
filter_url:'',
filter: {},
filter_def:{},
detailUrl:'/index.php/vod/detail/id/fyid.html',
推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
二级:{
"title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text",
"img":".detail-pic&&data-original",
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content":"#height_limit&&Text",
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text":".swiper-slide&&Text",
"lists":".anthology-list-box:eq(#id) li"
},
搜索:'json:list;name;pic;;id',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban,getMubans};

9
ZX/peizhi.json Normal file
View File

@ -0,0 +1,9 @@
{
"aliToken": "",
"quarkCookie": "",
"ucCookie": "",
"115Cookie": "",
"pwdRb115": "",
"goServerUrl": "http://127.0.0.1:9966",
"ydAuth": ""
}

63
ZX/readme.txt Normal file
View File

@ -0,0 +1,63 @@
各网盘ck配置可以参考alist里的网盘添加
配置"pwdRb115": "" 115安全删除密码后 会自动删除转的文件 空间大的留空就行
阿里源的原画 为阿里秒传115 115不限速 非会员限制5g以下秒传
网盘集合.json 支持根据share_index名进行聚合不同网盘也可以随意聚合以减少分类数目 分类更加清晰 可以参考网盘集合.json写法
今日更新
1.更改bili 配置到tv 优先级逻辑为扫码大于本地大于配置
2.增加youtube简易版 可手动选择节点
1.修复阿里扫码不显示bug
2.增强jar 安全
3.新增小纸条
1.优化jar验证机制 减少闪退
2.网盘合集夸克 uc增加对share_name的检索
3.建议升级到最新版
1.配置中心 增加singbox(端口1072 tg搜已写死1072端口) 可输入订阅地址或者直接用hiddify导出的配置 导入到jar
有些订阅地址限制浏览器直接访问的 需要用到hiddify导出的配置 导入到jar 下载地址https://hiddify.com/app/
2.增加singbox ui
3.阿里云盘弃用alist授权 稳定性更高
1.增加tg搜(本地 需科学上网)
1.增加115秒传阿里玩玩就行
2.增加豆瓣源bili(需扫码登陆)
3.修玩偶表哥系翻页
1.配置中心增加网盘iso原盘调用外部播放器 开关
2.配置中心增加网盘下载 开关
3.网盘支持内置下载器下载
4.继续优化夸克 会员默认线程改为14 如果以前设置过32 可以调回14 非会员64线程
1.打开 阿里秒传115 自动删除转存文件功能
2.修复115 文件排序
3.优化下配置中心
4.115原盘 使用外置播放器打开
5.优化列表文件显示
1.配置中心增加uc、夸克、阿里扫码、网盘排序等壳子需先获取外部存储权限
2.阿里、夸克根据是否会员自适应播放夸克非会员线程默认64 可适当往上加)
3.支持win 安卓模拟器使用
本包仅供技术学习交流

892
ZX/wogg.json Normal file
View File

@ -0,0 +1,892 @@
{
"1": [
{
"key": "3",
"name": "类型",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "喜剧",
"v": "喜剧"
},
{
"n": "爱情",
"v": "爱情"
},
{
"n": "动作",
"v": "动作"
},
{
"n": "恐怖",
"v": "恐怖"
},
{
"n": "科幻",
"v": "科幻"
},
{
"n": "剧情",
"v": "剧情"
},
{
"n": "犯罪",
"v": "犯罪"
},
{
"n": "奇幻",
"v": "奇幻"
},
{
"n": "战争",
"v": "战争"
},
{
"n": "悬疑",
"v": "悬疑"
},
{
"n": "武侠",
"v": "武侠"
},
{
"n": "冒险",
"v": "冒险"
},
{
"n": "古装",
"v": "古装"
},
{
"n": "历史",
"v": "历史"
},
{
"n": "惊悚",
"v": "惊悚"
}
]
},
{
"key": "11",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2024",
"v": "2024"
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2018",
"v": "2018"
},
{
"n": "2017",
"v": "2017"
},
{
"n": "2016",
"v": "2016"
},
{
"n": "2015",
"v": "2015"
},
{
"n": "2014",
"v": "2014"
},
{
"n": "2013",
"v": "2013"
},
{
"n": "2012",
"v": "2012"
},
{
"n": "2011",
"v": "2011"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "中国香港",
"v": "香港"
},
{
"n": "中国台湾",
"v": "台湾"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "泰国",
"v": "泰国"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "德国",
"v": "德国"
},
{
"n": "印度",
"v": "印度"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"2": [
{
"key": "3",
"name": "类型",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "喜剧",
"v": "喜剧"
},
{
"n": "爱情",
"v": "爱情"
},
{
"n": "动作",
"v": "动作"
},
{
"n": "恐怖",
"v": "恐怖"
},
{
"n": "科幻",
"v": "科幻"
},
{
"n": "剧情",
"v": "剧情"
},
{
"n": "犯罪",
"v": "犯罪"
},
{
"n": "奇幻",
"v": "奇幻"
},
{
"n": "战争",
"v": "战争"
},
{
"n": "悬疑",
"v": "悬疑"
},
{
"n": "武侠",
"v": "武侠"
},
{
"n": "冒险",
"v": "冒险"
},
{
"n": "古装",
"v": "古装"
},
{
"n": "历史",
"v": "历史"
},
{
"n": "惊悚",
"v": "惊悚"
}
]
},
{
"key": "11",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2024",
"v": "2024"
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2018",
"v": "2018"
},
{
"n": "2017",
"v": "2017"
},
{
"n": "2016",
"v": "2016"
},
{
"n": "2015",
"v": "2015"
},
{
"n": "2014",
"v": "2014"
},
{
"n": "2013",
"v": "2013"
},
{
"n": "2012",
"v": "2012"
},
{
"n": "2011",
"v": "2011"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "中国香港",
"v": "香港"
},
{
"n": "中国台湾",
"v": "台湾"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "泰国",
"v": "泰国"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "德国",
"v": "德国"
},
{
"n": "印度",
"v": "印度"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"3": [
{
"key": "11",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2024",
"v": "2024"
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2018",
"v": "2018"
},
{
"n": "2017",
"v": "2017"
},
{
"n": "2016",
"v": "2016"
},
{
"n": "2015",
"v": "2015"
},
{
"n": "2014",
"v": "2014"
},
{
"n": "2013",
"v": "2013"
},
{
"n": "2012",
"v": "2012"
},
{
"n": "2011",
"v": "2011"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"4": [
{
"key": "11",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2024",
"v": "2024"
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2018",
"v": "2018"
},
{
"n": "2017",
"v": "2017"
},
{
"n": "2016",
"v": "2016"
},
{
"n": "2015",
"v": "2015"
},
{
"n": "2014",
"v": "2014"
},
{
"n": "2013",
"v": "2013"
},
{
"n": "2012",
"v": "2012"
},
{
"n": "2011",
"v": "2011"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "中国香港",
"v": "香港"
},
{
"n": "中国台湾",
"v": "台湾"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"5": [
{
"key": "5",
"name": "字母",
"value": [
{
"n": "A",
"v": "A"
},
{
"n": "B",
"v": "B"
},
{
"n": "C",
"v": "C"
},
{
"n": "D",
"v": "D"
},
{
"n": "E",
"v": "E"
},
{
"n": "F",
"v": "F"
},
{
"n": "G",
"v": "G"
},
{
"n": "H",
"v": "H"
},
{
"n": "I",
"v": "I"
},
{
"n": "J",
"v": "J"
},
{
"n": "K",
"v": "K"
},
{
"n": "L",
"v": "L"
},
{
"n": "M",
"v": "M"
},
{
"n": "N",
"v": "N"
},
{
"n": "O",
"v": "O"
},
{
"n": "P",
"v": "P"
},
{
"n": "Q",
"v": "Q"
},
{
"n": "R",
"v": "R"
},
{
"n": "S",
"v": "S"
},
{
"n": "T",
"v": "T"
},
{
"n": "U",
"v": "U"
},
{
"n": "V",
"v": "V"
},
{
"n": "W",
"v": "W"
},
{
"n": "X",
"v": "X"
},
{
"n": "Y",
"v": "Y"
},
{
"n": "Z",
"v": "Z"
},
{
"n": "0-9",
"v": "0-9"
}
]
}
],
"6": [
{
"key": "11",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2024",
"v": "2024"
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2018",
"v": "2018"
}
]
},
{
"key": "5",
"name": "字母",
"value": [
{
"n": "A",
"v": "A"
},
{
"n": "B",
"v": "B"
},
{
"n": "C",
"v": "C"
},
{
"n": "D",
"v": "D"
},
{
"n": "E",
"v": "E"
},
{
"n": "F",
"v": "F"
},
{
"n": "G",
"v": "G"
},
{
"n": "H",
"v": "H"
},
{
"n": "I",
"v": "I"
},
{
"n": "J",
"v": "J"
},
{
"n": "K",
"v": "K"
},
{
"n": "L",
"v": "L"
},
{
"n": "M",
"v": "M"
},
{
"n": "N",
"v": "N"
},
{
"n": "O",
"v": "O"
},
{
"n": "P",
"v": "P"
},
{
"n": "Q",
"v": "Q"
},
{
"n": "R",
"v": "R"
},
{
"n": "S",
"v": "S"
},
{
"n": "T",
"v": "T"
},
{
"n": "U",
"v": "U"
},
{
"n": "V",
"v": "V"
},
{
"n": "W",
"v": "W"
},
{
"n": "X",
"v": "X"
},
{
"n": "Y",
"v": "Y"
},
{
"n": "Z",
"v": "Z"
},
{
"n": "0-9",
"v": "0-9"
}
]
}
]
}

49
ZX/youtube.json Normal file
View File

@ -0,0 +1,49 @@
{
"class": [
{
"type_name": "自驾游",
"type_id": "自驾游"
},
{
"type_name": "美食",
"type_id": "美食"
},
{
"type_name": "徐云",
"type_id": "徐云"
},
{
"type_name": "汽车",
"type_id": "汽车测评"
},
{
"type_name": "数码",
"type_id": "手机测评"
},
{
"type_name": "健身",
"type_id": "健身"
},
{
"type_name": "舞蹈",
"type_id": "舞蹈"
},
{
"type_name": "电影",
"type_id": "电影"
},
{
"type_name": "电视剧",
"type_id": "电视剧"
},
{
"type_name": "演唱会",
"type_id": "演唱会"
},
{
"type_name": "动物世界",
"type_id": "动物世界"
}
]
}

180
ZX/网盘集合.json Normal file
View File

@ -0,0 +1,180 @@
[
{
"share_index": "115&uc&夸克",
"share_name": "115-电影大包21t",
"share_id": "swz8hp033xj",
"share_pwd":"0000",
"share_type":"115"
},
{
"share_index": "115&uc&夸克",
"share_name": "115-豆瓣电影Top250_12.65TB",
"share_id": "swz8h1h33xj",
"share_pwd":"0000",
"share_type":"115"
},
{
"share_index": "115&uc&夸克",
"share_name": "115-整理好蓝光和4K_2.24PB",
"share_id": "swzew4m3nc6",
"share_pwd":"i0d7",
"share_type":"115"
},
{
"share_index": "UC",
"share_name": "总资源",
"share_id": "f4782ecce4eb4"
},
{
"share_index": "115&uc&夸克",
"share_name": "微凉夸克剧集",
"share_id": "e20958b1ad9b"
},
{
"share_index": "115&uc&夸克",
"share_name": "微凉夸克国漫",
"share_id": "fb6d4c39c83f"
},
{
"share_index": "115&uc&夸克",
"share_name": "全球夸克短剧",
"share_id": "b9bb20e86c54"
},
{
"share_index": "夸克",
"share_name": "夸克热播剧",
"share_id": "657d8c2b550f"
},
{
"share_index": "夸克",
"share_name": "夸克新电影",
"share_id": "0a6d22042d07"
},
{
"share_index": "夸克",
"share_name": "晚风夸克合集",
"share_id": "3efb8fb706bf"
},
{
"share_index": "夸克",
"share_name": "MTV精选1万首夸克",
"share_id": "3e458103b556"
},
{
"share_index": "阿里",
"share_name": "NBA阿里",
"share_id": "hVAgTmqUELD"
},
{
"share_index": "夸克",
"share_name": "夸克MV",
"share_id": "e10ef5a111e5"
},
{
"share_index": "夸克",
"share_name": "GRT最新电影夸克",
"share_id": "2b2216c8d8da"
},
{
"share_index": "夸克",
"share_name": "短剧夸克",
"share_id": "6a200a0487c4"
},
{
"share_index": "夸克",
"share_name": "短剧夸克2",
"share_id": "5173a250c8f7"
},
{
"share_index": "阿里",
"share_name": "NBA阿里",
"share_id": "uWa9gbM3RJ7"
},
{
"share_index": "阿里",
"share_name": "老湿傅阿里",
"share_id": "5bsnAp5fbCW"
},
{
"share_index": "阿里",
"share_name": "优品阁",
"share_id": "uWa9gbM3RJ7"
},
{
"share_index": "阿里",
"share_name": "阿里1T",
"share_id": "mxAfB6eRgY4"
},
{
"share_index": "阿里",
"share_name": "GRT总链接",
"share_id": "MtGFAWrTWx1"
},
{
"share_index": "阿里",
"share_name": "YYDS更新",
"share_id": "73MzTG111kL"
},
{
"share_index": "阿里",
"share_name": "全球分享",
"share_id": "zS888Dm8arT"
},{
"share_index": "阿里",
"share_name": "老司机",
"share_id": "5bsnAp5fbCW"
},
{
"share_index": "阿里",
"share_name": "平凡中的",
"share_id": "4ydLxf7VgH7"
},
{
"share_index": "阿里",
"share_name": "短剧",
"share_id": "5Fzz7JFuQyg"
},
{
"share_index": "阿里",
"share_name": "GRT剧集",
"share_id": "PqYwaGCmY78"
},
{
"share_name": "GRT易和谐电影",
"share_id": "6LvWZoQo3nS"
},
{
"share_name": "tacit0924",
"share_id": "wbrhqM5HkSV",
"share_pwd":"6666"
},
{
"share_name": "黄妈",
"share_id": "4bGRVUdUtct"
},
{
"share_name": "YYDSVIP",
"share_id": "dieULBdYP3D"
},
{
"share_name": "YYDSHD",
"share_id": "M6rD2CJXpRb"
},
{
"share_name": "优源阁",
"share_id": "RnjUi1urdb2"
}, {
"share_name": "风流动漫",
"share_id": "WdaaeX7HK44"
},
{
"share_name": "风流剧集",
"share_id": "BLu6RUwRrLb"
},
{
"share_index": "阿里",
"share_name": "xiaaluo",
"share_id": "sg8CdGUwmUr"
}
]