更新线路

整体线路:v20250724
南风线路:v20250724
潇洒线路:v07.25.2
This commit is contained in:
Liu 2025-07-25 10:17:18 +08:00
parent 35ce9e10af
commit db9615a2db
18 changed files with 527 additions and 2278 deletions

View File

@ -1,5 +1,5 @@
# tvboxtg
#
整体更新25.07.23
整体更新25.07.24
#
The resources are sourced from the internet and are only used for learning purposes. Please delete them yourself 24 hours after using them for learning.

View File

@ -38,7 +38,7 @@
{"key":"csp_Ddys","name":"📺低端","type":3,"api":"csp_Ddys","searchable":1,"quickSearch":1,"filterable":1},
{"key":"csp_Kuaikan","name":"👀快看","type":3,"api":"csp_Kuaikan","searchable":1,"quickSearch":1,"filterable":1},
{"key":"csp_Ikanbot","name":"👾Ikanbot","type":3,"api":"csp_Ikanbot","searchable":1,"quickSearch":1,"filterable":1},
{"key":"csp_Lkdy","name":"🏔️来看","type":3,"api":"csp_Lkdy","searchable":1,"quickSearch":1,"filterable":1},
{"key":"csp_Lkdy","name":"🏔️来看","type":3,"api":"csp_Lkdy","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://lkvod.com"},
{"key":"csp_Jianpian","name":"🧲荐片","type":3,"api":"csp_Jianpian","searchable":1,"quickSearch":1,"filterable":1,"ext":"./json/jianpian.json"},
{"key":"csp_xlys","name":"🧲修罗","type":3,"api":"csp_xlys","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://v.xlys.ltd.ua"},
{"key":"csp_New6v","name":"🧲新6V","type":3,"api":"csp_New6v","searchable":1,"quickSearch":1,"filterable":1},

View File

@ -4,9 +4,9 @@
"spider": "./spider.jar",
"lives": [
{
"name": "公众号【杰歌软件APP】如有收费,直接找退款",
"name": "公众号【光歌软件分享】严谨用于任何商业用途",
"type": 0,
"url": "./lives/公众号【杰歌软件APP】如有收费,直接找退款.txt",
"url": "./lives/公众号【光歌软件分享】严谨用于任何商业用途.txt",
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}",
"logo":"https://live.fanmingming.cn/tv/{name}.png",
"playerType":2,
@ -22,7 +22,7 @@
"sites": [
{
"key": "豆瓣2",
"name": "📢公众号【杰歌软件APP】如有收费,直接找退款",
"name": "📢公众号【光歌软件分享】严谨用于任何商业用途",
"type": 3,
"api": "csp_Douban",
"searchable": 0
@ -35,7 +35,7 @@
"searchable": 0,
"changeable": 0,
"jar": "./jars/豆瓣1.jar",
"ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【杰歌软件APP】如有收费,直接找退款"
"ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【光歌软件分享】严谨用于任何商业用途"
},
{
"key": "csp_woog",
@ -54,7 +54,7 @@
],
"url_key": "woog",
"threadinfo": {
"chunksize": 290,
"chunksize": 223,
"threads": 16
}
}
@ -83,7 +83,7 @@
],
"url_key": "UC",
"threadinfo": {
"chunksize": 258,
"chunksize": 283,
"threads": 60
}
}
@ -114,7 +114,7 @@
],
"url_key": "woog2",
"threadinfo": {
"chunksize": 201,
"chunksize": 212,
"threads": 16
}
}

BIN
欧歌/jars/csp_woog.jar Normal file

Binary file not shown.

View File

