上传文件至 jtxtv09/js
This commit is contained in:
22
jtxtv09/js/310直播.js
Normal file
22
jtxtv09/js/310直播.js
Normal file
@@ -0,0 +1,22 @@
|
||||
var rule = {
|
||||
title:'310直播',
|
||||
host:'http://www.310.tv',
|
||||
url:'/?s=0&t=1&a=fyclass&g=fypage',
|
||||
searchUrl:'',
|
||||
searchable:0,
|
||||
quickSearch:0,
|
||||
class_name:'热门&足球&篮球',
|
||||
class_url:'0&1&2',
|
||||
headers:{
|
||||
'User-Agent':'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
play_parse:false,
|
||||
lazy:'',
|
||||
limit:6,
|
||||
double:false,
|
||||
推荐:'*',
|
||||
一级:'.list_content a;.jiabifeng&&p:lt(5)&&Text;.feleimg img&&src;a&&t-nzf-o;a&&href',
|
||||
二级:'*',
|
||||
搜索:'',
|
||||
}
|
||||
73
jtxtv09/js/360吧.js
Normal file
73
jtxtv09/js/360吧.js
Normal file
@@ -0,0 +1,73 @@
|
||||
globalThis.getVideos = function(link, key) {
|
||||
let html = request(link);
|
||||
let json = JSON.parse(html);
|
||||
let data = json.data;
|
||||
data = data[key];
|
||||
let videos = data.map((n) => {
|
||||
let id = n.url;
|
||||
let name = n.league_name_zh + ' ' + n.home_team_zh + ' VS ' + n.away_team_zh;
|
||||
let pic = n.cover;
|
||||
let remarks = n.nickname;
|
||||
return {
|
||||
vod_id: id,
|
||||
vod_name: name,
|
||||
vod_pic: pic,
|
||||
vod_remarks: remarks,
|
||||
};
|
||||
});
|
||||
return videos
|
||||
}
|
||||
var rule = {
|
||||
类型: '影视', //影视|听书|漫画|小说
|
||||
title: '360吧[球]',
|
||||
host: 'https://m.360ba.co/',
|
||||
homeUrl: '/api/web/h5_index',
|
||||
url: '/api/web/live_lists/fyclass',
|
||||
searchUrl: '/api/web/search?keyword=**',
|
||||
searchable: 2,
|
||||
quickSearch: 0,
|
||||
filterable: 0,
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '全部&足球&篮球&综合',
|
||||
class_url: '1&2&3&99',
|
||||
play_parse: true,
|
||||
pagecount: {
|
||||
"1": 1,
|
||||
"2": 1,
|
||||
"3": 1,
|
||||
"99": 1,
|
||||
},
|
||||
lazy: $js.toString(() => {
|
||||
input = {
|
||||
parse: 0,
|
||||
url: input,
|
||||
header: rule.headers
|
||||
};
|
||||
}),
|
||||
预处理: $js.toString(() => {
|
||||
Object.assign(rule.headers, {
|
||||
'Referer': rule.host,
|
||||
'Origin': rule.host,
|
||||
});
|
||||
}),
|
||||
推荐: $js.toString(() => {
|
||||
VODS = getVideos(input, 'hot_matches');
|
||||
|
||||
}),
|
||||
一级: $js.toString(() => {
|
||||
VODS = [];
|
||||
if (MY_PAGE <= 1) {
|
||||
VODS = getVideos(input, 'data');
|
||||
}
|
||||
}),
|
||||
二级: '*',
|
||||
搜索: $js.toString(() => {
|
||||
VODS = [];
|
||||
if (MY_PAGE <= 1) {
|
||||
VODS = getVideos(input, 'ball');
|
||||
}
|
||||
}),
|
||||
}
|
||||
40
jtxtv09/js/56动漫.js
Normal file
40
jtxtv09/js/56动漫.js
Normal file
@@ -0,0 +1,40 @@
|
||||
var rule = {
|
||||
title: '56动漫',
|
||||
host: 'https://www.56dm.cc/',
|
||||
url: 'https://www.56dm.cc/type/fyclass-fypage.html',
|
||||
searchUrl: 'https://www.56dm.cc/search/**----------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: '.snui-header-menu-nav li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html',
|
||||
play_parse: true,
|
||||
lazy: `js:
|
||||
if(/\\.(m3u8|mp4)/.test(input)){
|
||||
input = {parse:0,url:input}
|
||||
}else{
|
||||
if(rule.parse_url.startsWith('json:')){
|
||||
let purl = rule.parse_url.replace('json:','')+input;
|
||||
let html = request(purl);
|
||||
input = {parse:0,url:JSON.parse(html).url}
|
||||
}else{
|
||||
input= rule.parse_url+input;
|
||||
}
|
||||
}
|
||||
`,
|
||||
limit: 6,
|
||||
推荐: '.cCBf_FAAEfbc;li;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.cCBf_FAAEfbc li;a&&title;a&&data-original;.dAD_BBCI&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1&&Text",
|
||||
"img": ".stui-content__thumb .lazyload&&data-original",
|
||||
"desc": ".cCBf_DABCcac__hcIdeE p:eq(0)&&Text;.cCBf_DABCcac__hcIdeE p:eq(1)&&Text;.cCBf_DABCcac__hcIdeE p:eq(2)&&Text;.cCBf_DABCcac__hcIdeE p:eq(3)&&Text;.cCBf_DABCcac__hcIdeE p:eq(4)&&Text",
|
||||
"content": ".detail&&Text",
|
||||
"tabs": ".channel-tab li",
|
||||
"lists": ".play-list-content:eq(#id) li"
|
||||
},
|
||||
搜索: '.cCBf_FAAEfbc__dbD;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href;.cCBf_FAAEfbc__hcIdeE&&p:eq(0) p&&Text',
|
||||
}
|
||||
61
jtxtv09/js/88看球.js
Normal file
61
jtxtv09/js/88看球.js
Normal file
@@ -0,0 +1,61 @@
|
||||
var rule = {
|
||||
title:'88看球',
|
||||
// host:'http://www.88kanqiu.cc',
|
||||
host:'http://www.88kanqiu.bar/',
|
||||
url: "/match/fyclass/live",
|
||||
searchUrl: "",
|
||||
searchable: 0,
|
||||
quickSearch: 0,
|
||||
class_parse: ".nav-pills li;a&&Text;a&&href;/match/(\\d+)/live",
|
||||
headers: {
|
||||
"User-Agent": "PC_UA",
|
||||
},
|
||||
timeout: 5000,
|
||||
play_parse: true,
|
||||
pagecount:{"1":1,"2":1,"4":1,"22":1,"8":1,"9":1,"10":1,"14":1,"15":1,"12":1,"13":1,"16":1,"28":1,"7":1,"11":1,"33":1,"27":1,"23":1,"26":1,"3":1,"21":1,"18":1},
|
||||
lazy: `js:
|
||||
if(/embed=/.test(input)) {
|
||||
let url = input.match(/embed=(.*?)&/)[1];
|
||||
url = base64Decode(url);
|
||||
input = {
|
||||
jx:0,
|
||||
url: url.split('#')[0],
|
||||
parse: 0
|
||||
}
|
||||
} else if (/\?url=/.test(input)){
|
||||
input = {
|
||||
jx:0,
|
||||
url: input.split('?url=')[1].split('#')[0],
|
||||
parse: 0
|
||||
}
|
||||
} else {
|
||||
input
|
||||
}
|
||||
`,
|
||||
limit: 6,
|
||||
double: false,
|
||||
推荐: "*",
|
||||
一级: ".list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href",
|
||||
二级: {
|
||||
title: ".game-info-container&&Text;.customer-navbar-nav li&&Text",
|
||||
img: "img&&src",
|
||||
desc: ";;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text",
|
||||
content: "div.game-time&&Text",
|
||||
tabs: "js:TABS=['实时直播']",
|
||||
lists: `js:
|
||||
LISTS = [];
|
||||
let html = request(input.replace('play', 'play-url'));
|
||||
let pdata = JSON.parse(html).data;
|
||||
pdata = pdata.slice(6);
|
||||
pdata = pdata.slice(0, -2);
|
||||
pdata = base64Decode(pdata);
|
||||
// log(pdata);
|
||||
let jo = JSON.parse(pdata).links;
|
||||
let d = jo.map(function (it) {
|
||||
return it.name + '$' + urlencode(it.url)
|
||||
});
|
||||
LISTS.push(d)
|
||||
`,
|
||||
},
|
||||
搜索: "",
|
||||
};
|
||||
109
jtxtv09/js/APPV2.js
Normal file
109
jtxtv09/js/APPV2.js
Normal file
@@ -0,0 +1,109 @@
|
||||
/**
|
||||
* 传参 ?type=url¶ms=http://122.228.85.203:1000@泽少1
|
||||
* 传参 ?type=url¶ms=http://122.228.85.203:1000@泽少2
|
||||
*/
|
||||
|
||||
var rule = {
|
||||
title: 'APPV2[模板]',
|
||||
author: '道长',
|
||||
version: '20241012 beta1',
|
||||
update_info: `
|
||||
20241012:
|
||||
1.根据群友嗷呜的appv2模板修改成可传参源,类似采集之王用法传参
|
||||
`.trim(),
|
||||
host: '',
|
||||
url: '/api.php/app/video?tid=fyclassfyfilter&limit=20&pg=fypage',
|
||||
filter_url: '',
|
||||
filter: {},
|
||||
homeUrl: '/api.php/app/index_video',
|
||||
detailUrl: '/api.php/app/video_detail?id=fyid',
|
||||
searchUrl: '/api.php/app/search?text=**&pg=fypage',
|
||||
parseUrl: '',
|
||||
searchable: 2,
|
||||
quickSearch: 1,
|
||||
filterable: 1,
|
||||
headers: {
|
||||
'User-Agent': 'okhttp/4.1.0'
|
||||
},
|
||||
params: 'http://122.228.85.203:1000$http://122.228.85.203:1000/play?url=',
|
||||
hostJs: $js.toString(() => {
|
||||
HOST = rule.params.split('$')[0];
|
||||
}),
|
||||
预处理: $js.toString(() => {
|
||||
log(`传入参数:${rule.params}`);
|
||||
let _host = rule.params.split('$')[0];
|
||||
rule.parseUrl = rule.params.split('$')[1];
|
||||
let _url = _host.rstrip('/') + '/api.php/app/nav?token';
|
||||
let _headers = {'User-Agent': 'Dart/2.14 (dart:io)'};
|
||||
let html = request(_url, {headers: _headers});
|
||||
let data = JSON.parse(html);
|
||||
let _classes = [];
|
||||
let _filter = {};
|
||||
let _filter_url = '';
|
||||
let dy = {"class": "类型", "area": "地区", "lang": "语言", "year": "年份", "letter": "字母", "by": "排序"};
|
||||
let jsonData = data.list;
|
||||
for (let k = 0; k < jsonData.length; k++) {
|
||||
let hasNonEmptyField = false;
|
||||
let _obj = {
|
||||
type_name: jsonData[k].type_name,
|
||||
type_id: jsonData[k].type_id,
|
||||
};
|
||||
_classes.push(_obj);
|
||||
for (let key in dy) {
|
||||
if (key in jsonData[k].type_extend && jsonData[k].type_extend[key].trim() !== "") {
|
||||
hasNonEmptyField = true;
|
||||
break
|
||||
}
|
||||
}
|
||||
if (hasNonEmptyField) {
|
||||
_filter[String(jsonData[k].type_id)] = [];
|
||||
for (let dkey in jsonData[k].type_extend) {
|
||||
if (dkey in dy && jsonData[k].type_extend[dkey].trim() !== "") {
|
||||
if (k === 0) {
|
||||
_filter_url += `&${dkey}={{fl.${dkey}}}`
|
||||
}
|
||||
let values = jsonData[k].type_extend[dkey].split(',');
|
||||
let valueArray = values.map(value => ({"n": value.trim(), "v": value.trim()}));
|
||||
_filter[String(jsonData[k].type_id)].push({"key": dkey, "name": dy[dkey], "value": valueArray})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
rule.classes = _classes;
|
||||
rule.filter = _filter;
|
||||
rule.filter_url = _filter_url;
|
||||
}),
|
||||
class_parse: $js.toString(() => {
|
||||
input = rule.classes;
|
||||
}),
|
||||
play_parse: true,
|
||||
lazy: $js.toString(() => {
|
||||
if (!/^http/.test(input)) {
|
||||
input = rule.parseUrl + input
|
||||
} else {
|
||||
input = {
|
||||
url: input,
|
||||
parse: 0,
|
||||
header: ''
|
||||
}
|
||||
}
|
||||
|
||||
}),
|
||||
推荐: $js.toString(() => {
|
||||
let data = JSON.parse(request(input)).list;
|
||||
let com = [];
|
||||
data.forEach(item => {
|
||||
if (Array.isArray(item.vlist) && item.vlist.length !== 0) {
|
||||
com = com.concat(item.vlist)
|
||||
}
|
||||
})
|
||||
VODS = com
|
||||
}),
|
||||
一级: $js.toString(() => {
|
||||
VODS = JSON.parse(request(input)).list
|
||||
}),
|
||||
二级: $js.toString(() => {
|
||||
VOD = JSON.parse(request(input)).data
|
||||
}),
|
||||
搜索: '*',
|
||||
}
|
||||
Reference in New Issue
Block a user