@ -1,452 +0,0 @@
/**
* 已知问题
* [推荐]页面'雷电模拟器'播放部份影片会出错'播放器'改成'ijk' & '解码方式'改成'软解'即可正常播放
* 影视TV 超連結跳轉支持
* 影视TV 弹幕支持
* https://t.me/fongmi_offical/
* https://github.com/FongMi/Release/tree/main/apk
* 皮皮虾DMBox 弹幕支持
* 设置 > 窗口预览 > 开启
* https://t.me/pipixiawerun
* vod_area:'bilidanmu'
* Cookie设置
* Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md
* Cookie设置方法1: DR-PY 后台管理界面
* CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存
* Cookie设置方法2: 手动替换Cookie
* 底下代码 headers的
* "Cookie":"$bili_cookie"
* 手动替换为
* "Cookie":"将获取的Cookie黏贴在这"
* 客户端长期Cookie设置教程:
* 抓包哔哩手机端搜索access_key,取任意链接里的access_key和appkey在drpy环境变量中增加同名的环境变量即可
* 此时哔哩.js这个解析可用于此源的解析线路用
* 传参 ?render=1&type=url&params=../json/哔哩教育.json@哔哩教育[]
* 传参 ?render=1&type=url&params=../json/哔哩大全.json@哔哩大全[]
*/
var rule = {
title: '我的哔哩[官]',
host: 'https://api.bilibili.com',
homeUrl: '/x/web-interface/ranking/v2?rid=0&type=origin',
// url:'/x/web-interface/search/type?search_type=video&keyword=fyclass&page=fypage',
url: '/x/web-interface/search/type?search_type=video&fyfilter',
filter_url: 'keyword=fyclass{{fl.tid}}&page=fypage&duration={{fl.duration}}&order={{fl.order}}',
class_parse: $js.toString(() => {
// let html = request('{{host}}/files/json/哔哩教育.json');
log('rule.params:' + rule.params);
let html = request(rule.params);
let json = dealJson(html);
input = json.classes;
homeObj.filter = json.filter;
// log(input);
}),
filterable: 1,
detailUrl: '/x/web-interface/view/detail?aid=fyid',
searchUrl: '/x/web-interface/search/type?search_type=video&keyword=**&page=fypage',
searchable: 2,
quickSearch: 0,
params: 'http://127.0.0.1:9978/file/jars/哔哩大全.json',
// params: '?render=1&type=url&params=../json/哔哩教育.json@哔哩教育[官]',
// params: '?render=1&type=url&params=../json/哔哩大全.json@哔哩大全[官]',
headers: {
"User-Agent": "PC_UA",
"Referer": "https://www.bilibili.com",
"Cookie": "SESSDATA=01c79709%2C1711618905%2C244c3%2A91CjA9UUnRb_kJg03J5FqUbin76yMY90o1-ckJsM1ItQH21ns4hgcS6Le6oMR3SKtC18QSVmxSbGRhN3cyS3NReERsOHRfYVlhTWJKZjZyTF9wUWJXbjNfaF9qWklFMFpoeVg1ZUhFb0Q0MGFiN3FYd1N3UEFEY1oxX29IdmFSRVVLamcybGhhSkJnIIEC; bili_jct=e9d6e9df733afde2a03693d63a4e77dc; DedeUserID=186957646;"
},
timeout: 5000,
limit: 8,
play_parse: true,
double: false,
lazy: `js:
let ids = input.split('_');
let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1];
let result = {};
let iurl = 'https://api.bilibili.com:443/x/player/playurl?avid=' + ids[0] + '&cid=' + ids[1] + '&qn=116';
let html = request(iurl);
let jRoot = JSON.parse(html);
let jo = jRoot.data;
let ja = jo.durl;
let maxSize = -1;
let position = -1;
ja.forEach(function(tmpJo, i) {
if (maxSize < Number(tmpJo.size)) {
maxSize = Number(tmpJo.size);
position = i
}
});
let purl = '';
if (ja.length > 0) {
if (position === -1) {
position = 0
}
purl = ja[position].url
}
result.parse = 0;
result.playUrl = '';
result.url = unescape(purl);
result.header = {
'Referer': 'https://live.bilibili.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
};
if (/\\.flv/.test(purl)) {
result.contentType = 'video/x-flv';
} else {
result.contentType = '';
}
result.danmaku = dan;
input = result
`,
推荐: `js:
function stripHtmlTag(src) {
return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' ');
}
function turnDHM(duration) {
let min = '';
let sec = '';
try {
min = duration.split(':')[0];
sec = duration.split(':')[1];
} catch (e) {
min = Math.floor(duration / 60);
sec = duration % 60;
}
if (isNaN(parseInt(duration))) {
return '无效输入';
}
if (min == 0) {
return sec + '秒'
} else if (0 < min && min < 60) {
return min + '分'
} else if (60 <= min && min < 1440) {
if (min % 60 == 0) {
let h = min / 60;
return h + '小时'
} else {
let h = min / 60;
h = (h + '').split('.')[0];
let m = min % 60;
return h + '小时' + m + '分';
}
} else if (min >= 1440) {
let d = min / 60 / 24;
d = (d + '').split('.')[0];
let h = min / 60 % 24;
h = (h + '').split('.')[0];
let m = min % 60;
let dhm = '';
if (d > 0) {
dhm = d + '天'
}
if (h >= 1) {
dhm = dhm + h + '小时'
}
if (m > 0) {
dhm = dhm + m + '分'
}
return dhm
}
return null
}
function ConvertNum(num) {
let _ws = Math.pow(10, 1);
let _b = 1e4;
if (num < _b) {
return num.toString();
}
let _r = '';
let _strArg = ['', '万', '亿', '万亿'];
let _i = Math.floor(Math.log(num) / Math.log(_b));
if (_i > 3) {
_i = 3;
}
_r = Math.floor(num / Math.pow(_b, _i) * _ws) / _ws + _strArg[_i];
return _r;
}
let html = request(input);
let vodList = JSON.parse(html).data.list;
let videos = [];
vodList.forEach(function(vod) {
let aid = vod.aid;
let title = stripHtmlTag(vod.title);
let img = vod.pic;
if (img.startsWith('//')) {
img = 'https:' + img;
}
let remark = turnDHM(vod.duration) + ' ▶' + ConvertNum(vod.stat.view) + ' 🆙' + vod.owner.name;
videos.push({
vod_id: aid,
vod_name: title,
vod_pic: img,
vod_remarks: remark
})
});
VODS = videos
`,
一级: `js:
if (cateObj.tid.endsWith('_clicklink')) {
cateObj.tid = cateObj.tid.split('_')[0];
input = HOST + '/x/web-interface/search/type?search_type=video&keyword=' + cateObj.tid + '&page=' + MY_PAGE;
}
function stripHtmlTag(src) {
return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' ');
}
function turnDHM(duration) {
let min = '';
let sec = '';
try {
min = duration.split(':')[0];
sec = duration.split(':')[1];
} catch (e) {
min = Math.floor(duration / 60);
sec = duration % 60;
}
if (isNaN(parseInt(duration))) {
return '无效输入';
}
if (min == 0) {
return sec + '秒'
} else if (0 < min && min < 60) {
return min + '分'
} else if (60 <= min && min < 1440) {
if (min % 60 == 0) {
let h = min / 60;
return h + '小时'
} else {
let h = min / 60;
h = (h + '').split('.')[0];
let m = min % 60;
return h + '小时' + m + '分';
}
} else if (min >= 1440) {
let d = min / 60 / 24;
d = (d + '').split('.')[0];
let h = min / 60 % 24;
h = (h + '').split('.')[0];
let m = min % 60;
let dhm = '';
if (d > 0) {
dhm = d + '天'
}
if (h >= 1) {
dhm = dhm + h + '小时'
}
if (m > 0) {
dhm = dhm + m + '分'
}
return dhm
}
return null
}
function ConvertNum(num) {
let _ws = Math.pow(10, 1);
let _b = 1e4;
if (num < _b) {
return num.toString();
}
let _r = '';
let _strArg = ['', '万', '亿', '万亿'];
let _i = Math.floor(Math.log(num) / Math.log(_b));
if (_i > 3) {
_i = 3;
}
_r = Math.floor(num / Math.pow(_b, _i) * _ws) / _ws + _strArg[_i];
return _r;
}
let data = [];
let vodList = [];
if (MY_CATE === '推荐') {
input = HOST + '/x/web-interface/index/top/rcmd?ps=14&fresh_idx=' + MY_PAGE + '&fresh_idx_1h=' + MY_PAGE;
data = JSON.parse(request(input)).data;
vodList = data.item;
} else if (MY_CATE === '历史记录') {
input = HOST + '/x/v2/history?pn=' + MY_PAGE;
data = JSON.parse(request(input)).data;
vodList = data;
} else {
data = JSON.parse(request(input)).data;
vodList = data.result;
}
let videos = [];
vodList.forEach(function(vod) {
let aid = vod.aid?vod.aid:vod.id;
let title = stripHtmlTag(vod.title);
let img = vod.pic;
if (img.startsWith('//')) {
img = 'https:' + img;
}
let play = '';
let danmaku = '';
if (MY_CATE === '推荐') {
play = ConvertNum(vod.stat.view);
danmaku = vod.stat.danmaku;
} else if (MY_CATE === '历史记录') {
play = ConvertNum(vod.stat.view);
danmaku = vod.stat.danmaku;
} else {
play = ConvertNum(vod.play);
danmaku = vod.video_review;
}
let remark = turnDHM(vod.duration) + ' ▶' + play + ' 💬' + danmaku;
videos.push({
vod_id: aid,
vod_name: title,
vod_pic: img,
vod_remarks: remark
})
});
VODS = videos
`,
二级: `js:
function stripHtmlTag(src) {
return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' ');
}
let html = request(input);
let jo = JSON.parse(html).data.View;
// 历史记录
let cookies = rule_fetch_params.headers.Cookie.split(';');
let bili_jct = '';
cookies.forEach(cookie => {
if (cookie.includes('bili_jct')) {
bili_jct = cookie.split('=')[1];
}
});
if (bili_jct !== '') {
let historyReport = 'https://api.bilibili.com/x/v2/history/report';
let dataPost = {
aid: jo.aid,
cid: jo.cid,
csrf: bili_jct,
};
post(historyReport, dataPost, 'form');
}
let stat = jo.stat;
let up_info = JSON.parse(html).data.Card;
let relation = up_info.following ? '已关注' : '未关注';
let aid = jo.aid;
let title = stripHtmlTag(jo.title);
let pic = jo.pic;
let desc = jo.desc;
let date = new Date(jo.pubdate * 1000);
let yy = date.getFullYear().toString();
let mm = date.getMonth()+1;
mm = mm < 10 ? ('0' + mm) : mm;
let dd = date.getDate();
dd = dd < 10 ? ('0' + dd) : dd;
let up_name = jo.owner.name;
let typeName = jo.tname;
// let remark = jo.duration;
let vod = {
vod_id: aid,
vod_name: title,
vod_pic: pic,
type_name: typeName,
vod_year: yy+mm+dd,
vod_area: 'bilidanmu',
// vod_remarks: remark,
vod_tags: 'mv',
// vod_director: '🆙 ' + up_name + ' 👥 ' + up_info.follower + ' ' + relation,
vod_director: '🆙 ' + '[a=cr:' + JSON.stringify({'id':up_name + '_clicklink','name':up_name}) + '/]' + up_name + '[/a]' + ' 👥 ' + up_info.follower + ' ' + relation,
vod_actor: '▶' + stat.view + ' ' + '💬' + stat.danmaku + ' ' + '👍' + stat.like + ' ' + '💰' + stat.coin + ' ' + '⭐' + stat.favorite,
vod_content: desc
};
let ja = jo.pages;
let treeMap = {};
let playurls = [];
ja.forEach(function(tmpJo) {
let cid = tmpJo.cid;
let part = tmpJo.part.replaceAll('#', '﹟').replaceAll('$', '﹩');
playurls.push(
part + '$' + aid + '_' + cid
)
});
treeMap['B站'] = playurls.join('#');
let relatedData = JSON.parse(html).data.Related;
playurls = [];
relatedData.forEach(function(rd) {
let ccid = rd.cid;
let title = rd.title.replaceAll('#', '﹟').replaceAll('$', '﹩');
let aaid = rd.aid;
playurls.push(
title + '$' + aaid + '_' + ccid
)
});
treeMap['欧歌推荐'] = playurls.join('#');
vod.vod_play_from = Object.keys(treeMap).join("$$$");
vod.vod_play_url = Object.values(treeMap).join("$$$");
VOD = vod;
`,
搜索: `js:
let html = request(input);
function stripHtmlTag(src) {
return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' ');
}
function turnDHM(duration) {
let min = '';
let sec = '';
try {
min = duration.split(':')[0];
sec = duration.split(':')[1];
} catch (e) {
min = Math.floor(duration / 60);
sec = duration % 60;
}
if (isNaN(parseInt(duration))) {
return '无效输入';
}
if (min == 0) {
return sec + '秒'
} else if (0 < min && min < 60) {
return min + '分'
} else if (60 <= min && min < 1440) {
if (min % 60 == 0) {
let h = min / 60;
return h + '小时'
} else {
let h = min / 60;
h = (h + '').split('.')[0];
let m = min % 60;
return h + '小时' + m + '分';
}
} else if (min >= 1440) {
let d = min / 60 / 24;
d = (d + '').split('.')[0];
let h = min / 60 % 24;
h = (h + '').split('.')[0];
let m = min % 60;
let dhm = '';
if (d > 0) {
dhm = d + '天'
}
if (h >= 1) {
dhm = dhm + h + '小时'
}
if (m > 0) {
dhm = dhm + m + '分'
}
return dhm
}
return null
}
let videos = [];
let vodList = JSON.parse(html).data.result;
vodList.forEach(function(vod) {
let aid = vod.aid;
let title = stripHtmlTag(vod.title);
let img = vod.pic;
if (img.startsWith('//')) {
img = 'https:' + img;
}
let remark = turnDHM(vod.duration);
videos.push({
vod_id: aid,
vod_name: title,
vod_pic: img,
vod_remarks: remark
})
});
VODS = videos
`,
}

View File

@ -271,8 +271,8 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226574/1.m3u8
海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226922/1.m3u8
海南卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000004796877.m3u8
河北卫视,http://171.15.18.199:8180/TV00000000000000000035@HHZT
河北卫视,http://drive.mxmy.net:8888/udp/239.3.1.148:8072
河北卫视,http://171.15.18.199:8180/TV00000000000000000035@HHZT
河北卫视,http://php.fjl626.cn/hebei.php?id=hbws
河北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010101
河北卫视,http://z.b.bkpcp.top/m.php?id=hbws
@ -290,7 +290,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
河南卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
河南卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
河南卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887270.m3u8
河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
湖北卫视,http://satellitepull.cnr.cn/live/wx32hubws/playlist.m3u8
湖北卫视,http://drive.mxmy.net:8888/udp/239.3.1.138:8044
湖北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010057
@ -330,7 +329,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
吉林卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
吉林卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8
吉林卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000004972569.m3u8
吉林卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
江苏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010059
江苏卫视,http://z.b.bkpcp.top/m.php?id=jsws
江苏卫视,http://goo.bkpcp.top/mg/jsws
@ -373,7 +371,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
内蒙古卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225634/index.m3u8
内蒙古卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226530/1.m3u8
内蒙古卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887427.m3u8
内蒙古卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
宁夏卫视,http://qwt.zhibotv.top:2016/全网通.php?id=宁夏卫视
宁夏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010110
宁夏卫视,http://z.b.bkpcp.top/m.php?id=nxws
@ -466,14 +463,12 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
新疆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226923/1.m3u8
新疆卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887448.m3u8
新疆卫视,http://goo.bkpcp.top/mg/xjws
新疆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
西藏卫视,http://qwt.zhibotv.top:2016/全网通.php?id=西藏卫视
西藏卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225638
西藏卫视,http://z.b.bkpcp.top/m.php?id=xzws
西藏卫视,http://goo.bkpcp.top/mg/xzws
西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8
西藏卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887434.m3u8
西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
云南卫视,http://qwt.zhibotv.top:2016/全网通.php?id=云南卫视
云南卫视,http://satellitepull.cnr.cn/live/wxynws/playlist.m3u8
云南卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226444
@ -643,7 +638,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
湖北频道,#genre#
湖北综合,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072216f7da/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNLx3R3LdIBdA5q61lut1LwZcw4SC2tJubc%2Bq5t%2F61jvWCtjrJL0x%2BHncPgdmcbBW9I
湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8
湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
湖北教育,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072a6cbbf6/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNKTFQuOKNd5i0HMa3ydMWIQ6kJ2fBJGJ77BLTXK72CqUYQsX3ZguYt0954s9hfZTfc
湖北生活,http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8
@ -652,19 +646,12 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
湖南频道,#genre#
湖南国际,http://php.jdshipin.com:8880/iptv.php
湖南国际,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hngj
湖南经视,http://php.jdshipin.com:8880/iptv.php
湖南经视,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnjs
湖南都市,http://php.jdshipin.com:8880/iptv.php
湖南都市,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnds
湖南娱乐,http://php.jdshipin.com:8880/iptv.php
湖南娱乐,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnyl
湖南电视剧,http://php.jdshipin.com:8880/iptv.php
湖南电视剧,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hndsj
湖南爱晚,http://php.jdshipin.com:8880/iptv.php
湖南爱晚,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hngg
湖南电影,http://php.jdshipin.com:8880/iptv.php
湖南电影,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hndy
金鹰卡通,http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
金鹰卡通,http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
金鹰纪实,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226572/1.m3u8
@ -686,13 +673,14 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
哈尔滨影视,http://111.43.126.240:9003/hls/5/index.m3u8
哈尔滨影视,https://stream.hrbtv.net/yspd/sd/live.m3u8
哈尔滨影视,http://stream.hrbtv.net/yspd/sd/live.m3u8
哈尔滨影视,https://stream.hrbtv.net/yspd/playlist.m3u8
哈尔滨影视,http://stream.hrbtv.net/yspd/sd/live.m3u8?zheild
哈尔滨资讯,http://stream.hrbtv.net/zxpd/sd/live.m3u8
哈尔滨生活,http://111.43.126.240:9003/hls/3/index.m3u8
哈尔滨生活,https://stream.hrbtv.net/shpd/sd/live.m3u8
哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8
哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8?zheild
哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8
哈尔滨娱乐,https://stream.hrbtv.net/ylpd/sd/live.m3u8
哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8?zheild
哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8?zheild#http://stream.hrbtv.net/ylpd/sd/live.m3u8#https://stream.hrbtv.net/ylpd/sd/live.m3u8
吉林频道,#genre#
吉林乡村,https://satellitepull.cnr.cn/live/wxjlxcgb/playlist.m3u8
@ -740,9 +728,13 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
辽宁频道,#genre#
辽宁都市,https://ls.qingting.fm/live/1099/64k.m3u8
辽宁影视剧,http://dassby.qqff.top:99/live/%E8%BE%BD%E5%AE%81%E5%BD%B1%E8%A7%86%E5%89%A7/index.m3u8
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
辽宁生活,http://dassby.qqff.top:99/live/辽宁生活/index.m3u8
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
辽宁教育青少,http://dassby.qqff.top:99/live/辽宁教育青少/index.m3u8
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
辽宁北方,http://dassby.qqff.top:99/live/辽宁北方/index.m3u8
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
@ -751,7 +743,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
内蒙古农牧,http://play1-qk.nmtv.cn:80/live/1686561299036179.m3u8
宁夏频道,#genre#
宁夏公共,https://livepgc.cmc.ningxiahuangheyun.com/tv/nxgg.m3u8
宁夏经济,https://ls.qingting.fm/live/1841/64k.m3u8
青海频道,#genre#
@ -765,6 +756,7 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
山东生活,http://ls.qingting.fm/live/60260.m3u8
山东新闻,http://ls.qingting.fm/live/60180.m3u8
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8
山西频道,#genre#
@ -847,8 +839,6 @@ CCTV-17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/
浙江影视娱乐,http://ali-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8
浙江民生休闲,http://zhfivel02.cztv.com/channel06/1080p.m3u8?auth_key=2524708799-0-0-59c4fe94512c59a90316fbf17ae2fbef
浙江民生休闲,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8
浙江新闻,http://101.66.199.35:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=0&authid=0
浙江新闻,http://101.66.195.80:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=0&authid=0
浙江新闻,http://zwebl02.cztv.com/live/channel071080P.m3u8?auth_key=2524708799-0-0-e3b50ca59d2c0883d5386d8bc4cdefbc
浙江新闻,http://zhfivel02.cztv.com/channel07/1080p.m3u8?auth_key=2524708799-0-0-4af48ba83e791a300595dd0b2bb30e6e
浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8
@ -888,7 +878,6 @@ CHC家庭影院,http://goo.bkpcp.top/mg/jtyy
CHC家庭影院,http://z.b.bkpcp.top/m.php?id=jtyy
CHC家庭影院,https://stream1.freetv.fun/chcjia-ting-ying-yuan-17.ctv
CHC家庭影院,http://eastscreen.tv/ooooo.php
CHC家庭影院,http://z.b.bkpcp.top/m.php?id=chcjtyy
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-12.ctv
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-15.ctv
CHC影迷电影,http://eastscreen.tv/ooooo.php
@ -903,16 +892,13 @@ CHC影迷电影,http://eastscreen.tv/ooooo.php
港·澳·台,#genre#
凤凰中文,https://cdn.iptv8k.top/dl/jrys.php?id=19&time=20240926215313&ip=111.229.253.40
凤凰中文,http://php.jdshipin.com/TVOD/iptv.php
凤凰中文,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fhzw
凤凰资讯,http://php.jdshipin.com/TVOD/iptv.php
凤凰资讯,http://cdn3.132.us.kg/live/fhzx/stream.m3u8
凤凰资讯,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fhzx
凤凰香港,https://cdn.iptv8k.top/dl/jrys.php?id=18&time=20240926215313&ip=111.229.253.40
翡翠台,https://cdn.iptv8k.top/dl/jrys.php?id=3&time=20240926215313&ip=111.229.253.40『线路08』
翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct3&token=512df05ba47edb46400575c93e179adb7981226d414516400ed1d382cb126adc517715d4ccd3a2276bf3c7b72d52f58905225cf0b1cc461b7888443f
翡翠台,http://cdn9.163189.xyz/smt1.1.php?id=jade_twn
翡翠台,http://v2h.jdshipin.com/jade2/jade.stream/chunklist_w100.m3u8
翡翠台,http://v2h.jdshipin.com:80/jade2/jade.stream/chunklist_w100.m3u8
无线新闻,http://php.jdshipin.com:8880/TVOD/iptv.php?id=tvbxw
无线新闻,https://cdn9.163189.xyz/smt3.1.1.php?id=inews_twn
无线新闻,http://cdn9.163189.xyz/smt1.1.php?id=inews_twn

View File

@ -0,0 +1,51 @@
{
"作者": "",
"站名": "明星影院",
"请求头": "User-Agent$MOBILE_UA",
"编码": "UTF-8",
"图片代理": "",
"直接播放": "0",
"播放请求头": "",
"过滤词": "",
"主页url": "https://mxvod.com",
"首页": "120",
"起始页": "1",
"分类url": "https://mxvod.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html",
"分类": "电影$dianying#电视剧$dianshiju#综艺$zongyi#动漫$dongman#短剧$duanju",
"二次截取": "module-items\"&&id=\"page",
"数组": "lazyloaded&&/a>",
"标题": "title=*>&&<",
"图片": "data-src=\"&&\"",
"副标题": "class\">&&<",
"链接": "href=\"&&\"[替换:vodplay>>voddetail#-1-1.html>>.html]",
"影片年代": "-----------*.html\">&&</",
"影片地区": "video:area\" content=\"&&\"",
"影片类型": "video:class\" content=\"&&\"",
"状态": "tag-link-red\">&&</div>",
"导演": "导演:&&</div>",
"主演": "主演:&&\">",
"简介": "vod_content\"&&</div>",
"线路数组": "data-dropdown&&/small>",
"线路标题": "value=\"&&\"+【共+<small>&&<+集】",
"播放数组": "id=\"sort-item&&</div>",
"播放列表": "<a&&/a>",
"播放标题": "<span>&&<",
"播放链接": "href=\"&&\"",
"跳转播放链接": "var player_*\"url\":\"&&\"",
"搜索请求头": "User-Agent$MOBILE_UA",
"搜索url": "https://mxvod.com/vodsearch/{wd}----------{pg}---.html",
"搜索模式": "1",
"搜索数组": "lazyload\"&&/a>",
"搜索标题": "title=\"&&\"",
"搜索图片": "data-src=\"&&\"",
"搜索副标题": "title=*>&&<",
"搜索链接": "href=\"&&\"",
"筛选": "1",
"类型": "动作片$dongzuopian#喜剧片$xijupian#爱情片$aiqingpian#科幻片$kehuanpian#恐怖片$kongbupian#战争片$zhanzhengpian#剧情片$juqingpian#动画片$donghuapian#悬疑片$xuanyi#纪录片$jilupian#奇幻片$qihuanpian#灾难片$zainanpian||国产剧$guochanju#欧美剧$oumeiju#日剧$riju#韩剧$hanju#港台剧$gangtai#海外剧$haiwai||大陆综艺$daluzongyi#港台综艺$gangtaizongyi#欧美综艺$oumeizongyi#日韩综艺$rihanzongyi#海外综艺$haiwaizongyi||国产动漫$guochandongman#日韩动漫$rihandongman#欧美动漫$oumeidongman#海外动漫$haiwaidongman||空",
"剧情": "喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&动画&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&古装&历史&运动&农村&儿童&网络电影||古装&战争&青春偶像&喜剧&家庭&犯罪&动作&奇幻&剧情&历史&经典&乡村&情景&商战&网剧&其他||选秀&情感&访谈&播报&旅游&音乐&美食&纪实&曲艺&生活&游戏互动&财经&求职||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||古装&虐恋&逆袭&神豪&重生&复仇&穿越&甜宠&强者&萌宝&其它",
"年份": "1990-2025",
"年份值": "*",
"语言值": "*",
"排序": "时间&人气&评分",
"排序值": "time&hits&score"
}

View File

@ -1,6 +1,16 @@
{
"简介": "p_txt show_part\">&&</p>",
"副标题": "v_note\">&&</div>",
"分类url": "https://saohuody.com/list/{cateId}-{catePg}.html",
"分类": "国产剧$12#港剧$13#台剧$14#日剧$15#韩剧$16#美剧$17#海外$18#泰剧$19#动作$5#喜剧$6#爱情$7#科幻$8#恐怖$9#剧情$10#战争$11#动画$33"
"首页": "0",
"请求头": "User-Agent$MOBILE_UA#Accept$text/html,application/xhtml+xml,application/xmlq=0.9,image/avif,image/webp,image/apng,*/*q=0.8,application/signed-exchangev=b3q=0.7&&Accept-Language@zh-CN,zhq=0.9",
"分类url": "https://shdy2.com/list/{cateId}-{catePg}.html",
"分类": "剧集$2#电影$1#港剧$21#台剧$26#日剧$24#韩剧$22#美剧$23",
"数组": "class=\"v_img&&/li>",
"标题": "alt=\"&&\"",
"图片": "original=\"&&\"",
"链接": "href=\"&&\"",
"简介": "show_part\">&&<a",
"演员": "主演:&&<a",
"导演": "导演:&&/",
"播放二次截取": "class=\"play_list&&/ul>",
"播放数组": "<li&&/li>",
"倒序": "1"
}

View File

@ -0,0 +1,38 @@
{
"站名": "麦田appXBPQ",
"规则作者": "啦啦啦",
"请求头": "User-Agent$MOBILE_UA",
"编码": "UTF-8",
"主页url": "http://172.247.31.147:25321/mtys.php/v6/index_video",
"分类url": "http://172.247.31.147:25321/mtys.php/v6/video?pg={catePg}&tid={cateId}&class={class}&area={area}&lang={lang}&year={year}&order={by};;mr",
"分类": "电影&电视剧&综艺&动漫&少儿&短剧&直播",
"分类值": "1&2&3&4&25&26&30",
"数组": "{&&}",
"图片": "vod_pic\":\"&&\"",
"标题": "vod_name\":\"&&\"",
"副标题": "vod_remarks\":\"&&\"",
"链接": "http://172.247.31.147:25321/mtys.php/v6/video_detail?id=+vod_id\":&&,",
"线路二次截取": "vod_url_with_player\":\\[{&&}\\][替换:\"name\":\">>\"name\":\"题]",
"线路数组": "\"name\":\"&&,",
"线路标题": "题&&\"",
"播放二次截取": "vod_url_with_player\":\\[{&&}\\]",
"播放数组": "url\":&&,[替换:\">>接表题#$>>题接#\\#>>接表表题]",
"播放列表": "表&&表",
"播放标题": "题&&题",
"播放链接": "urlDecode(接&&接)",
"解析": "PD源$http://172.247.31.148:25320/jx.php?url=#NB源$https://api.nbyjson.top:7788/api/?key=ws9Lz1EtqfU09AzZKl&url=#ZB源$http://27.25.159.14:6699/api/mgapp.php?url=",
"影片类型": "vod_class\":\"&&\"",
"影片年代": "vod_year\":\"&&\"",
"影片地区": "vod_area\":\"&&\"",
"导演": "vod_director\":\"&&\"",
"主演": "vod_actor\":\"&&\"",
"简介": "vod_content\":\"&&\"",
"搜索url": "http://172.247.31.147:25321/mtys.php/v6/search?pg={pg}&tid=0&text={wd}",
"搜索模式": "1",
"搜索二次截取": "data\":\\[&&\\]",
"搜索数组": "{&&}",
"搜索图片": "vod_pic\":\"&&\"",
"搜索标题": "vod_name\":\"&&\"",
"搜索副标题": "vod_remarks\":\"&&\"",
"搜索链接": "http://172.247.31.147:25321/mtys.php/v6/video_detail?id=+vod_id\":&&,"
}

View File

@ -349,7 +349,8 @@
"quickSearch": 1,
"api": "csp_AppGet",
"ext": {
"url": "https://www.guahd.com",
"url": "",
"site": "https://www.guahd.com/1.txt",
"dataKey": "f2A7D4B9E8C16531",
"dataIv": "f2A7D4B9E8C16531",
"deviceId": "",
@ -1029,6 +1030,28 @@
"filterable": 1,
"playerType": 2
},
{
"key": "爱看短剧",
"name": "爱看|短剧",
"type": 3,
"api": "./py/爱看短剧.py",
"searchable": 1,
"changeable": 1,
"quickSearch": 1,
"filterable": 1,
"playerType": 2
},
{
"key": "锦鲤短剧",
"name": "锦鲤|短剧",
"type": 3,
"api": "./py/锦鲤短剧.py",
"searchable": 1,
"changeable": 1,
"quickSearch": 1,
"filterable": 1,
"playerType": 2
},
{
"key": "短剧屋",
"name": "短剧屋|短剧",
@ -1211,6 +1234,20 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "明星影视",
"name": "明星|影视",
"type": 3,
"api": "csp_HBPQ",
"ext": "./XBPQ/明星影视.json"
},
{
"key": "麦田影视",
"name": "麦田|影视",
"type": 3,
"api": "csp_HBPQ",
"ext": "./XBPQ/麦田影视.json"
},
{
"key": "海纳影视",
"name": "海纳|影视",
@ -1581,7 +1618,10 @@
"api": "csp_QnMp4",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
"filterable": 1,
"ext": {
"url": "https://www.qwnull.com,https://www.qwmkv.com,https://www.qwfilm.com,https://www.qnmp4.com,https://www.qnnull.com,https://www.qnhot.com"
}
},
{
"key": "80S",

View File

@ -1,52 +0,0 @@
var rule = {
title: '懒盘搜',
host: 'https://qkpanso.com/',
hostJs: '',
headers: {
'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36',
},
编码: 'utf-8',
timeout: 5000,
url: 'https://qkpanso.com/search?q=fyclass&format=video&page=fypage',
filter_url: '',
detailUrl: '',
searchUrl: 'https://qkpanso.com/search?q=**&format=video&exact=true&page=fypage',
searchable: 1,
quickSearch: 1,
filterable: 1,
class_name: '',
class_url: '',
proxy_rule: '',
sniffer: false,
isVideo: '',
play_parse: true,
parse_url: '',
lazy: "js:\n input = 'push://' + input;\n ",
limit: 9,
double: false,
// 推荐: '*',
一级: 'js:\n let html = fetch(input);\n let list = pdfa(html, "body&&.semi-space-medium-vertical");\n VODS = list.map(x => {\n let remarks = pdfh(x, "div&&img&&alt");\n // 过滤掉包含"迅雷云盘"的内容\n if(remarks.includes("迅雷云盘") || remarks.includes("115") || remarks.includes("阿里")) return null;\n return {\n vod_name: pdfh(x, "div&&a&&title"),\n vod_pic: \'http://pic-smzy.oss-cn-beijing.aliyuncs.com/images/5e/2a/1410241152a3eca2eca7ace140ed1c0c01b12a5e.png\',\n vod_remarks: remarks,\n vod_content: remarks,\n vod_id: pdfh(x, "div&&a&&href")\n }\n }).filter(x => x !== null);\n ',
二级: {
title: 'h1&&Text',
img: 'img&&src',
desc: '.card-text:eq(2)&&Text;;;;',
content: 'body&&.semi-space-loose-vertical&&a&&href',
tabs: "js:TABS = ['夸克盘搜']",
lists: "js:\n LISTS = [];\n let lists1 = pdfa(html, 'body&&.semi-space-loose-vertical').map(it => {\n let _tt = pdfh(it, 'span&&title');\n let _uu = pdfh(it, 'a&&href');\n return _tt + '$' + _uu;\n });\n LISTS.push(lists1);\n ",
},
搜索: 'js:\n let html = fetch(input);\n let list = pdfa(html, "body&&.semi-space-medium-vertical");\n VODS = list.map(x => {\n let remarks = pdfh(x, "div&&img&&alt");\n // 过滤掉包含"迅雷云盘"的内容\n if(remarks.includes("迅雷云盘") || remarks.includes("115") || remarks.includes("阿里")) return null;\n return {\n vod_name: pdfh(x, "div&&a&&title"),\n vod_pic: \'http://pic-smzy.oss-cn-beijing.aliyuncs.com/images/5e/2a/1410241152a3eca2eca7ace140ed1c0c01b12a5e.png\',\n vod_remarks: remarks,\n vod_content: remarks,\n vod_id: pdfh(x, "div&&a&&href")\n }\n }).filter(x => x !== null);\n ',
cate_exclude: '首页|留言|APP|下载|资讯|新闻|动态',
tab_exclude: '猜你|喜欢|下载|剧情|榜|评论',
类型: '影视',
homeUrl: 'https://qkpanso.com/',
二级访问前: '',
encoding: 'utf-8',
search_encoding: '',
图片来源: '',
图片替换: '',
play_json: [],
pagecount: {},
tab_remove: [],
tab_order: [],
tab_rename: {},
}

View File

@ -1,52 +0,0 @@
var rule = {
title: '懒盘搜',
host: 'https://www.lzpanx.com/',
hostJs: '',
headers: {
'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36',
},
编码: 'utf-8',
timeout: 5000,
url: 'https://www.lzpanx.com/search?q=fyclass&format=video&page=fypage',
filter_url: '',
detailUrl: '',
searchUrl: 'https://www.lzpanx.com/search?q=**&format=video&exact=true&page=fypage',
searchable: 1,
quickSearch: 1,
filterable: 1,
class_name: '剧集&电影&短剧&动漫&综艺',
class_url: '剧集&电影&短网剧&动漫&综艺',
proxy_rule: '',
sniffer: false,
isVideo: '',
play_parse: true,
parse_url: '',
lazy: "js:\n input = 'push://' + input;\n ",
limit: 9,
double: false,
// 推荐: '*',
一级: 'js:\n let html = fetch(input);\n let list = pdfa(html, "body&&.semi-space-medium-vertical");\n VODS = list.map(x => {\n let remarks = pdfh(x, "div&&img&&alt");\n // 过滤掉包含"迅雷云盘"的内容\n if(remarks.includes("迅雷云盘") || remarks.includes("115") || remarks.includes("阿里")) return null;\n return {\n vod_name: pdfh(x, "div&&a&&title"),\n vod_pic: \'https://ww1.sinaimg.cn/mw690/006faMndly1htmb1m08adj30e20e2q3m.jpg\',\n vod_remarks: remarks,\n vod_content: remarks,\n vod_id: pdfh(x, "div&&a&&href")\n }\n }).filter(x => x !== null);\n ',
二级: {
title: 'h1&&Text',
img: 'img&&src',
desc: '.card-text:eq(2)&&Text;;;;',
content: 'body&&.semi-space-loose-vertical&&a&&href',
tabs: "js:TABS = ['懒盘']",
lists: "js:\n LISTS = [];\n let lists1 = pdfa(html, 'body&&.semi-space-loose-vertical').map(it => {\n let _tt = pdfh(it, 'span&&title');\n let _uu = pdfh(it, 'a&&href');\n return _tt + '$' + _uu;\n });\n LISTS.push(lists1);\n ",
},
搜索: 'js:\n let html = fetch(input);\n let list = pdfa(html, "body&&.semi-space-medium-vertical");\n VODS = list.map(x => {\n let remarks = pdfh(x, "div&&img&&alt");\n // 过滤掉包含"迅雷云盘"的内容\n if(remarks.includes("迅雷云盘") || remarks.includes("115") || remarks.includes("阿里")) return null;\n return {\n vod_name: pdfh(x, "div&&a&&title"),\n vod_pic: \'https://ww1.sinaimg.cn/mw690/006faMndly1htmb1m08adj30e20e2q3m.jpg\',\n vod_remarks: remarks,\n vod_content: remarks,\n vod_id: pdfh(x, "div&&a&&href")\n }\n }).filter(x => x !== null);\n ',
cate_exclude: '首页|留言|APP|下载|资讯|新闻|动态',
tab_exclude: '猜你|喜欢|下载|剧情|榜|评论',
类型: '影视',
homeUrl: 'https://www.lzpanx.com/',
二级访问前: '',
encoding: 'utf-8',
search_encoding: '',
图片来源: '',
图片替换: '',
play_json: [],
pagecount: {},
tab_remove: [],
tab_order: [],
tab_rename: {},
}

109
潇洒/py/爱看短剧.py Normal file
View File

@ -0,0 +1,109 @@
# -*- coding: utf-8 -*-
# by @嗷呜
import json
import sys
from pyquery import PyQuery as pq
sys.path.append('..')
from base.spider import Spider
class Spider(Spider):
def init(self, extend=""):
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
host='http://www.toule.top'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
'Referer':f'{host}/',
'Origin':host
}
def homeContent(self, filter):
data=self.getpq()
result = {}
classes = []
for k in data('.swiper-wrapper .swiper-slide').items():
classes.append({
'type_name': k.text(),
'type_id': k.text()
})
result['class'] = classes
result['list'] = self.getlist(data('.container.items ul li'))
return result
def homeVideoContent(self):
pass
def categoryContent(self, tid, pg, filter, extend):
data=self.getpq(f"/index.php/vod/show/class/{tid}/id/1/page/{pg}.html")
result = {}
result['list'] = self.getlist(data('.container.items ul li'))
result['page'] = pg
result['pagecount'] = 9999
result['limit'] = 90
result['total'] = 999999
return result
def detailContent(self, ids):
data=self.getpq(ids[0])
v=data('.container.detail-content')
vod = {
'vod_remarks': v('.items-tags a').text(),
'vod_content': v('.text-content .detail').text(),
'vod_play_from': '爱看短剧',
'vod_play_url': '#'.join([f"{i.text()}${i('a').attr('href')}" for i in data('.swiper-wrapper .swiper-slide').items()])
}
return {'list':[vod]}
def searchContent(self, key, quick, pg="1"):
data=self.getpq(f"/index.php/vod/search/page/{pg}/wd/{key}.html")
return {'list':self.getlist(data('.container.items ul li')),'page':pg}
def playerContent(self, flag, id, vipFlags):
data=self.getpq(id)
try:
jstr=data('.player-content script').eq(0).text()
jt=json.loads(jstr.split('=',1)[-1])
p,url=0,jt['url']
except Exception as e:
print(f"获取播放地址失败: {e}")
p,url=1,f'{self.host}{id}'
return {'parse': p, 'url': url, 'header': self.headers}
def localProxy(self, param):
pass
def liveContent(self, url):
pass
def getpq(self, path=''):
data=self.fetch(f"{self.host}{path}",headers=self.headers).text
try:
return pq(data)
except Exception as e:
print(f"{str(e)}")
return pq(data.encode('utf-8'))
def getlist(self,data):
videos = []
for i in data.items():
videos.append({
'vod_id': i('.image-line').attr('href'),
'vod_name': i('img').attr('alt'),
'vod_pic': i('img').attr('src'),
'vod_remarks': i('.remarks.light').text()
})
return videos

147
潇洒/py/锦鲤短剧.py Normal file
View File

@ -0,0 +1,147 @@
from base.spider import Spider
import re,sys,json
sys.path.append('..')
class Spider(Spider):
api_host = 'https://api.jinlidj.com'
origin = 'https://www.jinlidj.com'
api_path = '/api/search'
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
'Content-Type': "application/json",
'accept-language': "zh-CN,zh;q=0.9",
'cache-control': "no-cache",
'origin': origin,
'pragma': "no-cache",
'priority': "u=1, i",
'referer': origin+'/',
'sec-ch-ua': "\"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"138\", \"Google Chrome\";v=\"138\"",
'sec-ch-ua-mobile': "?0",
'sec-ch-ua-platform': "\"Windows\"",
'sec-fetch-dest': "empty",
'sec-fetch-mode': "cors",
'sec-fetch-site': "same-site"
}
def homeContent(self, filter):
return {'class': [{'type_id': 1, 'type_name': '情感关系'}, {'type_id': 2, 'type_name': '成长逆袭'}, {'type_id': 3, 'type_name': '奇幻异能'}, {'type_id': 4, 'type_name': '战斗热血'}, {'type_id': 5, 'type_name': '伦理现实'}, {'type_id': 6, 'type_name': '时空穿越'}, {'type_id': 7, 'type_name': '权谋身份'}]}
def homeVideoContent(self):
payload = {
"page": 1,
"limit": 24,
"type_id": "",
"year": "",
"keyword": ""
}
response = self.post(f"{self.api_host}{self.api_path}", data=json.dumps(payload), headers=self.headers).json()
data = response['data']
videos = []
for i in data['list']:
videos.append({
'vod_id': i.get('vod_id'),
'vod_name': i.get('vod_name'),
'vod_class': i.get('vod_class'),
'vod_pic': i.get('vod_pic'),
'vod_year': i.get('vod_year'),
'vod_remarks': i.get('vod_total')+'',
'vod_score': i.get('vod_score')
})
return {'list': videos}
def detailContent(self, ids):
response = self.post(f'{self.api_host}/api/detail/{ids[0]}', data=json.dumps({}), headers=self.headers).json()
data = response['data']
videos = []
vod_play_url = ''
for name,url in data['player'].items():
vod_play_url += f'{name}${url}#'
vod_play_url.rstrip('#')
videos.append({
'vod_id': data.get('vod_id'),
'vod_name': data.get('vod_name'),
'vod_content': data.get('vod_blurb'),
'vod_remarks': '集数:' + data.get('vod_total'),
"vod_director": data.get('vod_director'),
"vod_actor": data.get('vod_actor'),
'vod_year': data.get('vod_year'),
'vod_area': data.get('vod_area'),
'vod_play_from': '锦鲤短剧',
'vod_play_url': vod_play_url
})
return {'list': videos}
def searchContent(self, key, quick, pg="1"):
payload = {
"page": pg,
"limit": 24,
"type_id": "",
"keyword": key
}
response = self.post(f'{self.api_host}{self.api_path}', data=json.dumps(payload), headers=self.headers).json()
data = response['data']
videos = []
for i in data['list']:
videos.append({
"vod_id": i['vod_id'],
"vod_name": i['vod_name'],
"vod_class": i['vod_class'],
"vod_pic": i['vod_pic'],
'vod_year': i.get('vod_year'),
"vod_remarks": i['vod_total'] + ''
})
return {'list': videos, 'page': pg, 'total': data['total'], 'limit': 24}
def categoryContent(self, tid, pg, filter, extend):
payload = {
"page": pg,
"limit": 24,
"type_id": tid,
"year": "",
"keyword": ""
}
response = self.post(f'{self.api_host}{self.api_path}', data=json.dumps(payload), headers=self.headers).json()
data = response['data']
videos = []
for i in data['list']:
videos.append({
'vod_id': i.get('vod_id'),
'vod_name': i.get('vod_name'),
'vod_class': i.get('vod_class'),
'vod_pic': i.get('vod_pic'),
'vod_remarks': i.get('vod_total')+'',
'vod_year': i.get('vod_year'),
'vod_score': i.get('vod_score')
})
return {'list': videos}
def playerContent(self, flag, id, vipflags):
parse = 0
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36'}
try:
response = self.fetch(id, headers=self.headers).text
match = re.search(r'let\s+data\s*=\s*(\{[^}]*http[^}]*\});', response, re.IGNORECASE)
data = match.group(1)
data2 = json.loads(data)
url = data2['url']
except Exception:
url, parse, header = id, 1, self.headers
return {'parse': parse, 'url': url,'header': header}
def init(self, extend=''):
pass
def getName(self):
pass
def isVideoFormat(self, url):
pass
def manualVideoCheck(self):
pass
def destroy(self):
pass
def localProxy(self, param):
pass

Binary file not shown.

View File

@ -133,6 +133,14 @@
"searchable": 1,
"changeable": 1
},
{
"key": "WexXuexi",
"name": "💓综合┃4K💓",
"type": 3,
"api": "csp_WexXuexiGuard",
"searchable": 1,
"changeable": 1
},
{
"key": "WexfeimaoziyuanGuard",
"name": "💓肥猫┃4K💓",
@ -200,14 +208,6 @@
"searchable": 1,
"changeable": 1
},
{
"key": "WexXuexi",
"name": "💓原盘┃4K💓",
"type": 3,
"api": "csp_WexXuexiGuard",
"searchable": 1,
"changeable": 1
},
{
"key": "Wexalllive",
"name": "💓‍聚合┃直播💓‍",
@ -735,6 +735,22 @@
"searchable": 1,
"changeable": 0
},
{
"key": "WexHaiYinsoGuard",
"name": "🎠海音┃综合🎠",
"type": 3,
"api": "csp_WexHaiYinsoGuard",
"searchable": 1,
"changeable": 0
},
{
"key": "WexZhaoPansoGuard",
"name": "🎠找盘┃综合🎠",
"type": 3,
"api": "csp_WexZhaoPansoGuard",
"searchable": 1,
"changeable": 0
},
{
"key": "115",
"name": "💓我的┃115💓",

Binary file not shown.