This commit is contained in:
parent
239a874feb
commit
6e8af5c540
36
README.en.md
36
README.en.md
|
|
@ -1,36 +0,0 @@
|
|||
# tvbox
|
||||
|
||||
#### Description
|
||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 8.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 262 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,186 @@
|
|||
var rule = {
|
||||
title:'4KHDR[磁]',
|
||||
host:'https://www.4khdr.cn',
|
||||
homeUrl: "/forum.php?mod=forumdisplay&fid=2&page=1",
|
||||
url: '/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=fyclass&page=fypage',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/search.php#searchsubmit=yes&srchtxt=**;post',
|
||||
searchable:2,
|
||||
quickSearch:1,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie':'http://127.0.0.1:9978/file:///tvbox/JS/lib/4khdr.txt',
|
||||
},
|
||||
timeout:5000,
|
||||
class_name: "4K电影&4K美剧&4K华语&4K动画&4K纪录片&4K日韩印&蓝光电影&蓝光美剧&蓝光华语&蓝光动画&蓝光日韩印",
|
||||
class_url:"3&8&15&6&11&4&29&31&33&32&34",
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'ul#waterfall li;a&&title;img&&src;div.auth.cl&&Text;a&&href',
|
||||
一级:'ul#waterfall li;a&&title;img&&src;div.auth.cl&&Text;a&&href',
|
||||
二级:{
|
||||
title:"#thead_subject&&Text",
|
||||
img:"img.zoom&&src",
|
||||
desc:'td[id^="postmessage_"] font&&Text',
|
||||
content:'td[id^="postmessage_"] font&&Text',
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let d = pdfa(html, 'div.pcb table.t_table a');
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
if (false && tabsa.length + tabsq.length > 1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
log('4khdr TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let d = pdfa(html, 'div.pcb table.t_table a');
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('4khdr title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('4khdr burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
if (false && lista.length + listq.length > 1){
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
if (rule_fetch_params.headers.Cookie.startsWith("http")){
|
||||
rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);
|
||||
let cookie = rule_fetch_params.headers.Cookie;
|
||||
setItem(RULE_CK, cookie);
|
||||
};
|
||||
log('4khdr search cookie>>>>>>>>>>>>>>>' + rule_fetch_params.headers.Cookie);
|
||||
let new_host= HOST + '/search.php';
|
||||
let new_html=request(new_host);
|
||||
let formhash = pdfh(new_html, 'input[name="formhash"]&&value');
|
||||
log("4khdr formhash>>>>>>>>>>>>>>>" + formhash);
|
||||
let params = 'formhash=' + formhash + '&searchsubmit=yes&srchtxt=' + encodeURIComponent(KEY);
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let postData = {
|
||||
body: params
|
||||
};
|
||||
Object.assign(_fetch_params, postData);
|
||||
log("4khdr search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let search_html = post( HOST + '/search.php?mod=forum', _fetch_params)
|
||||
//log("4khdr search result>>>>>>>>>>>>>>>" + search_html);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'div#threadlist ul li');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'h3&&Text');
|
||||
if (searchObj.quick === true){
|
||||
if (title.includes(KEY)){
|
||||
title = KEY;
|
||||
}
|
||||
}
|
||||
let img = "";
|
||||
let content = pdfh(it, 'p:eq(2)&&Text');
|
||||
let desc = pdfh(it, 'p:eq(3)&&Text');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -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)
|
||||
`,
|
||||
},
|
||||
搜索: "",
|
||||
};
|
||||
|
|
@ -0,0 +1,203 @@
|
|||
var rule = {
|
||||
title:'高清MP4吧',
|
||||
host:'https://www.97tvs.com',
|
||||
homeUrl: '/',
|
||||
url: '/fyclass/page/fypage?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/?s=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie':'',
|
||||
'Referer': 'http://www.97tvs.com/'
|
||||
},
|
||||
图片来源:'@Headers={"Accept":"*/*","Referer":"https://www.97tvs.com/","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36"}',
|
||||
timeout:5000,
|
||||
class_name: "动作片&科幻片&爱情片&喜剧片&剧情片&惊悚片&战争片&灾难片&罪案片&动画片&综艺&电视剧",
|
||||
class_url: "action&science&love&comedy&story&thriller&war&disaster&crime&cartoon&variety&sitcoms",
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'div.mainleft ul#post_container li');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'div.thumbnail img&&alt'),
|
||||
desc: pdfh(it, 'div.info&&span.info_date&&Text') + ' / ' + pdfh(it, 'div.info&&span.info_category&&Text'),
|
||||
pic_url: pd(it, 'div.thumbnail img&&src', HOST),
|
||||
url: pd(it, 'div.thumbnail&&a&&href',HOST)
|
||||
});
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'div.mainleft ul#post_container li');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'div.thumbnail img&&alt'),
|
||||
desc: pdfh(it, 'div.info&&span.info_date&&Text') + ' / ' + pdfh(it, 'div.info&&span.info_category&&Text'),
|
||||
pic_url: pd(it, 'div.thumbnail img&&src', HOST),
|
||||
url: pd(it, 'div.thumbnail&&a&&href',HOST)
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"div.article_container h1&&Text",
|
||||
img:"div#post_content img&&src",
|
||||
desc:"div#post_content&&Text",
|
||||
content:"div#post_content&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let d = pdfa(html, 'div#post_content p');
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
let tabm3u8 = [];
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tabm3u8.forEach(function(it){
|
||||
TABS.push(it);
|
||||
});
|
||||
log('97tvs TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let d = pdfa(html, 'div#post_content p');
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
let listm3u8 = {};
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('97tvs title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('97tvs burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = "push://" + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = "push://" + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
for ( const key in listm3u8 ){
|
||||
if (listm3u8.hasOwnProperty(key)){
|
||||
LISTS.push(listm3u8[key]);
|
||||
}
|
||||
};
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let search_html = request(input)
|
||||
//log("97tvs search result>>>>>>>>>>>>>>>" + search_html);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'div.mainleft ul#post_container li');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'div.thumbnail img&&alt').replace( /(<([^>]+)>)/ig, '');
|
||||
if (title.includes(KEY)){
|
||||
if (searchObj.quick === true){
|
||||
title = KEY;
|
||||
}
|
||||
let img = pd(it, 'div.thumbnail img&&src', HOST);
|
||||
let content = pdfh(it, 'div.article div.entry_post&&Text');
|
||||
let desc = pdfh(it, 'div.info&&span.info_date&&Text');
|
||||
let url = pd(it, 'div.thumbnail&&a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
});
|
||||
}
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1,450 @@
|
|||
{
|
||||
"spider": "../jar/yt-aa.jar",
|
||||
"wallpaper": "https://tuapi.eees.cc/api.php?category=fengjing&type=302",
|
||||
"sites": [
|
||||
{
|
||||
"key": "cctv",
|
||||
"name": "cctv",
|
||||
"type": 1,
|
||||
"api": "http://zhangqun19.serv00.net/cctv.php",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "听书go",
|
||||
"name": "听书go",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=11",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "小苹果",
|
||||
"name": "小苹果",
|
||||
"type": 4,
|
||||
"api": "http://zhangqun19.serv00.net/pingguo.php",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "采集全集",
|
||||
"name": "采集全集",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=12",
|
||||
"ext": "0",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "服务器油管go",
|
||||
"name": "服务器油管go",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"searchable": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "油管清单播放",
|
||||
"name": "油管清单播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=9",
|
||||
"ext": "/storage/emulated/0/lz/json/油管/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "影视清单播放",
|
||||
"name": "影视清单播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=9",
|
||||
"ext": "/storage/emulated/0/lz/json/影视/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "其他清单播放",
|
||||
"name": "其他清单播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=9",
|
||||
"ext": "/storage/emulated/0/lz/json/其他/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "油管文件播放",
|
||||
"name": "油管文件播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=8",
|
||||
"ext": "/storage/emulated/0/lz/wj/油管/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "影视文件播放",
|
||||
"name": "影视文件播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=8",
|
||||
"ext": "/storage/emulated/0/lz/wj/影视/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "直播文件播放",
|
||||
"name": "直播文件播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=8",
|
||||
"ext": "/storage/emulated/0/lz/wj/直播/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "音乐文件播放",
|
||||
"name": "音乐文件播放",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=8",
|
||||
"ext": "/storage/emulated/0/lz/wj/音乐/",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "欧乐影院",
|
||||
"name": "欧乐影院",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=4",
|
||||
"searchable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "采集集合",
|
||||
"name": "采集集合",
|
||||
"type": 1,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=3",
|
||||
"searchable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "短剧",
|
||||
"name": "短剧",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=2",
|
||||
"searchable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "哔哩go",
|
||||
"name": "哔哩go",
|
||||
"type": 4,
|
||||
"api": "http://127.0.0.1:1988/lb?lb=10",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.33
|
||||
},
|
||||
"changeable": 1
|
||||
}
|
||||
],
|
||||
"parses": [
|
||||
{
|
||||
"name": "解析聚合",
|
||||
"type": 3,
|
||||
"url": "Web"
|
||||
},
|
||||
{
|
||||
"name": "777",
|
||||
"type": 0,
|
||||
"url": "https://jx.777jiexi.com/player/?url="
|
||||
},
|
||||
{
|
||||
"name": "jsonplayer",
|
||||
"type": 0,
|
||||
"url": "https://jx.jsonplayer.com/player/?url="
|
||||
},
|
||||
{
|
||||
"name": "xmflv",
|
||||
"type": 0,
|
||||
"url": "https://jx.xmflv.com/?url="
|
||||
},
|
||||
{
|
||||
"name": "公众号:六趣",
|
||||
"type": 1,
|
||||
"url": "http://kmp.us.kg/api/?key=A2gODYCEHBd4tVLsbv&url=",
|
||||
"ext": {
|
||||
"flag": [
|
||||
"qq",
|
||||
"腾讯",
|
||||
"qiyi",
|
||||
"爱奇艺",
|
||||
"奇艺",
|
||||
"youku",
|
||||
"优酷",
|
||||
"sohu",
|
||||
"搜狐",
|
||||
"letv",
|
||||
"乐视",
|
||||
"mgtv",
|
||||
"芒果",
|
||||
"tnmb",
|
||||
"seven",
|
||||
"bilibili",
|
||||
"1905",
|
||||
"NetFilx"
|
||||
],
|
||||
"header": {
|
||||
"User-Agent": "okhttp/4.9.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"flags": [
|
||||
"youku",
|
||||
"tudou",
|
||||
"qq",
|
||||
"qiyi",
|
||||
"iqiyi",
|
||||
"leshi",
|
||||
"letv",
|
||||
"sohu",
|
||||
"imgo",
|
||||
"mgtv",
|
||||
"bilibili",
|
||||
"pptv",
|
||||
"PPTV",
|
||||
"migu"
|
||||
],
|
||||
"rules": [
|
||||
{
|
||||
"name": "proxy",
|
||||
"hosts": [
|
||||
"raw.githubusercontent.com",
|
||||
"googlevideo.com",
|
||||
"cdn.v82u1l.com",
|
||||
"cdn.iz8qkg.com",
|
||||
"cdn.kin6c1.com",
|
||||
"c.biggggg.com",
|
||||
"c.olddddd.com",
|
||||
"haiwaikan.com",
|
||||
"www.histar.tv",
|
||||
"youtube.com",
|
||||
"uhibo.com",
|
||||
".*boku.*",
|
||||
".*nivod.*",
|
||||
".*ulivetv.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "海外看",
|
||||
"hosts": [
|
||||
"haiwaikan"
|
||||
],
|
||||
"regex": [
|
||||
"10.0099",
|
||||
"10.3333",
|
||||
"16.0599",
|
||||
"8.1748",
|
||||
"10.85"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "索尼",
|
||||
"hosts": [
|
||||
"suonizy"
|
||||
],
|
||||
"regex": [
|
||||
"15.1666",
|
||||
"15.2666"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "暴風",
|
||||
"hosts": [
|
||||
"bfzy"
|
||||
],
|
||||
"regex": [
|
||||
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:3,[\\s\\S]*?#EXT-X-DISCONTINUITY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "测试",
|
||||
"hosts": [
|
||||
"zhangqun66.serv00.net"
|
||||
],
|
||||
"regex": [
|
||||
"Smartv.php?id="
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "星星",
|
||||
"hosts": [
|
||||
"aws.ulivetv.net"
|
||||
],
|
||||
"regex": [
|
||||
"#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:8,[\\s\\S]*?#EXT-X-DISCONTINUITY"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "量子",
|
||||
"hosts": [
|
||||
"vip.lz",
|
||||
"hd.lz",
|
||||
"v.cdnlz"
|
||||
],
|
||||
"regex": [
|
||||
"18.5333"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "非凡",
|
||||
"hosts": [
|
||||
"vip.ffzy",
|
||||
"hd.ffzy"
|
||||
],
|
||||
"regex": [
|
||||
"25.0666"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "火山嗅探",
|
||||
"hosts": [
|
||||
"huoshan.com"
|
||||
],
|
||||
"regex": [
|
||||
"item_id="
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "抖音嗅探",
|
||||
"hosts": [
|
||||
"douyin.com"
|
||||
],
|
||||
"regex": [
|
||||
"is_play_url="
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "農民嗅探",
|
||||
"hosts": [
|
||||
"toutiaovod.com"
|
||||
],
|
||||
"regex": [
|
||||
"video/tos/cn"
|
||||
]
|
||||
}
|
||||
],
|
||||
"doh": [
|
||||
{
|
||||
"name": "Google",
|
||||
"url": "https://dns.google/dns-query",
|
||||
"ips": [
|
||||
"8.8.4.4",
|
||||
"8.8.8.8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare",
|
||||
"url": "https://cloudflare-dns.com/dns-query",
|
||||
"ips": [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1",
|
||||
"2606:4700:4700::1111",
|
||||
"2606:4700:4700::1001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard",
|
||||
"url": "https://dns.adguard.com/dns-query",
|
||||
"ips": [
|
||||
"94.140.14.140",
|
||||
"94.140.14.141"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNSWatch",
|
||||
"url": "https://resolver2.dns.watch/dns-query",
|
||||
"ips": [
|
||||
"84.200.69.80",
|
||||
"84.200.70.40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9",
|
||||
"url": "https://dns.quad9.net/dns-query",
|
||||
"ips": [
|
||||
"9.9.9.9",
|
||||
"149.112.112.112"
|
||||
]
|
||||
}
|
||||
],
|
||||
"lives": [
|
||||
{
|
||||
"name": "XingHuo",
|
||||
"url": "https://json.doube.eu.org/XingHuo.txt",
|
||||
"header": {
|
||||
"Referer": "https://www.kds.tw/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "MQiTV",
|
||||
"api": "csp_MQiTV",
|
||||
"jar": "https://raw.githubusercontent.com/sqspot/tac/refs/heads/main/jar/fmMQiTV.jar",
|
||||
"ext": "https://59.125.210.231:4433",
|
||||
"playerType": 1,
|
||||
"epg": "http://epg.112114.xyz/?ch={name}&date={date}"
|
||||
},
|
||||
{
|
||||
"name": "肥羊国内直播",
|
||||
"type": 3,
|
||||
"api": "csp_Feiyang",
|
||||
"url": "tv.m3u",
|
||||
"ext": "https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/allinone;md5;https://raw.githubusercontent.com/lystv/fmapp/ok/apk/allinone/v7/md5",
|
||||
"jar": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
var rule = {
|
||||
title:'爱盘搜[夸]',
|
||||
host:'https://aipanso.com',
|
||||
homeUrl:'/',
|
||||
url: '/forum-fyclass-fypage.html?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/search?page=fypage&s=1&t=-1&k=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': PC_UA,
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://aipanso.com/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'',
|
||||
class_url:'',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
一级:'',
|
||||
二级:{
|
||||
title:"van-row h3&&Text",
|
||||
img:"",
|
||||
desc:"van-row h3&&Text",
|
||||
content:"van-row h3&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
TABS.push("夸克網盤");
|
||||
log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
LISTS=[];
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let requestHeaders = {
|
||||
withHeaders: true,
|
||||
redirect: 0,
|
||||
headers:{
|
||||
Referer: MY_URL
|
||||
}
|
||||
};
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, requestHeaders);
|
||||
let new_html = request ( MY_URL.replace("/s/","/cv/"), _fetch_params);
|
||||
let json=JSON.parse(new_html);
|
||||
let redirectUrl = "";
|
||||
if (json.hasOwnProperty("Location")){
|
||||
redirectUrl = json["Location"];
|
||||
}else if (json.hasOwnProperty("location")){
|
||||
redirectUrl = json["location"];
|
||||
}
|
||||
let title = pdfh(html, 'van-row h3&&Text');
|
||||
LISTS.push([title + '$' + 'push://' + redirectUrl]);
|
||||
`,
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
|
||||
log("aipanso enter search >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + KEY);
|
||||
let withHeaders = {
|
||||
withHeaders: true
|
||||
};
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, withHeaders);
|
||||
|
||||
log('aipanso search params >>>>>>>>>>>>>>>>>>>>>' + JSON.stringify(_fetch_params));
|
||||
let new_html=request(rule.homeUrl + 'search?page=' + MY_PAGE + '&s=1&t=-1&k=' + encodeURIComponent(KEY) , _fetch_params);
|
||||
//log('aipanso search new_html >>>>>>>>>>>>>>>>>>>>>' + new_html);
|
||||
let json=JSON.parse(new_html);
|
||||
let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");
|
||||
let cookie="";
|
||||
if (typeof setCk !== "undefined"){
|
||||
let d=[];
|
||||
for(const key in json[setCk]){
|
||||
if (typeof json[setCk][key] === "string"){
|
||||
log("aipanso header setCk key>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + json[setCk][key] + " " + (typeof json[setCk][key]));
|
||||
d.push(json[setCk][key].split(";")[0]);
|
||||
}
|
||||
}
|
||||
cookie=d.join(";");
|
||||
setItem(RULE_CK, cookie);
|
||||
fetch_params.headers.Cookie=cookie;
|
||||
rule_fetch_params.headers.Cookie=cookie;
|
||||
}
|
||||
log('aipanso search cookie >>>>>>>>>>>>>>>>>>>>>' + cookie);
|
||||
//log('aipanso search body >>>>>>>>>>>>>>>>>>>>>' + json['body'].substring(4096));
|
||||
|
||||
new_html = json['body'];
|
||||
|
||||
let d=[];
|
||||
let dlist = pdfa(new_html, 'van-row:has(>a[href^="/s/"])');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'van-card template&&Text');
|
||||
if (title.includes(KEY)){
|
||||
if (searchObj.quick === true){
|
||||
title = KEY;
|
||||
}
|
||||
let img = pd(it, 'van-card&&thumb', HOST);
|
||||
let content = pdfh(it, 'van-card template:eq(1)&&Text');
|
||||
let desc = pdfh(it, 'van-card template:eq(1)&&Text');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
}
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"drives": [
|
||||
{
|
||||
"name": "雨呢",
|
||||
"server": "https://pan.clun.top"
|
||||
},
|
||||
{
|
||||
"name": "触光",
|
||||
"server": "https://pan.ichuguang.com"
|
||||
},
|
||||
{
|
||||
"name": "魔都云",
|
||||
"server": "https://cdn.modupan.com"
|
||||
},
|
||||
{
|
||||
"name": "MCCI",
|
||||
"server": "https://buck.xk.ee",
|
||||
"login": {
|
||||
"username": "udian6",
|
||||
"password": "udian6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "亿苯",
|
||||
"server": "https://pan.lm379.cn"
|
||||
},
|
||||
{
|
||||
"name": "秋雨",
|
||||
"server": "https://share.qiuyu.org"
|
||||
},
|
||||
{
|
||||
"name": "小雅",
|
||||
"server": "https://alist.xiaoya.pro"
|
||||
},
|
||||
{
|
||||
"name": "日负斗金",
|
||||
"server": "https://asca0121.toc.icu"
|
||||
},
|
||||
{
|
||||
"name": "短剧库",
|
||||
"server": "https://cdn.bull369.cloud"
|
||||
},
|
||||
{
|
||||
"name": "七米藍",
|
||||
"server": "https://al.chirmyram.com"
|
||||
},
|
||||
{
|
||||
"name": "初心",
|
||||
"server": "https://cxpan.xyz"
|
||||
},
|
||||
{
|
||||
"name": "趣盘",
|
||||
"server": "https://pan.mediy.cn"
|
||||
},
|
||||
{
|
||||
"name": "电瞄",
|
||||
"server": "https://pan.110014.xyz"
|
||||
},
|
||||
{
|
||||
"name": "ZhuiFan",
|
||||
"server": "https://zhuifan.link"
|
||||
},
|
||||
{
|
||||
"name": "Apachec",
|
||||
"server": "https://w2.apachecn.org"
|
||||
},
|
||||
{
|
||||
"name": "ffssaa7",
|
||||
"server": "https://alist.ffssaa7.site"
|
||||
},
|
||||
{
|
||||
"name": "Hᴇᴀᴠᴇɴ",
|
||||
"server": "http://7heaven.eu.org"
|
||||
},
|
||||
{
|
||||
"name": "Aeahhe",
|
||||
"server": "https://www.yeahhe.online"
|
||||
},
|
||||
{
|
||||
"name": "ECVE",
|
||||
"server": "https://pan.ecve.cn"
|
||||
},
|
||||
{
|
||||
"name": "一个小站",
|
||||
"server": "https://alist.ygxz.xyz"
|
||||
},
|
||||
{
|
||||
"name": "云顶天宫",
|
||||
"server": "https://file.i80k.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
var rule = {
|
||||
title:'磁力熊[磁]',
|
||||
host:'https://www.cilixiong.com',
|
||||
homeUrl:'/',
|
||||
url: '/fyclassfyfilter-(fypage-1).html',
|
||||
//host:'http://127.0.0.1:10079',
|
||||
//homeUrl:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.cilixiong.com',
|
||||
//url:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.cilixiong.com/fyclassfyfilter-(fypage-1).html',
|
||||
filter_url:'-{{fl.class or "0"}}-{{fl.area or "0"}}',
|
||||
filter:{
|
||||
"1":[{"key":"class","name":"类型","value":[{"n":"全部","v":"0"},{"n":"剧情","v":"1"},{"n":"喜剧","v":"2"},{"n":"惊悚","v":"3"},{"n":"动作","v":"4"},{"n":"爱情","v":"5"},{"n":"犯罪","v":"6"},{"n":"恐怖","v":"7"},{"n":"冒险","v":"8"},{"n":"悬疑","v":"9"},{"n":"科幻","v":"10"},{"n":"家庭","v":"11"},{"n":"奇幻","v":"12"},{"n":"动画","v":"13"},{"n":"战争","v":"14"},{"n":"历史","v":"15"},{"n":"传记","v":"16"},{"n":"音乐","v":"17"},{"n":"歌舞","v":"18"},{"n":"运动","v":"19"},{"n":"西部","v":"20"},{"n":"灾难","v":"21"},{"n":"古装","v":"22"},{"n":"情色","v":"23"},{"n":"同性","v":"24"},{"n":"儿童","v":"25"},{"n":"纪录片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"0"},{"n":"大陆","v":"1"},{"n":"香港","v":"2"},{"n":"台湾","v":"3"},{"n":"美国","v":"4"},{"n":"日本","v":"5"},{"n":"韩国","v":"6"},{"n":"英国","v":"7"},{"n":"法国","v":"8"},{"n":"德国","v":"9"},{"n":"印度","v":"10"},{"n":"泰国","v":"11"},{"n":"丹麦","v":"12"},{"n":"瑞典","v":"13"},{"n":"巴西","v":"14"},{"n":"加拿大","v":"15"},{"n":"俄罗斯","v":"16"},{"n":"意大利","v":"17"},{"n":"比利时","v":"18"},{"n":"爱尔兰","v":"19"},{"n":"西班牙","v":"20"},{"n":"澳大利亚","v":"21"},{"n":"波兰","v":"22"},{"n":"土耳其","v":"23"},{"n":"越南","v":"24"}]}],
|
||||
"2":[{"key":"class","name":"类型","value":[{"n":"全部","v":"0"},{"n":"剧情","v":"1"},{"n":"喜剧","v":"2"},{"n":"惊悚","v":"3"},{"n":"动作","v":"4"},{"n":"爱情","v":"5"},{"n":"犯罪","v":"6"},{"n":"恐怖","v":"7"},{"n":"冒险","v":"8"},{"n":"悬疑","v":"9"},{"n":"科幻","v":"10"},{"n":"家庭","v":"11"},{"n":"奇幻","v":"12"},{"n":"动画","v":"13"},{"n":"战争","v":"14"},{"n":"历史","v":"15"},{"n":"传记","v":"16"},{"n":"音乐","v":"17"},{"n":"歌舞","v":"18"},{"n":"运动","v":"19"},{"n":"西部","v":"20"},{"n":"灾难","v":"21"},{"n":"古装","v":"22"},{"n":"情色","v":"23"},{"n":"同性","v":"24"},{"n":"儿童","v":"25"},{"n":"纪录片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"0"},{"n":"大陆","v":"1"},{"n":"香港","v":"2"},{"n":"台湾","v":"3"},{"n":"美国","v":"4"},{"n":"日本","v":"5"},{"n":"韩国","v":"6"},{"n":"英国","v":"7"},{"n":"法国","v":"8"},{"n":"德国","v":"9"},{"n":"印度","v":"10"},{"n":"泰国","v":"11"},{"n":"丹麦","v":"12"},{"n":"瑞典","v":"13"},{"n":"巴西","v":"14"},{"n":"加拿大","v":"15"},{"n":"俄罗斯","v":"16"},{"n":"意大利","v":"17"},{"n":"比利时","v":"18"},{"n":"爱尔兰","v":"19"},{"n":"西班牙","v":"20"},{"n":"澳大利亚","v":"21"},{"n":"波兰","v":"22"},{"n":"土耳其","v":"23"},{"n":"越南","v":"24"}]}]
|
||||
},
|
||||
searchUrl: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.cilixiong.com/e/search/index.php#classid=1,2&show=title&tempid=1&keyboard=**;post',
|
||||
searchable:0,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
headers:{
|
||||
'User-Agent': 'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'电影&剧集&豆瓣电影Top250&IMDB Top250&高分悬疑片&高分喜剧片&高分传记片&高分爱情片&高分犯罪片&高分恐怖片&高分冒险片&高分武侠片&高分奇幻片&高分历史片&高分战争片&高分歌舞片&高分灾难片&高分情色片&高分西部片&高分音乐片&高分科幻片&高分动作片&高分动画片&高分纪录片&冷门佳片',
|
||||
class_url:'1&2&/top250/&/s/imdbtop250/&/s/suspense/&/s/comedy/&/s/biopic/&/s/romance/&/s/crime/&/s/horror/&/s/adventure/&/s/martial/&/s/fantasy/&/s/history/&/s/war/&/s/musical/&/s/disaster/&/s/erotic/&/s/west/&/s/music/&/s/sci-fi/&/s/action/&/s/animation/&/s/documentary/&/s/unpopular/',
|
||||
play_parse:false,
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐: `js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
var d = [];
|
||||
var html = request(input);
|
||||
var list = pdfa(html, 'body&&.col');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'h2&&Text'),
|
||||
desc: pdfh(it, '.me-auto&&Text') + '分 / ' + pdfh(it, '.small&&Text'),
|
||||
pic_url: pd(it, '.card-img&&style')
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
一级: `js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
var d = [];
|
||||
if (MY_CATE !== '1' && MY_CATE !== '2') {
|
||||
let turl = (MY_PAGE === 1)? 'index' : 'index_'+ MY_PAGE;
|
||||
input = rule.homeUrl + MY_CATE + turl + '.html';
|
||||
}
|
||||
var html = request(input);
|
||||
var list = pdfa(html, 'body&&.col');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'h2&&Text'),
|
||||
desc: pdfh(it, '.me-auto&&Text') + '分 / ' + pdfh(it, '.small&&Text'),
|
||||
pic_url: pdfh(it, '.card-img&&style')
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
二级:'',
|
||||
搜索:'',
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
var rule = {
|
||||
title:'磁力熊[磁]',
|
||||
//host:'https://www.cilixiong.com',
|
||||
//homeUrl:'/',
|
||||
//url: '/fyclassfyfilter-(fypage-1).html',
|
||||
host:'http://127.0.0.1:10079',
|
||||
homeUrl:'/p/0/127.0.0.1:10072/https://www.cilixiong.com',
|
||||
url:'/p/0/127.0.0.1:10072/https://www.cilixiong.com/fyclassfyfilter-(fypage-1).html',
|
||||
filter_url:'-{{fl.class or "0"}}-{{fl.area or "0"}}',
|
||||
filter:{
|
||||
"1":[{"key":"class","name":"类型","value":[{"n":"全部","v":"0"},{"n":"剧情","v":"1"},{"n":"喜剧","v":"2"},{"n":"惊悚","v":"3"},{"n":"动作","v":"4"},{"n":"爱情","v":"5"},{"n":"犯罪","v":"6"},{"n":"恐怖","v":"7"},{"n":"冒险","v":"8"},{"n":"悬疑","v":"9"},{"n":"科幻","v":"10"},{"n":"家庭","v":"11"},{"n":"奇幻","v":"12"},{"n":"动画","v":"13"},{"n":"战争","v":"14"},{"n":"历史","v":"15"},{"n":"传记","v":"16"},{"n":"音乐","v":"17"},{"n":"歌舞","v":"18"},{"n":"运动","v":"19"},{"n":"西部","v":"20"},{"n":"灾难","v":"21"},{"n":"古装","v":"22"},{"n":"情色","v":"23"},{"n":"同性","v":"24"},{"n":"儿童","v":"25"},{"n":"纪录片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"0"},{"n":"大陆","v":"1"},{"n":"香港","v":"2"},{"n":"台湾","v":"3"},{"n":"美国","v":"4"},{"n":"日本","v":"5"},{"n":"韩国","v":"6"},{"n":"英国","v":"7"},{"n":"法国","v":"8"},{"n":"德国","v":"9"},{"n":"印度","v":"10"},{"n":"泰国","v":"11"},{"n":"丹麦","v":"12"},{"n":"瑞典","v":"13"},{"n":"巴西","v":"14"},{"n":"加拿大","v":"15"},{"n":"俄罗斯","v":"16"},{"n":"意大利","v":"17"},{"n":"比利时","v":"18"},{"n":"爱尔兰","v":"19"},{"n":"西班牙","v":"20"},{"n":"澳大利亚","v":"21"},{"n":"波兰","v":"22"},{"n":"土耳其","v":"23"},{"n":"越南","v":"24"}]}],
|
||||
"2":[{"key":"class","name":"类型","value":[{"n":"全部","v":"0"},{"n":"剧情","v":"1"},{"n":"喜剧","v":"2"},{"n":"惊悚","v":"3"},{"n":"动作","v":"4"},{"n":"爱情","v":"5"},{"n":"犯罪","v":"6"},{"n":"恐怖","v":"7"},{"n":"冒险","v":"8"},{"n":"悬疑","v":"9"},{"n":"科幻","v":"10"},{"n":"家庭","v":"11"},{"n":"奇幻","v":"12"},{"n":"动画","v":"13"},{"n":"战争","v":"14"},{"n":"历史","v":"15"},{"n":"传记","v":"16"},{"n":"音乐","v":"17"},{"n":"歌舞","v":"18"},{"n":"运动","v":"19"},{"n":"西部","v":"20"},{"n":"灾难","v":"21"},{"n":"古装","v":"22"},{"n":"情色","v":"23"},{"n":"同性","v":"24"},{"n":"儿童","v":"25"},{"n":"纪录片","v":"26"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"0"},{"n":"大陆","v":"1"},{"n":"香港","v":"2"},{"n":"台湾","v":"3"},{"n":"美国","v":"4"},{"n":"日本","v":"5"},{"n":"韩国","v":"6"},{"n":"英国","v":"7"},{"n":"法国","v":"8"},{"n":"德国","v":"9"},{"n":"印度","v":"10"},{"n":"泰国","v":"11"},{"n":"丹麦","v":"12"},{"n":"瑞典","v":"13"},{"n":"巴西","v":"14"},{"n":"加拿大","v":"15"},{"n":"俄罗斯","v":"16"},{"n":"意大利","v":"17"},{"n":"比利时","v":"18"},{"n":"爱尔兰","v":"19"},{"n":"西班牙","v":"20"},{"n":"澳大利亚","v":"21"},{"n":"波兰","v":"22"},{"n":"土耳其","v":"23"},{"n":"越南","v":"24"}]}]
|
||||
},
|
||||
searchUrl: '/p/0/127.0.0.1:10072/https://www.cilixiong.com/e/search/index.php#classid=1,2&show=title&tempid=1&keyboard=**;post',
|
||||
searchable:0,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
headers:{
|
||||
'User-Agent': 'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'电影&剧集&豆瓣电影Top250&IMDB Top250&高分悬疑片&高分喜剧片&高分传记片&高分爱情片&高分犯罪片&高分恐怖片&高分冒险片&高分武侠片&高分奇幻片&高分历史片&高分战争片&高分歌舞片&高分灾难片&高分情色片&高分西部片&高分音乐片&高分科幻片&高分动作片&高分动画片&高分纪录片&冷门佳片',
|
||||
class_url:'1&2&/top250/&/s/imdbtop250/&/s/suspense/&/s/comedy/&/s/biopic/&/s/romance/&/s/crime/&/s/horror/&/s/adventure/&/s/martial/&/s/fantasy/&/s/history/&/s/war/&/s/musical/&/s/disaster/&/s/erotic/&/s/west/&/s/music/&/s/sci-fi/&/s/action/&/s/animation/&/s/documentary/&/s/unpopular/',
|
||||
play_parse:false,
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐: `js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
var d = [];
|
||||
var html = request(input);
|
||||
var list = pdfa(html, 'body&&.col');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'h2&&Text'),
|
||||
desc: pdfh(it, '.me-auto&&Text') + '分 / ' + pdfh(it, '.small&&Text'),
|
||||
pic_url: pd(it, '.card-img&&style')
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
一级: `js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
var d = [];
|
||||
if (MY_CATE !== '1' && MY_CATE !== '2') {
|
||||
let turl = (MY_PAGE === 1)? 'index' : 'index_'+ MY_PAGE;
|
||||
input = rule.homeUrl + MY_CATE + turl + '.html';
|
||||
}
|
||||
var html = request(input);
|
||||
var list = pdfa(html, 'body&&.col');
|
||||
list.forEach(it => {
|
||||
d.push({
|
||||
title: pdfh(it, 'h2&&Text'),
|
||||
desc: pdfh(it, '.me-auto&&Text') + '分 / ' + pdfh(it, '.small&&Text'),
|
||||
pic_url: pdfh(it, '.card-img&&style')
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
二级:'',
|
||||
搜索:'',
|
||||
}
|
||||
|
|
@ -0,0 +1,593 @@
|
|||
{
|
||||
"ss": 1,
|
||||
"api_site": [
|
||||
{
|
||||
"name": "TV-电影天堂资源",
|
||||
"api": "http://caiji.dyttzyapi.com/api.php/provide/vod",
|
||||
"detail": "http://caiji.dyttzyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-量子资源",
|
||||
"api": "https://cj.lziapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-1080资源",
|
||||
"api": "https://api.1080zyku.com/inc/api_mac10.php",
|
||||
"detail": "https://api.1080zyku.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "AV-155资源",
|
||||
"api": "https://155api.com/api.php/provide/vod",
|
||||
"detail": "https://155api.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-360资源",
|
||||
"api": "https://360zy.com/api.php/provide/vod",
|
||||
"detail": "https://360zy.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-天涯资源",
|
||||
"api": "https://tyyszy.com/api.php/provide/vod",
|
||||
"detail": "https://tyyszy.com",
|
||||
"bz": "1",
|
||||
"paichu": "20,39,45,50"
|
||||
},
|
||||
{
|
||||
"name": "TV-暴风资源",
|
||||
"api": "https://bfzyapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-索尼-闪电资源",
|
||||
"api": "https://xsd.sdzyapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-索尼资源",
|
||||
"api": "https://suoniapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-红牛资源",
|
||||
"api": "https://www.hongniuzy2.com/api.php/provide/vod",
|
||||
"detail": "https://www.hongniuzy2.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-茅台资源",
|
||||
"api": "https://caiji.maotaizy.cc/api.php/provide/vod",
|
||||
"detail": "https://caiji.maotaizy.cc",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-虎牙资源",
|
||||
"api": "https://www.huyaapi.com/api.php/provide/vod",
|
||||
"detail": "https://www.huyaapi.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,17"
|
||||
},
|
||||
{
|
||||
"name": "TV-豆瓣资源",
|
||||
"api": "https://caiji.dbzy.tv/api.php/provide/vod",
|
||||
"detail": "https://caiji.dbzy.tv",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,42,51,52"
|
||||
},
|
||||
{
|
||||
"name": "TV-豆瓣资源2",
|
||||
"api": "https://dbzy.tv/api.php/provide/vod",
|
||||
"detail": "https://dbzy.tv",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,42,51,52"
|
||||
},
|
||||
{
|
||||
"name": "TV-豆瓣资源3",
|
||||
"api": "https://caiji.dbzy5.com/api.php/provide/vod/from/dbm3u8/at/josn",
|
||||
"detail": "https://dbzy.tv",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,42,51,52"
|
||||
},
|
||||
{
|
||||
"name": "TV-豪华资源",
|
||||
"api": "https://hhzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://hhzyapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,17,27"
|
||||
},
|
||||
{
|
||||
"name": "TV-CK资源",
|
||||
"api": "https://ckzy.me/api.php/provide/vod",
|
||||
"detail": "https://ckzy.me",
|
||||
"bz": "1",
|
||||
"paichu": "21,39"
|
||||
},
|
||||
{
|
||||
"name": "TV-U酷资源",
|
||||
"api": "https://api.ukuapi.com/api.php/provide/vod",
|
||||
"detail": "https://api.ukuapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-U酷资源2",
|
||||
"api": "https://api.ukuapi88.com/api.php/provide/vod",
|
||||
"detail": "https://api.ukuapi88.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-ikun资源",
|
||||
"api": "https://ikunzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://ikunzyapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-wujinapi无尽",
|
||||
"api": "https://api.wujinapi.cc/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4,5"
|
||||
},
|
||||
{
|
||||
"name": "TV-丫丫点播",
|
||||
"api": "https://cj.yayazy.net/api.php/provide/vod",
|
||||
"detail": "https://cj.yayazy.net",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-光速资源",
|
||||
"api": "https://api.guangsuapi.com/api.php/provide/vod",
|
||||
"detail": "https://api.guangsuapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-卧龙点播",
|
||||
"api": "https://collect.wolongzyw.com/api.php/provide/vod",
|
||||
"detail": "https://collect.wolongzyw.com",
|
||||
"bz": "1",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-卧龙资源",
|
||||
"api": "https://collect.wolongzy.cc/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-卧龙资源2",
|
||||
"api": "https://wolongzyw.com/api.php/provide/vod",
|
||||
"detail": "https://wolongzyw.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-新浪点播",
|
||||
"api": "https://api.xinlangapi.com/xinlangapi.php/provide/vod",
|
||||
"detail": "https://api.xinlangapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-无尽资源",
|
||||
"api": "https://api.wujinapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,5"
|
||||
},
|
||||
{
|
||||
"name": "TV-无尽资源2",
|
||||
"api": "https://api.wujinapi.me/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,5"
|
||||
},
|
||||
{
|
||||
"name": "TV-无尽资源3",
|
||||
"api": "https://api.wujinapi.net/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4,5"
|
||||
},
|
||||
{
|
||||
"name": "TV-旺旺短剧",
|
||||
"api": "https://wwzy.tv/api.php/provide/vod",
|
||||
"detail": "https://wwzy.tv",
|
||||
"bz": "1",
|
||||
"paichu": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18"
|
||||
},
|
||||
{
|
||||
"name": "TV-旺旺资源",
|
||||
"api": "https://api.wwzy.tv/api.php/provide/vod",
|
||||
"detail": "https://api.wwzy.tv",
|
||||
"bz": "1",
|
||||
"paichu": "2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18"
|
||||
},
|
||||
{
|
||||
"name": "TV-最大点播",
|
||||
"api": "http://zuidazy.me/api.php/provide/vod",
|
||||
"detail": "http://zuidazy.me",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-最大资源",
|
||||
"api": "https://api.zuidapi.com/api.php/provide/vod",
|
||||
"detail": "https://api.zuidapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-樱花资源",
|
||||
"api": "https://m3u8.apiyhzy.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4,5"
|
||||
},
|
||||
{
|
||||
"name": "TV-步步高资源",
|
||||
"api": "https://api.yparse.com/api/json",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-牛牛点播",
|
||||
"api": "https://api.niuniuzy.me/api.php/provide/vod",
|
||||
"detail": "https://api.niuniuzy.me",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "AV-gay资源",
|
||||
"api": "https://gayapi.com/api.php/provide/vod/at/json",
|
||||
"detail": "https://api.bwzyz.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-百度云资源",
|
||||
"api": "https://api.apibdzy.com/api.php/provide/vod",
|
||||
"detail": "https://api.apibdzy.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-神马云",
|
||||
"api": "https://api.1080zyku.com/inc/apijson.php/",
|
||||
"detail": "https://api.1080zyku.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-速博资源",
|
||||
"api": "https://subocaiji.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-金鹰点播",
|
||||
"api": "https://jinyingzy.com/api.php/provide/vod",
|
||||
"detail": "https://jinyingzy.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,17,27"
|
||||
},
|
||||
{
|
||||
"name": "TV-金鹰资源",
|
||||
"api": "https://jyzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://jyzyapi.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,17,27"
|
||||
},
|
||||
{
|
||||
"name": "TV-閃電资源",
|
||||
"api": "https://sdzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://sdzyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-非凡资源",
|
||||
"api": "https://cj.ffzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://cj.ffzyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-飘零资源",
|
||||
"api": "https://p2100.net/api.php/provide/vod",
|
||||
"detail": "https://p2100.net",
|
||||
"bz": "1",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-魔爪资源",
|
||||
"api": "https://mozhuazy.com/api.php/provide/vod",
|
||||
"detail": "https://mozhuazy.com",
|
||||
"bz": "1",
|
||||
"paichu": "1,25,34,40"
|
||||
},
|
||||
{
|
||||
"name": "TV-魔都动漫",
|
||||
"api": "https://caiji.moduapi.cc/api.php/provide/vod",
|
||||
"detail": "https://caiji.moduapi.cc",
|
||||
"bz": "1",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-魔都资源",
|
||||
"api": "https://www.mdzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://www.mdzyapi.com",
|
||||
"bz": "1",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-91麻豆",
|
||||
"api": "https://91md.me/api.php/provide/vod",
|
||||
"detail": "https://91md.me",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-AIvin",
|
||||
"api": "http://lbapiby.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-JKUN资源",
|
||||
"api": "https://jkunzyapi.com/api.php/provide/vod",
|
||||
"detail": "https://jkunzyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-souav资源",
|
||||
"api": "https://api.souavzy.vip/api.php/provide/vod",
|
||||
"detail": "https://api.souavzy.vip",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-乐播资源",
|
||||
"api": "https://lbapi9.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-奥斯卡资源",
|
||||
"api": "https://aosikazy.com/api.php/provide/vod",
|
||||
"detail": "https://aosikazy.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-奶香香",
|
||||
"api": "https://Naixxzy.com/api.php/provide/vod",
|
||||
"detail": "https://Naixxzy.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-森林资源",
|
||||
"api": "https://slapibf.com/api.php/provide/vod",
|
||||
"detail": "https://slapibf.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-淫水机资源",
|
||||
"api": "https://www.xrbsp.com/api/json.php",
|
||||
"detail": "https://www.xrbsp.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-玉兔资源",
|
||||
"api": "https://apiyutu.com/api.php/provide/vod",
|
||||
"detail": "https://apiyutu.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-番号资源",
|
||||
"api": "http://fhapi9.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-白嫖资源",
|
||||
"api": "https://www.kxgav.com/api/json.php",
|
||||
"detail": "https://www.kxgav.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-精品资源",
|
||||
"api": "https://www.jingpinx.com/api.php/provide/vod",
|
||||
"detail": "https://www.jingpinx.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-美少女资源",
|
||||
"api": "https://www.msnii.com/api/json.php",
|
||||
"detail": "https://www.msnii.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-老色逼资源",
|
||||
"api": "https://apilsbzy1.com/api.php/provide/vod",
|
||||
"detail": "https://apilsbzy1.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-色南国",
|
||||
"api": "https://api.sexnguon.com/api.php/provide/vod",
|
||||
"detail": "https://api.sexnguon.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-色猫资源",
|
||||
"api": "https://api.maozyapi.com/inc/apijson_vod.php",
|
||||
"detail": "https://api.maozyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-辣椒资源",
|
||||
"api": "https://apilj.com/api.php/provide/vod",
|
||||
"detail": "https://apilj.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-香奶儿资源",
|
||||
"api": "https://www.gdlsp.com/api/json.php",
|
||||
"detail": "https://www.gdlsp.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-鲨鱼资源",
|
||||
"api": "https://shayuapi.com/api.php/provide/vod",
|
||||
"detail": "https://shayuapi.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "AV-黄AV资源",
|
||||
"api": "https://www.pgxdy.com/api/json.php",
|
||||
"detail": "https://www.pgxdy.com",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-极速资源",
|
||||
"api": "https://jszyapi.com/api.php/provide/vod",
|
||||
"detail": "https://jszyapi.com",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,17,27"
|
||||
},
|
||||
{
|
||||
"name": "TV-魔爪资源",
|
||||
"api": "https://mozhuazy.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,25,34,40"
|
||||
},
|
||||
{
|
||||
"name": "TV-魔都资源",
|
||||
"api": "https://www.mdzyapi.com/api.php/provide/vod",
|
||||
"bz": "0",
|
||||
"detail": "",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "杏吧资源",
|
||||
"api": "https://xingba111.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-量子资源",
|
||||
"api": "https://cj.lziapi.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "森林资源",
|
||||
"api": "https://slapibf.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-红牛资源",
|
||||
"api": "https://www.hongniuzy3.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2"
|
||||
},
|
||||
{
|
||||
"name": "TV-鸭鸭资源",
|
||||
"api": "https://cj.yayazy.net/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2,3,4"
|
||||
},
|
||||
{
|
||||
"name": "TV-海洋资源",
|
||||
"api": "http://www.seacms.org/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "黄色资源啊啊",
|
||||
"api": "https://hsckzy888.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "小鸡资源",
|
||||
"api": "https://api.xiaojizy.live/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "TV-新浪资源阿",
|
||||
"api": "https://api.xinlangapi.com/xinlangapi.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": "1,2"
|
||||
},
|
||||
{
|
||||
"name": "辣椒资源黄黄",
|
||||
"api": "https://apilj.com/api.php/provide",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
},
|
||||
{
|
||||
"name": "细胞采集黄色",
|
||||
"api": "https://www.xxibaozyw.com/api.php/provide/vod",
|
||||
"detail": "",
|
||||
"bz": "0",
|
||||
"paichu": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
var lists = `js:
|
||||
log(TABS);
|
||||
let d = [];
|
||||
pdfh = jsp.pdfh;
|
||||
pdfa = jsp.pdfa;
|
||||
if (typeof play_url === "undefined") {
|
||||
var play_url = ""
|
||||
}
|
||||
|
||||
function getLists(html)
|
||||
{
|
||||
let src = pdfh(html, ".wp-playlist-script&&Html");
|
||||
src = JSON.parse(src).tracks;
|
||||
let list1 = [];
|
||||
let list2 = [];
|
||||
let url1 = "";
|
||||
let url2 = "";
|
||||
src.forEach(function(it) {
|
||||
let src0 = it.src0;
|
||||
let src1 = it.src1;
|
||||
let title = it.caption;
|
||||
url1 = "https://v.ddys.pro" + src0;
|
||||
url2 = "https://ddys.pro/getvddr2/video?id=" + src1 + "&type=mix";
|
||||
let zm = "https://ddys.pro/subddr/" + it.subsrc;
|
||||
list1.push({
|
||||
title: title,
|
||||
url: url1,
|
||||
desc: zm
|
||||
});
|
||||
list2.push({
|
||||
title: title,
|
||||
url: url2,
|
||||
desc: zm
|
||||
})
|
||||
});
|
||||
return {
|
||||
list1: list1,
|
||||
list2: list2
|
||||
}
|
||||
}
|
||||
var data = getLists(html);
|
||||
var list1 = data.list1;
|
||||
var list2 = data.list2;
|
||||
let nums = pdfa(html, "body&&.post-page-numbers");
|
||||
nums.forEach
|
||||
(function(it)
|
||||
{
|
||||
let num = pdfh(it, "body&&Text");
|
||||
log(num);
|
||||
let nurl = input + num + "/";
|
||||
if (num == 1) {
|
||||
return
|
||||
}
|
||||
log(nurl);
|
||||
let html = request(nurl);
|
||||
let data = getLists(html);
|
||||
list1 = list1.concat(data.list1);
|
||||
list2 = list2.concat(data.list2)
|
||||
});
|
||||
|
||||
|
||||
list1 = list1.map(function(item) {
|
||||
return item.title + "$" + play_url + urlencode(item.url + "|" + input + "|" + item.desc)
|
||||
});
|
||||
list2 = list2.map(function(item) {
|
||||
return item.title + "$" + play_url + urlencode(item.url + "|" + input + "|" + item.desc)
|
||||
});
|
||||
LISTS=[];
|
||||
let dd = pdfa(html, 'div.wp-playlist~a');
|
||||
dd.forEach(function(it){
|
||||
let burl = pd(it, 'a&&href', HOST);
|
||||
if (/(pan.quark.cn|www.aliyundrive.com|www.alipan.com)/.test(burl)){
|
||||
let type="ali";
|
||||
if (burl.includes("www.aliyundrive.com") || burl.includes("www.alipan.com")){
|
||||
type = "ali";
|
||||
}else if (burl.includes("pan.quark.cn")){
|
||||
type = "quark";
|
||||
}
|
||||
LISTS.push([burl+ '$' + play_url + urlencode('http://127.0.0.1:9978/proxy?do='+type+'&type=push&url='+encodeURIComponent(burl)) + '||']);
|
||||
}
|
||||
});
|
||||
LISTS = LISTS.concat([list1, list2]);
|
||||
`;
|
||||
|
||||
var lazy = `js:
|
||||
let purl = input.split("|")[0];
|
||||
let referer = input.split("|")[1];
|
||||
let zm = input.split("|")[2];
|
||||
print("purl:" + purl);
|
||||
print("referer:" + referer);
|
||||
print("zm:" + zm);
|
||||
if (/getvddr/.test(purl)) {
|
||||
let html = request(purl, {
|
||||
headers: {
|
||||
Referer: HOST,
|
||||
"User-Agent": MOBILE_UA
|
||||
}
|
||||
});
|
||||
print(html);
|
||||
try {
|
||||
input = {jx:0,url:JSON.parse(html).url,parse:0} || {}
|
||||
} catch (e) {
|
||||
input = purl
|
||||
}
|
||||
} else {
|
||||
input = {
|
||||
jx: 0,
|
||||
url: purl,
|
||||
parse: 0,
|
||||
header: JSON.stringify({
|
||||
'user-agent': MOBILE_UA,
|
||||
'referer': HOST
|
||||
})
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
// 网址发布页 https://ddys.site
|
||||
// 网址发布页 https://ddys.wiki
|
||||
var rule={
|
||||
title:'ddys',
|
||||
// host:'https://ddys.wiki',
|
||||
// hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":MOBILE_UA}});HOST = jsp.pdfh(html,"a:eq(1)&&href")',
|
||||
host:'https://ddys.pro',
|
||||
// host:'https://ddys.mov',
|
||||
url:'/fyclass/page/fypage/',
|
||||
searchUrl:'/?s=**&post_type=post',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent':'MOBILE_UA',
|
||||
},
|
||||
class_parse:'#primary-menu li.menu-item;a&&Text;a&&href;\.pro/(.*)',
|
||||
cate_exclude:'站长|^其他$|关于|^电影$|^剧集$|^类型$',
|
||||
play_parse:true,
|
||||
// lazy:'js:let purl=input.split("|")[0];let referer=input.split("|")[1];let zm=input.split("|")[2];print("purl:"+purl);print("referer:"+referer);print("zm:"+zm);let myua="okhttp/3.15";if(/ddrkey/.test(purl)){let ret=request(purl,{Referer:referer,withHeaders:true,"User-Agent":myua});log(ret);input=purl}else{let html=request(purl,{headers:{Referer:referer,"User-Agent":myua}});print(html);try{input=JSON.parse(html).url||{}}catch(e){input=purl}}',
|
||||
lazy:lazy,
|
||||
limit:6,
|
||||
推荐:'*',
|
||||
double:true, // 推荐内容是否双层定位
|
||||
一级:'.post-box-list&&article;a:eq(-1)&&Text;.post-box-image&&style;a:eq(0)&&Text;a:eq(-1)&&href',
|
||||
二级:{
|
||||
"title":".post-title&&Text;.cat-links&&Text",
|
||||
"img":".doulist-item&&img&&data-cfsrc",
|
||||
"desc":".published&&Text",
|
||||
"content":".abstract&&Text",
|
||||
"tabs":`js:
|
||||
TABS=[];
|
||||
let d = pdfa(html, 'div.wp-playlist~a');
|
||||
let tabsq=[];
|
||||
d.forEach(function(it){
|
||||
let burl = pd(it, 'a&&href', HOST);
|
||||
if (burl.includes("pan.quark.cn")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.includes("www.aliyundrive.com") || burl.includes("www.alipan.com")){
|
||||
tabsq.push("阿里雲盤");
|
||||
}
|
||||
});
|
||||
if (tabsq.length == 1){
|
||||
TABS=TABS.concat(tabsq);
|
||||
}else{
|
||||
let tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it+tmpIndex);
|
||||
tmpIndex++;
|
||||
});
|
||||
}
|
||||
TABS=TABS.concat(['国内(改Exo播放器)','国内2']);
|
||||
`,
|
||||
"lists":lists
|
||||
},
|
||||
搜索:'#main&&article;.post-title&&Text;;.published&&Text;a&&href'
|
||||
}
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
var rule = {
|
||||
title: 'dydhhy',
|
||||
host: 'http://www.dydhhy.com',
|
||||
homeUrl: '/',
|
||||
url: '/tag/fyclass/page/fypage?',
|
||||
filter_url: '{{fl.class}}',
|
||||
filter: {},
|
||||
searchUrl: '/?s=**',
|
||||
searchable: 2,
|
||||
quickSearch: 1,
|
||||
filterable: 0,
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
'Cookie': ''
|
||||
},
|
||||
timeout: 5000,
|
||||
class_name: '电视剧&电影&美剧&韩剧&日剧&英剧&2023&2022&2021',
|
||||
class_url: 'tv&movie&美剧&韩剧&日剧&英剧&2023&2022&2021',
|
||||
play_parse: true,
|
||||
play_json: [{
|
||||
re: '*',
|
||||
json: {
|
||||
parse: 0,
|
||||
jx: 0
|
||||
}
|
||||
}],
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: 'div.clear:gt(1):has(img);.entry-title&&Text;img&&src;;a&&href',
|
||||
一级: 'div.clear:gt(1):has(img);.entry-title&&Text;img&&src;;a&&href',
|
||||
二级: {
|
||||
title: ".single-excerpt&&Text",
|
||||
img: "img&&src",
|
||||
desc: ".entry-date&&Text",
|
||||
content: "p&&Text",
|
||||
tabs: `js: pdfh = jsp.pdfh;
|
||||
pdfa = jsp.pdfa;
|
||||
pd = jsp.pd;
|
||||
TABS=[]
|
||||
let d = pdfa(html, 'fieldset p a');
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
if (false && tabsa.length + tabsq.length > 1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
log('xzys TABS >>>>>>>>>>>>>>>>>>' + TABS);`,
|
||||
lists: `js: log(TABS);
|
||||
pdfh = jsp.pdfh;
|
||||
pdfa = jsp.pdfa;
|
||||
pd = jsp.pd;
|
||||
LISTS = [];
|
||||
let d = pdfa(html, 'fieldset p a');
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = "push://" + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = "push://" + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
if (false && lista.length + listq.length > 1){
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
|
||||
});`,
|
||||
|
||||
}, 搜索: 'div.clear:gt(0):has(img);img&&alt;img&&data-src;;a&&href',
|
||||
}
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
var rule = {
|
||||
title:'电影港[磁]',
|
||||
编码:'gb2312',
|
||||
搜索编码:'gb2312',
|
||||
host:'https://www.dygang.tv',
|
||||
homeUrl:'/',
|
||||
url: '/fyclass/index_fypage.htm?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/e/search/index123.php#tempid=1&tbname=article&keyborad=**&show=title%2Csmalltext&Submit=%CB%D1%CB%F7;post',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
'Referer': 'https://www.dygang.tv/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'最新电影&经典高清&国配电影&经典港片&国剧&日韩剧&美剧&综艺&动漫&纪录片&高清原盘&4K高清区&3D电影&电影专题',
|
||||
class_url:'ys&bd&gy&gp&dsj&dsj1&yx&zy&dmq&jilupian&1080p&4K&3d&dyzt',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'div#tl tr:has(>td>table.border1>tbody>tr>td>a>img);table.border1 img&&alt;table.border1 img&&src;table:eq(2)&&Text;a&&href',
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let turl = (MY_PAGE === 1)? '/' : '/index_'+ MY_PAGE + '.htm';
|
||||
input = rule.homeUrl + MY_CATE + turl;
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'tr:has(>td>table.border1)');
|
||||
list.forEach(it => {
|
||||
let title = pdfh(it, 'table.border1 img&&alt');
|
||||
if (title!==""){
|
||||
d.push({
|
||||
title: title,
|
||||
desc: pdfh(it, 'table:eq(1)&&Text'),
|
||||
pic_url: pd(it, 'table.border1 img&&src', HOST),
|
||||
url: pdfh(it, 'a&&href')
|
||||
});
|
||||
}
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"div.title a&&Text",
|
||||
img:"#dede_content img&&src",
|
||||
desc:"#dede_content&&Text",
|
||||
content:"#dede_content&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let d = pdfa(html, '#dede_content table tbody tr');
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
let tabm3u8 = [];
|
||||
d.forEach(function(it) {
|
||||
let burl = pd(it, 'a&&href',HOST);
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/"){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (false){
|
||||
d = pdfa(html, 'div:has(>div#post_content) div.widget:has(>h3)');
|
||||
d.forEach(function(it) {
|
||||
tabm3u8.push(pdfh(it, 'h3&&Text'));
|
||||
});
|
||||
}
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
if (false && tabsa.length + tabsq.length > 1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tabm3u8.forEach(function(it){
|
||||
TABS.push(it);
|
||||
});
|
||||
log('dygang TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let d = pdfa(html, '#dede_content table tbody tr');
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
let listm3u8 = {};
|
||||
d.forEach(function(it){
|
||||
let burl = pd(it, 'a&&href',HOST);
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/"){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
for ( const key in listm3u8 ){
|
||||
if (listm3u8.hasOwnProperty(key)){
|
||||
LISTS.push(listm3u8[key]);
|
||||
}
|
||||
};
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let params = 'tempid=1&tbname=article&keyboard=' + KEY + '&show=title%2Csmalltext&Submit=%CB%D1%CB%F7';
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let postData = {
|
||||
method: "POST",
|
||||
body: params
|
||||
};
|
||||
delete(_fetch_params.headers['Content-Type']);
|
||||
Object.assign(_fetch_params, postData);
|
||||
log("dygang search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let search_html = request( HOST + '/e/search/index123.php', _fetch_params, true);
|
||||
//log("dygang search result>>>>>>>>>>>>>>>" + search_html);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'table.border1');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'img&&alt');
|
||||
if (searchObj.quick === true){
|
||||
if (false && title.includes(KEY)){
|
||||
title = KEY;
|
||||
}
|
||||
}
|
||||
let img = pd(it, 'img&&src', HOST);
|
||||
let content = pdfh(it, 'img&&alt');
|
||||
let desc = pdfh(it, 'img&&alt');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,639 @@
|
|||
{
|
||||
"spider": "./fty.jar;md5;1bb88ce368642e615b1c4ff388501e51",
|
||||
"wallpaper": "https://深色壁纸.xxooo.cf/",
|
||||
"sites": [
|
||||
{
|
||||
"key": "豆",
|
||||
"name": "修复哔哔 看球【神秘的哥哥们】",
|
||||
"type": 3,
|
||||
"api": "csp_DouDouGuard",
|
||||
"indexs": 1,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "玩偶",
|
||||
"name": "👽玩偶哥哥┃4K弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_WoGGGuard",
|
||||
"timeout": 30,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto",
|
||||
"siteUrl": "https://www.wogg.com/",
|
||||
"danMu": "弹"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "YGP",
|
||||
"name": "🚀叨观荐影┃预告片",
|
||||
"type": 3,
|
||||
"api": "csp_YGPGuard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "alllive",
|
||||
"name": "📽️一直播┃直播",
|
||||
"type": 3,
|
||||
"api": "csp_AllliveGuard",
|
||||
"playerType": 2,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "seed",
|
||||
"name": "💡聚剧剧┃三盘",
|
||||
"type": 3,
|
||||
"api": "csp_SeedhubGuard",
|
||||
"changeable": 0,
|
||||
"ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"indexs": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "文采",
|
||||
"name": "💮文采┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_JpysGuard",
|
||||
"timeout": 15,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "厂长",
|
||||
"name": "📔厂长┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_NewCzGuard",
|
||||
"timeout": 15,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "红豆",
|
||||
"name": "🍊红豆┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_AppYsV2Guard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "rfOK0+FRORAJ7epFjN2F+b62oTbKnNv+zj89eMviFBcbfFEe8jYhqrVuJPhQwYVw6DaRbsAFhCg06UF4EfNqSore66yYRm2oWbjVjKP+Vyo="
|
||||
},
|
||||
{
|
||||
"key": "糯米",
|
||||
"name": "🍓糯米┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_NmyswvGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "比特",
|
||||
"name": "🍄比特┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_BttwooGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "立播",
|
||||
"name": "🌟立播┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_LibvioGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "原创",
|
||||
"name": "☀原创┃不卡",
|
||||
"type": 3,
|
||||
"api": "csp_YCyzGuard",
|
||||
"timeout": 30,
|
||||
"playerType": 1,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "苹果",
|
||||
"name": "🍎苹果┃不卡",
|
||||
"type": 3,
|
||||
"api": "csp_LiteAppleGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "欢视",
|
||||
"name": "👓欢视┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppTTGuard",
|
||||
"timeout": 15,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "uqGL1bNENExT9fFAy5mE5qU="
|
||||
},
|
||||
{
|
||||
"key": "热播",
|
||||
"name": "📺热播┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppTTGuard",
|
||||
"timeout": 15,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "uqGL1bNENExT7/hGxpSE5qU="
|
||||
},
|
||||
{
|
||||
"key": "剧九",
|
||||
"name": "👀剧九┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppYsV2Guard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": "rfOK0+FRORAJ7epFjN2F+LmhvGnF29fnxik8eJC3AAlFJl8e/Co3qKR3f7pI2cY5ozXZZ9dHjiJz7Ht9P/01UpTYurKeSnahWreewemiQ2fux0BkNEtR69ypVhP1Muo4YsZTow4IKQzyEtbS42eHS9QK"
|
||||
},
|
||||
{
|
||||
"key": "下饭",
|
||||
"name": "🍙下饭┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppYsV2Guard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": "rfOK0+FRORAJ7epFjN2F+Lm9o2nF28P91TA4dIy3AAlFJl8e/Co3qKR3f7pI2cY5ozXZZ9dHjiJz7Ht9P/01UpTYurKeSnahWreewemiQ2fux0BkNEtR69ypVhP1Muo4YsZTow4IKQzyEtbS42eHS9QK"
|
||||
},
|
||||
{
|
||||
"key": "低端",
|
||||
"name": "⏮️低端┃外剧",
|
||||
"type": 3,
|
||||
"api": "csp_DdrkGuard",
|
||||
"timeout": 15,
|
||||
"playerType": "2",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "奥特",
|
||||
"name": "🏝奥特┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AueteGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "https://auete.com/"
|
||||
},
|
||||
{
|
||||
"key": "荐片",
|
||||
"name": "🐭荐片┃P2P",
|
||||
"type": 3,
|
||||
"api": "csp_JPJGuard",
|
||||
"timeout": 15,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "新6V",
|
||||
"name": "🧲新6V┃磁力",
|
||||
"type": 3,
|
||||
"api": "csp_SixVGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": "https://www.xb6v.com/"
|
||||
},
|
||||
{
|
||||
"key": "Dm84",
|
||||
"name": "🚌巴士┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_Dm84Guard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "Ysj",
|
||||
"name": "🎀异界┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_YsjGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "Anime1",
|
||||
"name": "🐾日本┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_Anime1Guard",
|
||||
"timeout": 15,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
},
|
||||
{
|
||||
"key": "超全",
|
||||
"name": "⚽超全┃看球",
|
||||
"type": 3,
|
||||
"api": "csp_ZbzGuard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
},
|
||||
"ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q=="
|
||||
},
|
||||
{
|
||||
"key": "88",
|
||||
"name": "⚽88┃看球",
|
||||
"type": 3,
|
||||
"api": "csp_Sir88Guard",
|
||||
"timeout": 15,
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "看球",
|
||||
"name": "⚽手机┃看球",
|
||||
"type": 3,
|
||||
"api": "csp_KanqiuGuard",
|
||||
"timeout": 15,
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "MTV",
|
||||
"name": "🎧明星┃MV",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-861684-ccfca7b2c24d4857a9dcf1e51798109e.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "虎牙直播js",
|
||||
"name": "🐯虎牙┃直播",
|
||||
"type": 3,
|
||||
"api": "./lib/drpy2.js",
|
||||
"ext": "./lib/huya2.js",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.755
|
||||
},
|
||||
"timeout": 15,
|
||||
"playerType": "2",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "斗鱼js",
|
||||
"name": "🐟斗鱼┃直播",
|
||||
"type": 3,
|
||||
"api": "./lib/drpy2.min.js",
|
||||
"ext": "./lib/斗鱼直播.js",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.755
|
||||
},
|
||||
"timeout": 15,
|
||||
"playerType": "2",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "有声小说",
|
||||
"name": "🎧有声┃小说",
|
||||
"type": 3,
|
||||
"api": "csp_Tingshu275Guard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "Aid",
|
||||
"name": "🚑急救┃教学",
|
||||
"type": 3,
|
||||
"api": "csp_FirstAidGuard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 3.8
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "抠搜",
|
||||
"name": "🍄抠抠┃搜搜",
|
||||
"type": 3,
|
||||
"api": "csp_KkSsGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "UC",
|
||||
"name": "🌈优汐┃搜搜",
|
||||
"type": 3,
|
||||
"api": "csp_UuSsGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "YpanSo",
|
||||
"name": "🐟盘她┃三盘",
|
||||
"type": 3,
|
||||
"api": "csp_YpanSoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "xzso",
|
||||
"name": "👻盘它┃三盘",
|
||||
"type": 3,
|
||||
"api": "csp_XzsoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "米搜",
|
||||
"name": "🦋米搜┃夸父",
|
||||
"type": 3,
|
||||
"api": "csp_MIPanSoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "夸搜",
|
||||
"name": "😻夸搜┃夸父",
|
||||
"type": 3,
|
||||
"api": "csp_PanSearchGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"pan": "quark",
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "Aliso",
|
||||
"name": "🙀盘搜┃阿狸",
|
||||
"type": 3,
|
||||
"api": "csp_PanSearchGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "YiSo",
|
||||
"name": "😹易搜┃阿狸",
|
||||
"type": 3,
|
||||
"api": "csp_YiSoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "push_agent",
|
||||
"name": "🛴手机┃推送",
|
||||
"type": 3,
|
||||
"api": "csp_PushGuard",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "Bili",
|
||||
"name": "🅱哔哔合集┃弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-438811-ee1bf539a68c4aa696de6280903c8a9a.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "Biliych",
|
||||
"name": "🅱哔哔演唱会┃弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-343950-58e67f4fabd947228c2fc158489008c9.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "dr_兔小贝",
|
||||
"name": "📚儿童┃启蒙",
|
||||
"type": 3,
|
||||
"api": "./lib/drpy2.min.js",
|
||||
"ext": "./lib/兔小贝.js",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
},
|
||||
{
|
||||
"key": "少儿教育",
|
||||
"name": "📚少儿┃教育",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-675236-05edd84dd04d48f0b394a11d0a6098f6.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "小学课堂",
|
||||
"name": "📚小学┃课堂",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-417036-ab02e4b2c6494f69a83e84dbe371ff82.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "初中课堂",
|
||||
"name": "📚初中┃课堂",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-368432-c7a7bcfa51154bf9bdb98888d3f26000.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "高中教育",
|
||||
"name": "📚高中┃课堂",
|
||||
"type": 3,
|
||||
"api": "csp_BiliGuard",
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./lib/20250818-691234-03d78c46fc2f458d81b895121c27d088.json"
|
||||
}
|
||||
}
|
||||
],
|
||||
"logo": "https://cdn.wmpvp.com/steamWeb/B96F868DE45B45D690B5F9F490D0BC60-1745866248445.gif",
|
||||
"lives": [
|
||||
{
|
||||
"name": "V4-mursor(卡顿请换源)",
|
||||
"type": 0,
|
||||
"url": "./lib/iptv.m3u",
|
||||
"playerType": 2,
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://11.112114.xyz/logo/{name}.png",
|
||||
"ua": "okHttp/Mod-1.2.0.1"
|
||||
},
|
||||
{
|
||||
"name": "V6-范明明(需开启V6网络)",
|
||||
"type": 0,
|
||||
"url": "./lib/20250425-868403-298462cec53c48439a5765ceaca3c67f.m3u",
|
||||
"playerType": 2,
|
||||
"logo": "https://11.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "牛播一",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:9978/proxy?do=饭太硬&type=liveList",
|
||||
"playerType": 2,
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://11.112114.xyz/logo/{name}.png"
|
||||
},
|
||||
{
|
||||
"name": "平台直播",
|
||||
"type": 0,
|
||||
"url": "http://tv.iill.top/m3u/Live",
|
||||
"ua": "okhttp/3.15",
|
||||
"playerType": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
#EXTM3U x-tvg-url="https://live.fanmingming.cn/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"
|
||||
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" group-title="央视频道",CCTV1
|
||||
http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" group-title="央视频道",CCTV2
|
||||
http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV3
|
||||
http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV4
|
||||
http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV5
|
||||
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" group-title="央视频道",CCTV6
|
||||
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" group-title="央视频道",CCTV7
|
||||
http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" group-title="央视频道",CCTV8
|
||||
http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.cn/tv/CCTV9.png" group-title="央视频道",CCTV9
|
||||
http://iptv.huuc.edu.cn/hls/cctv9hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" group-title="央视频道",CCTV10
|
||||
http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11
|
||||
http://iptv.huuc.edu.cn/hls/cctv11hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" group-title="央视频道",CCTV12
|
||||
http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13
|
||||
http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" group-title="央视频道",CCTV14
|
||||
http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN
|
||||
http://iptv.huuc.edu.cn/hls/cgtnhd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视
|
||||
http://iptv.huuc.edu.cn/hls/btv1hd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="卫视频道",北京文艺
|
||||
http://iptv.huuc.edu.cn/hls/btv2hd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京体育" tvg-logo="https://live.fanmingming.cn/tv/北京体育.png" group-title="卫视频道",北京体育
|
||||
http://iptv.huuc.edu.cn/hls/btv6hd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="卫视频道",北京影视
|
||||
http://iptv.huuc.edu.cn/hls/btv4hd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="卫视频道",北京新闻
|
||||
http://iptv.huuc.edu.cn/hls/btv9hd.m3u8
|
||||
#EXTINF:-1 tvg-name="北京纪实" tvg-logo="https://live.fanmingming.cn/tv/北京纪实.png" group-title="卫视频道",北京纪实
|
||||
http://iptv.huuc.edu.cn/hls/btv11hd.m3u8
|
||||
#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" group-title="卫视频道",湖南卫视
|
||||
http://iptv.huuc.edu.cn/hls/hunanhd.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" group-title="卫视频道",浙江卫视
|
||||
http://iptv.huuc.edu.cn/hls/zjhd.m3u8
|
||||
#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" group-title="卫视频道",江苏卫视
|
||||
http://iptv.huuc.edu.cn/hls/jshd.m3u8
|
||||
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视
|
||||
http://iptv.huuc.edu.cn/hls/dfhd.m3u8
|
||||
#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" group-title="卫视频道",安徽卫视
|
||||
http://iptv.huuc.edu.cn/hls/ahhd.m3u8
|
||||
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
|
||||
http://iptv.huuc.edu.cn/hls/hljhd.m3u8
|
||||
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
|
||||
http://iptv.huuc.edu.cn/hls/lnhd.m3u8
|
||||
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
|
||||
http://iptv.huuc.edu.cn/hls/szhd.m3u8
|
||||
#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.cn/tv/广东卫视.png" group-title="卫视频道",广东卫视
|
||||
http://iptv.huuc.edu.cn/hls/gdhd.m3u8
|
||||
#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.cn/tv/天津卫视.png" group-title="卫视频道",天津卫视
|
||||
http://iptv.huuc.edu.cn/hls/tjhd.m3u8
|
||||
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
|
||||
http://iptv.huuc.edu.cn/hls/hbhd.m3u8
|
||||
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视
|
||||
http://iptv.huuc.edu.cn/hls/sdhd.m3u8
|
||||
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
|
||||
http://iptv.huuc.edu.cn/hls/cqhd.m3u8
|
||||
#EXTINF:-1 tvg-name="上海纪实" tvg-logo="https://live.fanmingming.cn/tv/上海纪实.png" group-title="卫视频道",上海纪实
|
||||
http://iptv.huuc.edu.cn/hls/docuchina.m3u8
|
||||
#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" group-title="卫视频道",四川卫视
|
||||
http://iptv.huuc.edu.cn/hls/schd.m3u8
|
||||
#EXTINF:-1 tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.cn/tv/金鹰纪实.png" group-title="卫视频道",金鹰纪实
|
||||
http://iptv.huuc.edu.cn/hls/gedocu.m3u8
|
||||
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视
|
||||
http://iptv.huuc.edu.cn/hls/dnhd.m3u8
|
||||
#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.cn/tv/河北卫视.png" group-title="卫视频道",河北卫视
|
||||
http://iptv.huuc.edu.cn/hls/hebhd.m3u8
|
||||
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视
|
||||
http://iptv.huuc.edu.cn/hls/jxhd.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-name="浙江公共新闻" tvg-logo="https://live.fanmingming.cn/tv/浙江新闻.png" group-title="浙江频道",浙江新闻
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江国际" tvg-logo="https://live.fanmingming.cn/tv/浙江国际.png" group-title="浙江频道",浙江国际
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江少儿" tvg-logo="https://live.fanmingming.cn/tv/浙江少儿.png" group-title="浙江频道",浙江少儿
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江教科影视" tvg-logo="https://live.fanmingming.cn/tv/浙江教科影视.png" group-title="浙江频道",浙江教科
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="之江纪录" tvg-logo="https://live.fanmingming.cn/tv/之江纪录.png" group-title="浙江频道",之江纪录
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江民生休闲" tvg-logo="https://live.fanmingming.cn/tv/浙江民生休闲.png" group-title="浙江频道",浙江民生
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江经视" tvg-logo="https://live.fanmingming.cn/tv/浙江经济生活.png" group-title="浙江频道",浙江经济
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="浙江钱江都市" tvg-logo="https://live.fanmingming.cn/tv/钱江都市.png" group-title="浙江频道",浙江钱江
|
||||
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
||||
#EXTINF:-1 tvg-name="内蒙古综合" tvg-logo="https://live.fanmingming.cn/tv/内蒙古新闻综合.png" group-title="内蒙频道",内蒙新闻
|
||||
https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="内蒙古经济生活" tvg-logo="https://live.fanmingming.cn/tv/内蒙古经济生活.png" group-title="内蒙频道",内蒙经济
|
||||
https://livestream-bt.nmtv.cn/nmtv/2317general.m3u8?txSecret=112b2c4c872de52b0f37aff6ead63ef0&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="内蒙古少儿" tvg-logo="https://live.fanmingming.cn/tv/内蒙古少儿.png" group-title="内蒙频道",内蒙少儿
|
||||
https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="内蒙古文体娱乐" tvg-logo="https://live.fanmingming.cn/tv/内蒙古文体娱乐.png" group-title="内蒙频道",内蒙文体
|
||||
https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="内蒙古农牧" tvg-logo="https://live.fanmingming.cn/tv/内蒙古农牧.png" group-title="内蒙频道",内蒙农牧
|
||||
https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="内蒙古蒙语卫视" tvg-logo="https://live.fanmingming.cn/tv/内蒙古蒙语卫视.png" group-title="内蒙频道",蒙语卫视
|
||||
https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880
|
||||
#EXTINF:-1 tvg-name="内蒙古蒙语文化" tvg-logo="https://live.fanmingming.cn/tv/内蒙古蒙语文化.png" group-title="内蒙频道",蒙语文化
|
||||
https://livestream-bt.nmtv.cn/nmtv/2321general.m3u8?txSecret=d9d0fd7a252ef56b515c46a2e21830f4&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="呼和浩特新闻综合" tvg-logo="https://live.fanmingming.cn/tv/呼和浩特新闻综合.png" group-title="内蒙频道",呼市新闻综合
|
||||
https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="包头新闻综合" tvg-logo="https://live.fanmingming.cn/tv/包头新闻综合.png" group-title="内蒙频道",包头新闻综合
|
||||
https://livestream-bt.nmtv.cn/nmtv/2358general.m3u8?txSecret=98390a77c143a68f0fd64bfe6e181dcb&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="鄂尔多斯新闻综合" tvg-logo="https://live.fanmingming.cn/tv/鄂尔多斯新闻综合.png" group-title="内蒙频道",鄂尔多斯新闻
|
||||
https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="巴彦淖尔新闻综合" tvg-logo="https://live.fanmingming.cn/tv/巴彦淖尔新闻综合.png" group-title="内蒙频道",巴彦淖尔新闻
|
||||
https://livestream-bt.nmtv.cn/nmtv/2348general.m3u8?txSecret=6a4ddce077e41b976fe33619fbef2b30&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="赤峰新闻综合" tvg-logo="https://live.fanmingming.cn/tv/赤峰新闻综合.png" group-title="内蒙频道",赤峰新闻综合
|
||||
https://livestream-bt.nmtv.cn/nmtv/2351general.m3u8?txSecret=8857087aeec2cec44d178a18550fdb8a&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="乌兰察布新闻综合" tvg-logo="https://live.fanmingming.cn/tv/乌兰察布.png" group-title="内蒙频道",乌兰察布新闻
|
||||
https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800
|
||||
#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN英语
|
||||
https://0472.org/hls/cgtn.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN纪录" tvg-logo="https://live.fanmingming.cn/tv/CGTN纪录.png" group-title="央视频道",CGTN记录
|
||||
https://0472.org/hls/cgtnd.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN俄语" tvg-logo="https://live.fanmingming.cn/tv/CGTN俄语.png" group-title="央视频道",CGTN俄语
|
||||
https://0472.org/hls/cgtne.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN法语" tvg-logo="https://live.fanmingming.cn/tv/CGTN法语.png" group-title="央视频道",CGTN法语
|
||||
https://0472.org/hls/cgtnf.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN西语" tvg-logo="https://live.fanmingming.cn/tv/CGTN西语.png" group-title="央视频道",CGTN西语
|
||||
https://0472.org/hls/cgtnx.m3u8
|
||||
#EXTINF:-1 tvg-name="CGTN阿语" tvg-logo="https://live.fanmingming.cn/tv/CGTN阿语.png" group-title="央视频道",CGTN阿语
|
||||
https://0472.org/hls/cgtna.m3u8
|
||||
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
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"class":[{"type_name":"登陆配置","type_id":"peizhi"},{"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":"悟空识字"},{"type_name":"宝宝巴士","type_id":"宝宝巴士"},{"type_name":"儿歌多多","type_id":"儿歌多多"},{"type_name":"学而思","type_id":"学而思"}],"filters":{"儿童早教":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童启蒙故事":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童英语启蒙":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童歌曲":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童绘画":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"睡前故事":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童动画":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童音乐":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿童安全教育":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"贝瓦儿歌":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"悟空识字":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"宝宝巴士":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"儿歌多多":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"学而思":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]}}
|
||||
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
File diff suppressed because it is too large
Load Diff
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
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,315 @@
|
|||
#EXTM3U x-tvg-url="https://11.112114.xyz/pp.xml"
|
||||
#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试
|
||||
https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8
|
||||
#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试
|
||||
https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8
|
||||
#EXTINF:-1,tvg-id="重温经典" tvg-name="重温经典" tvg-logo="https://11.112114.xyz/logo/重温经典.png" group-title="其他",重温经典
|
||||
https://gdcucc.v1.mk/gdcucc/cwjd.m3u8
|
||||
#EXTINF:-1,tvg-id="五星体育" tvg-name="五星体育" tvg-logo="https://11.112114.xyz/logo/五星体育.png" group-title="其他",五星体育
|
||||
https://gdcucc.v1.mk/gdcucc/wxty.m3u8
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2201/057/821/202204010054_1626677502161_H169_1080.jpg" group-title="央视", CCTV1综合
|
||||
https://mgtv.ottiptv.cc/migu/608807420.m3u8?migutoken=e87582cbeed280cf0bc73fcc603ab35d3781351fee13c1e1767cb13115e04314188849117bbdebc0c7961e219b567b8740ff496709df2e120423ee20d3613ee62f5c12c7f2c845188355be00c0
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/346/945/202205311432_1653977575541_H169_1080.jpg" group-title="央视", CCTV2财经
|
||||
https://mgtv.ottiptv.cc/migu/631780532.m3u8?migutoken=a198e0cc3e7a01e1071202cb6f812616ef16587a3260b83d98e0acb47b0565d5f50d51589b97c87fc42f1e24559ef31c655da35bf77fad69abcc5983ba081cd9ef7c62d3994995c39f63417976
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/864/202204010055_1626679292691_H169_1080.jpg" group-title="央视", CCTV3综艺
|
||||
https://mgtv.ottiptv.cc/migu/624878271.m3u8?migutoken=5fbe404b95e8a255ead64ad761663ade9714dbd4f6fb14fb6ac25bf0e25ea3b11f7e6d665c9dc8feaf3cfc0a7afef221717db1daa692e78f33b79a4543d5bba6e925fb2e260cfa4023d5c1a2b0
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/346/947/202204010054_1626679457281_H169_1080.jpg" group-title="央视", CCTV4中文国际
|
||||
https://mgtv.ottiptv.cc/migu/631780421.m3u8?migutoken=ab90674d45862207d4e5eba8056904c95f46d037454930aea2b7612b316c1172d898d8744f9464d954819367b3bd9b59b0bdcd9da2327fa3081f1e33a13fa6d4345804263e6a82e459fda47443
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/516/171/202204010048_1626679645474_H169_1080.jpg" group-title="央视", CCTV5体育
|
||||
https://mgtv.ottiptv.cc/migu/641886683.m3u8?migutoken=dedd9f5dd7c8c94820e19208bdfb3c8b241c83adb014b21559c7acd9ceedec863c8440aa53f5df4b1312b5cd9bb71cd3f940e2fbe0dd0885f8e3409c4542773c9dec66617dcf89fd508f7920f4
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/516/288/202204010048_1626679726956_H169_1080.jpg" group-title="央视", CCTV5+体育赛事
|
||||
https://mgtv.ottiptv.cc/migu/641886773.m3u8?migutoken=913e19f0cd95b3729d2edff560ccf94dab8a25c3d3952345452f411e3cfd50be2f05ed099426d164cab8e8b69cf84c9183fe991caa3f8c7d1e8d089eecebc11d4687939932c9f6ff201b3b77d0
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/872/202204010054_1626679942827_H169_1080.jpg" group-title="央视", CCTV6电影
|
||||
https://mgtv.ottiptv.cc/migu/624878396.m3u8?migutoken=abc956fbe53a33768c31ce46be1ea11b6bd677cced76f5a05040c806516acaaeba5637e09acaa2d0d2f98c5c0c1dade2d1603cbad0bda0e614fec16736ba86345358f77e2f4b6c1bfa63007bf3
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/622/202204010054_1626680072401_H169_1080.jpg" group-title="央视", CCTV7国防军事
|
||||
https://mgtv.ottiptv.cc/migu/673168121.m3u8?migutoken=e48ebd9c5a0af94e4d23ec231a977568dc1235954de5d61e0c99266ce3f0bd0ba73536b8d467ba805c4f8f4716e418bedc9823b5e9b7b7857052d1051b923ad6909385f999064a3a355bb17b4d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/868/202204010049_1626677144094_H169_1080.jpg" group-title="央视", CCTV8电视剧
|
||||
https://mgtv.ottiptv.cc/migu/624878356.m3u8?migutoken=1063c2ed0498f191cbe74734ccde93c830d8eee34fd42552bcc9f44755cc0df1f43234f35280736b7b63f59f3ef05ea02225ae3bd763bcd1ba46f78a42a1bf12813c11aab0e18cdcb9f41e3577
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/624/202204010054_1626677492322_H169_1080.jpg" group-title="央视", CCTV9纪录
|
||||
https://mgtv.ottiptv.cc/migu/673168140.m3u8?migutoken=0ca1664994f4c6ab044e773f0cd5bbf34e26461236467a95df33dfb854e743b7d8925da03f4ee5d1f628206595f6b405b01ed7598a95154ccb1be26e3d3a606d4e2b8eced943011785c14ce49b
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/874/202204010054_1626677759168_H169_1080.jpg" group-title="央视", CCTV10科教
|
||||
https://mgtv.ottiptv.cc/migu/624878405.m3u8?migutoken=36650467e841c67559d5e7735f58e2996e350166144a20b62f155cace4b76ac9b2cfe8cebe6a04289485da7dcf21a12a8db3c4b2950ccb1e0a69f7f426d54c8b73241bca1a85acd55ed0bdfbf6
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/988/610/202204010054_1626677917611_H169_1080.jpg" group-title="央视", CCTV11戏曲
|
||||
https://mgtv.ottiptv.cc/migu/667987558.m3u8?migutoken=009e003c150dc5540bdca9ff5495a29b1183ad95664745751daae77bc1f01becd6b4be93fdec4c837d44940fdca267da150f0b3142f82009f1c4b56dcdec2b1690781a9832ab266388f276828a
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/627/202204010053_1626678104342_H169_1080.jpg" group-title="央视", CCTV12社会与法
|
||||
https://mgtv.ottiptv.cc/migu/673168185.m3u8?migutoken=8c047c19215e5128226181bb33ac8090b564c4f48450354e8befb8e31d3b365a00608967ef6360752123e00df70b0fb1bfb94669ad8ac4a1d8c0f0becb3e1894ebd01572250a8d5120dbe80dc7
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/208/864/202204010051_2202208864_H169_1080.jpg" group-title="央视", CCTV13新闻
|
||||
https://mgtv.ottiptv.cc/migu/608807423.m3u8?migutoken=856bfbf1a4e580d143e006c380919db76f1b4b4499ce865959bbbb5c45a84323c9a5ae265a512e5ee6fee400dedf9d6c809363c3f943ed474e72de74b41ff688a743a6d6c234532163f57bd43c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/875/202204010054_1626678143105_H169_1080.jpg" group-title="央视", CCTV14少儿
|
||||
https://mgtv.ottiptv.cc/migu/624878440.m3u8?migutoken=000164f8ee4898cc9057c3ea784338dca5100155884f3a8d6e57e67a578122e7cb436ca446c7ad73c1eccd3f5bd491893b7d9fce79eeff0bc3b86b67d5be4f82a27efa63331b99d891f01dd52c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/628/202204010054_1626678239769_H169_1080.jpg" group-title="央视", CCTV15音乐
|
||||
https://mgtv.ottiptv.cc/migu/673168223.m3u8?migutoken=7f5822ccf36d6a2d2d896d336e6fdaaeb762725c6579e623a08a65a4e47e87e0373fae63dcfdf44b9e0291ceb4d450266de51ae0aff23e173cd3322926df947eb2a008fc1b3fa27eb53c7b0521
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5501/083/631/202204010052_1626678423944_H169_1080.jpg" group-title="央视", CCTV17农业农村
|
||||
https://mgtv.ottiptv.cc/migu/673168256.m3u8?migutoken=a78ca66bb71e994642bbdfe91dcb61dae5c4c04f4edac719c5cd6d0472a0aa3d8b25bbd46f788dbfa083d7dba33a29ba3416f9873e8331217d46512cdcb16f0ad08cae1cf8861d4f2566987b36
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/315/202204010055_1626831001078_H169_1080.jpg" group-title="央视", CCTV4欧洲
|
||||
https://mgtv.ottiptv.cc/migu/608807419.m3u8?migutoken=a65bb8aff712fdb6d34073f4aa307839d0e51515115e17ca7ef68ccaad8124a1fe34764c1117a3af331efedacbc915f898aa16ffc6a6f7f23a26e9f8e2bc44b0e880a59d6a7585539d6fb2415e
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/344/202204010055_1626830735444_H169_1080.jpg" group-title="央视", CCTV4美洲
|
||||
https://mgtv.ottiptv.cc/migu/608807416.m3u8?migutoken=5893b804def0551069a60627b6d577d94414866eab03c236d2489eb92fca4250aa5f3624c1eeae127fb4a434d1879e27b8f4516db35570746bf647732fafef41c6d06ce3ea657c2c6b41ce08c3
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/356/202502251602_1740470533820_H169_1080.jpg" group-title="央视", CGTN外语纪录
|
||||
https://mgtv.ottiptv.cc/migu/609006487.m3u8?migutoken=1005b1d42414d514cb2e1d315753e19770e98042502ebf1f82f1b427c5724523cfa46525d6a7c809f594ffa7360a78e2e108aa0867e5ebce39857f791eadd736ff24031f54a194b2965ab1870c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/303/202502251557_1740470224929_H169_1080.jpg" group-title="央视", CGTN阿拉伯语
|
||||
https://mgtv.ottiptv.cc/migu/609154345.m3u8?migutoken=ec709e0e973513a848abb48eaf8dcfb4ad81a5b488a844b18f29623fd572370ac524e67a0cf2d401c8c0e1f8ae9b8e9ad36e004df006a39bddf0a7488c55a481044f76ef06679c68d14f63f9eb
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/337/202502251600_1740470429939_H169_1080.jpg" group-title="央视", CGTN西班牙语
|
||||
https://mgtv.ottiptv.cc/migu/609006450.m3u8?migutoken=7431a44ea4b991bdedfb224a1881f450ac3398af3088f614146410c49aa9412b9fe0856502200875471993f9bbda85700e474fc76018670da99c9e9eda42dc9625a7542920ce327e4fdfc7f4f0
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/324/202502251559_1740470364968_H169_1080.jpg" group-title="央视", CGTN法语
|
||||
https://mgtv.ottiptv.cc/migu/609006476.m3u8?migutoken=ac0355a4bb90a5c5fd72752789021c619ccc4593bb5b0507b680904ca34a055b6e86887411c91de59ff93b1a4fe8dd2d8551db9307c4ea9b3f4864e73ee66d50033513a4a1cb345c45924d7ec5
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/179/332/202502251558_1740470310039_H169_1080.jpg" group-title="央视", CGTN俄语
|
||||
https://mgtv.ottiptv.cc/migu/609006446.m3u8?migutoken=0c1941ac7927d86482d235ed9ad567d8a1d34dc9a673395b96927c275b97922bf021a064def6aa9a9484cd5b3f5e2689fa6657ff0db029da7d4eae9f694ea7897c0eb11b321dcb43aeb11937ea
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/002/202405081702_1715158642984_H169_1080.jpg" group-title="央视", 老故事
|
||||
https://mgtv.ottiptv.cc/migu/884121956.m3u8?migutoken=29a33e2d6e0ef2175b7ca005d4fc0b883ece8537f87d47862bedad59505c1cbbd0030ebbeed33cf7607078952492012b056967c9ad1ea7e06b756d49b1bd0b665ca322321b2d2fdde5d2be7c9d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/893/202405081702_1715158824845_H169_1080.jpg" group-title="央视", 发现之旅
|
||||
https://mgtv.ottiptv.cc/migu/624878970.m3u8?migutoken=891f14e94dd17ba5525d7d028df2e39dd0a61b4912c5cf655844c8f4b091c6fcd26a8aac5af434df5f425fe755a7853845b87cd79ec893f22f7fdd04d89a30c051e095d23169157251f68c0d26
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/355/202405081702_1715158104256_H169_1080.jpg" group-title="央视", 中学生
|
||||
https://mgtv.ottiptv.cc/migu/708869532.m3u8?migutoken=a201aad36ec8f880f4345439b872cd2c6bcfcdb921d7ae72f405d8b0a52320899d25e6a745815066ee3ef627c5e8c3e2acfca2e876222249007869555045046f0235aead3a06dc41aa8c71f7c6
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/196/407/202204010052_1642124762081_H169_1080.jpg" group-title="央视", CGTN
|
||||
https://mgtv.ottiptv.cc/migu/609017205.m3u8?migutoken=dc0da08ab5ab05aa55f5cf062ef5ab30b20e364b6dd7f6ac8d5a8d2f4202d0a3377229d9a0e63daf0678fd43252625376df8637cb2a2bdf828f68eb9f277010e163225c71f5c262e55c7f41aea
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/185/202508040856_5100043384_H169_1080.jpg" group-title="卫视", 东方卫视
|
||||
https://mgtv.ottiptv.cc/migu/651632648.m3u8?migutoken=8f8626aaf414a360b5ec4f48aec131307acd7d005eaa5858e84763f09da5bca0e14d0cd206c0b72ec8d8ce991d876c8d977bbedc75ead3bbfc136ab42faef8afd412df45f162d814c21a4f87ca
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/199/408/202104022140_5100156802_H169_1080.jpg" group-title="卫视", 江苏卫视
|
||||
https://mgtv.ottiptv.cc/migu/623899368.m3u8?migutoken=61c2b8855f4a014b319f05532f6333a41c39faac86945169ca13cc5617f7ffc37aad3bb91418d7dd5d40206edc5d9cfa1550eca4ea2ddfea9f4e104ccb4cf33fa604e9bef0f3d9b38bd5ffbadf
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/428/795/202107191524_2202428795_H169_1080.jpg" group-title="卫视", 广东卫视
|
||||
https://mgtv.ottiptv.cc/migu/608831231.m3u8?migutoken=36b5e7230ca47b4a39c43d5cb5dbe156aa7fc7783e5bdf7e25f2b8b90629ef70dc00b2ed8b22c7d217e55a981bfc49939b4ffbfa9c0a53640718bdda453a0b6d542d84f003a3d2f23ad72e547f
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/492/202303201551_1658134112236_H169_1080.jpg" group-title="卫视", 江西卫视
|
||||
https://mgtv.ottiptv.cc/migu/783847495.m3u8?migutoken=3285af4b14f357066fcc21e29e8375ba5d7037775f88aa918f152525c9881b222a1cb2962bc68211dc1e2b3bb0cccaef7a5e68739bf66dc92557d6be1075859f4ac43c77378e2490014c5206b0
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/585/202304031400_1679994685582_H169_1080.jpg" group-title="卫视", 河南卫视
|
||||
https://mgtv.ottiptv.cc/migu/790187291.m3u8?migutoken=23f9b5df495974dd972735dcd4cc9724a53ff21d0fd6bf76a035de69b00573a8dca573ad854f8b550bd5df70633c67866eaf50288fba0ce2c68b3c98a06f5c3580e857971fd0743f904e63d3b3
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/020/475/202207191732_1658131375175_H169_1080.jpg" group-title="卫视", 陕西卫视
|
||||
https://mgtv.ottiptv.cc/migu/738910838.m3u8?migutoken=cdc37ec3447582152f1622cb0a18e727ec5ecfdc937da583ebb2d7b6680110e64fe1ac308ce01bbda4b9d5f58e08ecde779263d812a547e1b10c6915e358872299512adbf05224e43b842f9e71
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/322/852/202304081513_1677570732561_H169_1080.jpg" group-title="卫视", 大湾区卫视
|
||||
https://mgtv.ottiptv.cc/migu/608917627.m3u8?migutoken=ad4a27b92a838c5a65b6ab807e53c720d7e1c30236b8540204e58c7f0ebfcaf28f2272b671687a856a20d35785164ec9dc5057917091f96e340f9305359deb8cb2e74b79f2fb416ee8f1a7c286
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/163/202501231715_1658138621263_H169_1080.jpg" group-title="卫视", 湖北卫视
|
||||
https://mgtv.ottiptv.cc/migu/947472496.m3u8?migutoken=c6f33a9a185fed2a831cf924998cac49a20cf3f6edee54467b271c610d35828d366c30e21e03dfeb55c977dae8ac05e78603ad10194cc49eec6c7b4023f8e81ac620551322f8ae5dc921c26981
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/164/202501231715_1658138745288_H169_1080.jpg" group-title="卫视", 吉林卫视
|
||||
https://mgtv.ottiptv.cc/migu/947472500.m3u8?migutoken=0aafb579215064dd1e9cf8c23c21da2ea0f89e892b4618c146ae6f321408fc18641604e475d228afaed86f4b669edc197b8cedf9916823a6b09e1a75f5fd8a2cd89e64dd6fd03cd7e0f5f496ae
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/166/202501231715_1658138568499_H169_1080.jpg" group-title="卫视", 青海卫视
|
||||
https://mgtv.ottiptv.cc/migu/947472506.m3u8?migutoken=8e96d409448c8f8fd0ba42250a0854c9157ce242bc357be64675daa5b69f43c2b181d0ef9f3bb9d1c602fe0b3c88805600f4e6fe6deff16b115cc9e6ba7201bc8a878791ee4f70f06aaf427270
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/182/202507151427_1744624877831_H169_1080.jpg" group-title="卫视", 东南卫视
|
||||
https://mgtv.ottiptv.cc/migu/849116810.m3u8?migutoken=e66fee73689e606c4d3a3d4177782e9b9b96148161af20fa92abd19fb5bd89f330d240fcf21cee186f447dc99a8e493f1b4b63237bc4aec8688f447f3ee9f6b40c60df45f90b222d14fe19e966
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/165/202501231715_1658138887282_H169_1080.jpg" group-title="卫视", 海南卫视
|
||||
https://mgtv.ottiptv.cc/migu/947472502.m3u8?migutoken=b409672c89295a5382f16ab1441f3a20c2d1036e0abe58b08bbade52d6afb109158bd4f08c1d49e30bc2fefc26859e0b45099b06091e1e2af5aafd3657abecf8ec2727c585d9e7b32668dd2412
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/183/202507151427_1690875414853_H169_1080.jpg" group-title="卫视", 海峡卫视
|
||||
https://mgtv.ottiptv.cc/migu/849119120.m3u8?migutoken=fb3bdb43eb273a3cb0f76ca84bcca00e36916f997f79f5649029c6073e222aa8d8d38de95808f13ffbcbab736a117656800904124e7775cc48c05cc7812242a1fbbd75e37e906213e0cfc9a5bf
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/186/202508051621_1754370268870_H169_1080.jpg" group-title="卫视", 中国农林卫视
|
||||
https://mgtv.ottiptv.cc/migu/956904896.m3u8?migutoken=2ba9d54f469213caa7578a3ae6faf7948519df1475b4cbad1a1d41731a2febbbdb92bcbea19b7eefbe2dcd744fd7fa0a49a81ff12368222d8b81b1b7ebf5a23384256234c79269fd8a7e1a74fa
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/192/202508061552_1754385897430_H169_1080.jpg" group-title="卫视", 兵团卫视
|
||||
https://mgtv.ottiptv.cc/migu/956923145.m3u8?migutoken=2e3156164a0254c48085736bd4830ad94861d4b3a43483eaa8ea307fa543418e7832c0a83796cb9137b9274ff92c3e3d46293085220b01921fac54b845298c087f215ce4acda8c63304e6b3eef
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/275/202107191641_5100001716_H169_1080.jpg" group-title="地方", 上海新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/651632657.m3u8?migutoken=72101a42ad9d845868ca5a65430fa525a009a703b18c27513b9c5bcc3d3c058744de9b6c71901337382333111b00281a4fc72a3abf00822ab568305d127b6c30bfce416190de1a3d48065780e1
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/274/202105271333_5100001715_2_HSJ720H.jpg" group-title="地方", 上视东方影视
|
||||
https://mgtv.ottiptv.cc/migu/617290047.m3u8?migutoken=b4d4529594c9a0d9b9ae9a0bd4f478de57b0206b2d4e6ef532647fbba9007729321003ab8b1530a3edcca56c84d770843094b21e7cd2351d0712b576b040c66faff5e5cd738f516dafbe2f8c0d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2201/008/312/202209271630_2201008312_H169_1080.jpg" group-title="地方", 上海第一财经
|
||||
https://mgtv.ottiptv.cc/migu/608780988.m3u8?migutoken=640218a949d9d0364c84be6969170f0bb8149f1524dfda10391d63edc69dc07def704321007771253ca631c1c731b3f60f99830f56a7b6ba2a01433ad93c115eaa39b25c79d9596174dc74d3cb
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/863/202307121521_1689144286039_H169_1080.jpg" group-title="地方", 南京新闻综合频道
|
||||
https://mgtv.ottiptv.cc/migu/838109047.m3u8?migutoken=217b3a2456610ba99dd5fb0c808116f75097af12175b8e42d84cda3169c62d967ebd23b82616aee7698b3c2c3a4b6782e3a2839bb776c37527aa17e2ffc9af99328f985b4c33f2a4572d384f02
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/865/202307121700_1689146721503_H169_1080.jpg" group-title="地方", 南京教科频道
|
||||
https://mgtv.ottiptv.cc/migu/838153729.m3u8?migutoken=ffa8c472872e788989ef780ee3e49d6f629e8b371bc862bef85c34aebc5e90b92c00005c78b4b76ffc44dfca188033bf44a7d0468251c099828934ebc28cb0ea4d33de90f28c43731bde165b04
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/021/864/202307121658_1689146982273_H169_1080.jpg" group-title="地方", 南京十八频道
|
||||
https://mgtv.ottiptv.cc/migu/838151753.m3u8?migutoken=af6dcf7aea858aedd3e6ad9770fef42aa7f8ed6c6c0d392cd504c120026146b56ff289fbc9d0e60f699aa7168896165b2592a3dc574c3a8feb41978169ca2a0b768a8465bcb8975b3e46127eb9
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/554/202104022139_5100186459_H169_1080.jpg" group-title="地方", 体育休闲频道
|
||||
https://mgtv.ottiptv.cc/migu/626064707.m3u8?migutoken=bc8b30056a771dbe457523398d228405a5e8d9208c1c7ae793323ad4c57c0c3ea947a85519d7287f91d76aa6d8ada70f90bb82554686fa5ba583c5ca1f2e040ab6dad77b70939e096076b1dc31
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/508/202104022138_5100186409_H169_1080.jpg" group-title="地方", 江苏城市频道
|
||||
https://mgtv.ottiptv.cc/migu/626064714.m3u8?migutoken=7a95013b9cb841377708ce2d4cf761d88ffe75c6fb9d2c64a8cfb37a5df3ef2111c0e045909aeb8aab30899505952dc6d2febb9b2295d2a951647dcf035fdb701bccc3d14658aca5988cf604cc
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/577/202104022139_5100186482_HSJ720H.jpg" group-title="地方", 江苏国际
|
||||
https://mgtv.ottiptv.cc/migu/626064674.m3u8?migutoken=484ba97f18e704ea4d5deef16da4d750b26203fd7810477c215b9cf8854076c2f5660ae2ab8b7ae61fa25a3b164a1ea5b764541f5e26b61d66fcb0d96850acfb00e8905dc00674cb80aa164c37
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/287/493/202104022139_5101012819_HSJ720H.jpg" group-title="地方", 江苏教育
|
||||
https://mgtv.ottiptv.cc/migu/628008321.m3u8?migutoken=c88038c335008f90d5563b99d6ef20dc503b68ccca04f478a94237dbb7b0c796824f31fdaa3d8c650231d9fcf6ee9bae3646e87303dcf4ae659f433f28518fba8c6124d9c14f7968f36464c3af
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/517/202104022138_5100186424_H169_1080.jpg" group-title="地方", 江苏影视频道
|
||||
https://mgtv.ottiptv.cc/migu/626064697.m3u8?migutoken=6f545ede0bd182ce0f67f8b26c7ffad1616f62c62b1208ee074c12e3c377f5a0a107d522ad2eb653d1795b9ccf5adadc92359c0a469f508d2e10efda5e40cb14f1666b6c5ba95c727305d4509c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/513/202104022039_5100186420_H169_1080.jpg" group-title="地方", 江苏综艺频道
|
||||
https://mgtv.ottiptv.cc/migu/626065193.m3u8?migutoken=e0c65bec3c9ec2163d8d281df6c83243b50cbf2f62da541ffb78ca1b15451801787ceaed0b89d3b82240d96a7d1a45b59009c379bbd0eb1431fa87760aed2ac56ccbaa12658185716d4c56cf64
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/520/202104022138_5100186429_H169_1080.jpg" group-title="地方", 公共新闻频道
|
||||
https://mgtv.ottiptv.cc/migu/626064693.m3u8?migutoken=560145053086fad76be9cb6456920ea1160378118f7cc6338deccbac08d0b0a169d3ce1594fb56000c1c38872f516a87eef025beba62679c9f6d0e6ebbb8de0d2cd90d4afaa9a0febecf784bec
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/360/202212301654_5102012617_H169_1080.jpg" group-title="地方", 盐城新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731825.m3u8?migutoken=98a75b3d3c141573d01478e1d285e1717a464dcbb853a153b6be630ff28b5f6a354538a36d7a1bb35b0d0463ecf8082ddb56666751e78bf1917c38472bdf31a7f74b909ae1e2e9fd805836ce26
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/363/202104022141_5102012618_H169_1080.jpg" group-title="地方", 淮安新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731826.m3u8?migutoken=81a020d5efe78c04b731b39c8a473f82a01d81b2eb2dba06a677055d401bb24773e6a5778a6735d712dd92bbefebb0fb8ec13c8f7a82a6dcccd64d108a7aac6baecd6d6c3cb186a9b5d5c8cd52
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/354/202104071213_5102012615_H169_1080.jpg" group-title="地方", 泰州新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731818.m3u8?migutoken=1c2d938eba25a3b0899af8fe689f7b26f41b985029b6d7595e77e2394db37e4eb495952a7d188a9a9015be1071b6f975007f9e53567620a3f511b53f3266443280946b4e7ea3ab41029ae91772
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/369/202104022140_5102012621_H169_1080.jpg" group-title="地方", 连云港新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731715.m3u8?migutoken=cdd89f071bedbdd2d653cb01eecf493b8286212d91a966afb321f7a25b8e9c04fade17d1f8e799e7867fe066685f9bfa22902ec355d0baefd8b3fcf2558db5d81a26c983b2d7e9e4611fd9d376
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/357/202104022141_5102012616_H169_1080.jpg" group-title="地方", 宿迁新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731832.m3u8?migutoken=de3dc363ee2b10ad424173822b67d3ea6467776422d6a49507a1e12f799640f7543bdb9aaacea435ff27d8859b63c13b5727605fd242b8533bdf69c725a3f30cb53649e0af19399f4cd948258d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/368/202104022141_5102012620_H169_1080.jpg" group-title="地方", 徐州新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639731747.m3u8?migutoken=939388e5cf7cc01688eb44c4208546a9b6f9073aa3573f054898ef0aa7331f53ba5a26a98f4bde4a643d15564f7df5c23f58932e9968cc6e40eccbff0d5e51cc7385d698bb252a4a6db4b4a797
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/260/553/202104022139_5100186455_H169_1080.jpg" group-title="地方", 优漫卡通频道
|
||||
https://mgtv.ottiptv.cc/migu/626064703.m3u8?migutoken=0de1eae09b0883bc96a774772ef0f9b5a08d8dfeec68cb9d75378d72bf1492d151fb1c6befd0c91f4a0ac1a15a4706354eac5b20744b962b0c33905d1d28320a251f011ba79549b96707d752f7
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/177/202506121842_1749616924879_H169_1080.jpg" group-title="地方", 江阴新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/955227979.m3u8?migutoken=4a0461a31fc4edfe27ea4743f472776f252abd0f97856c2221d7c6558f4ffbd40099ef88de7178e3f2513fe8bf21b712710b2924566bea648fd258fb2557a5f5eb5a489559fec6d8477c097daf
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/178/202506121842_1749617021865_H169_1080.jpg" group-title="地方", 南通新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/955227985.m3u8?migutoken=c9c739d2aab9d4e42415a55eff8a4782aef14ed676d93a16b0fdbf8d2ed4271f96daa0dfb10fe2b4b2755d02b5d0760ce3607acd9054c18cedde20c4fe37e95c13155b25d4e138d5f425be902f
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/179/202506121843_1749617115515_H169_1080.jpg" group-title="地方", 宜兴新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/955227996.m3u8?migutoken=5063ec9b43872267d1e2b92441e0529f440371847f60a349c6cfdb44cde98a9cd7c42b9a72e5355a58644cfc7ac75e2c9d6ee9668cc01c283eaa67dc8c11474de3eb5efd5f73399adfd0a1303a
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/469/349/202506201638_1750408508110_H169_1080.jpg" group-title="地方", 溧水新闻综合
|
||||
https://mgtv.ottiptv.cc/migu/639737327.m3u8?migutoken=111621f9f3b1e04f7548bdfc5fa7675ba3bcf56ee3574bf23bc4ede9c91869cbc97bcd6488ec8d19746c9b3a43b608465600db7225715d815bcd56fbe2f06b057b6ef57269d53c1363cf45e07d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/191/202508051746_1754371391139_H169_1080.jpg" group-title="地方", 陕西银龄频道
|
||||
https://mgtv.ottiptv.cc/migu/956909362.m3u8?migutoken=91c524625737d73ee2b8576fc13680351c07129e9866725eb44b7909d471dfdc49709a0d43a5f9022eabc2f41d9b5412486f9eb725c2b5b0b4b58eeb439c747c7a0c64bd24c0735dfaa4398dd3
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/190/202508051746_1754371281201_H169_1080.jpg" group-title="地方", 陕西都市青春频道
|
||||
https://mgtv.ottiptv.cc/migu/956909358.m3u8?migutoken=25eb6538f17db3e53012c4fee9ac38680bf1632c3f58be756fb28f2e610515bdfb800e9fa7794d3d92388c426d733b688524c4099b043145f99167a96bfd21a2ec082d71b8acb79f7ce06b4cda
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/189/202508051745_1754370651700_H169_1080.jpg" group-title="地方", 陕西体育休闲频道
|
||||
https://mgtv.ottiptv.cc/migu/956909356.m3u8?migutoken=bf75c0277b603ea42e5e7c49bb0985e4d3ebd9762d35f373cee28505ee3734a9c41cdf5168ab0ff3e7127d1745739fd431e857d17a39d7bed66a16d4f04dd096c182507c4c9d563a263bd96f55
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/188/202508051741_1754370551778_H169_1080.jpg" group-title="地方", 陕西秦腔频道
|
||||
https://mgtv.ottiptv.cc/migu/956909303.m3u8?migutoken=1595378496aacc9025d4c9bffc6f148a5d6127736e79c74efe45926149dd839ad1cd8108535c7ebd6a1529e22477d985894062a4d1f2ba3bbe227404f84bce90b6dc721e1fa7af908ba444759d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/187/202508051740_1754370413748_H169_1080.jpg" group-title="地方", 陕西新闻资讯频道
|
||||
https://mgtv.ottiptv.cc/migu/956909289.m3u8?migutoken=572154040c8bd4d0996feee1d098d19fb74906d37ac6dc066a0a86a720a95a8708445621a06f8a870272173e971137d31fbd84b5dff675adada597e9a355a526d37224401ec5734a7d368f1a2c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/193/202508061552_1754385775557_H169_1080.jpg" group-title="地方", 财富天下
|
||||
https://mgtv.ottiptv.cc/migu/956923159.m3u8?migutoken=8ee113240cd9da216f6b3f3e20e5f3a837374435ea39acf8d765ccd54c18b0e3bc9c4b0676736bb7faa19bf0e54f3a86e5ecf64e4e802078386c612069f35ba25648cdf2f489205e4617a27a1c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/242/089/202508211805_1755769495190_H169_1080.jpg" group-title="影视", 经典香港电影
|
||||
https://mgtv.ottiptv.cc/migu/625703337.m3u8?migutoken=2cf8eafbe252bdc9f55613a1e9c578157d6137cf348903e9e00ac447f4a5de037f96d8f39703029194adb6eefce070ec25c66a20571a27a00475b36562b51e3ff107cfb90ef598d29f233e5f74
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/230/666/202507181733_1752831177769_H169_1080.jpg" group-title="影视", 高能悬疑 推理时刻
|
||||
https://mgtv.ottiptv.cc/migu/625133682.m3u8?migutoken=8a205289cefbd82abe17a057493f549dcd22e50e960b6483706ffedfaab58b6cb64b7cd8a16d1645818cc0566fb84e7bd4e69d6b8391ff8236f32f979d5d19c17419fd498a3ca3cf71eabd7c52
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/717/202507241513_1753340542329_H169_1080.jpg" group-title="影视", 抗战经典影片
|
||||
https://mgtv.ottiptv.cc/migu/617432318.m3u8?migutoken=a6d7c4f48cc0c3644e657ff2c391f0de00455a7a2a4cf3a1c9e952cba35bedf1757afaddfc82bee3abe013ccdf055f7baf29aa9437a95d2c840f40e860aba0e63b37e8cb020e9cdb2c6d016586
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/035/175/202405061742_1714988181593_H169_1080.jpg" group-title="影视", 新片放映厅
|
||||
https://mgtv.ottiptv.cc/migu/619495952.m3u8?migutoken=a26d51ed5f2838f664cb083118c63366f1428bc82827a0b90350e83876076d943f3e6812eb03a6e8726083bb429aa9ef578e2c66fafb48b5d6ba3e84fba9bd567fcaf09a08780f92e830e65be3
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/176/202504161629_1744788994468_H169_1080.jpg" group-title="影视", CHC影迷电影
|
||||
https://mgtv.ottiptv.cc/migu/952383261.m3u8?migutoken=94b247b61b420b2d2ce74bea870e63a67b3e0d3636bf6b29b9fa020a9f37e91377d608312db023d9c26aad062db0c9e5e8b7952b9169cdf2ff711b48739e98677a95f9cebc2b94310bd7919a00
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/554/795/202308221159_1692676692674_H169_1080.jpg" group-title="影视", CHC动作电影
|
||||
https://mgtv.ottiptv.cc/migu/644368714.m3u8?migutoken=7eaf208857d64e9613583b3c228b2456997dcec227a1785f1fb1b2d8bde643c97f82765f134cc853ab4606cca5a955cf52a9c65fd02e6c027eaea71adc8ecf7905f4f438c9caa6b6bae1d47649
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/554/911/202308221200_1692676825616_H169_1080.jpg" group-title="影视", CHC家庭影院
|
||||
https://mgtv.ottiptv.cc/migu/644368373.m3u8?migutoken=1570a60c318b7ef0708368385185f779a9c3971f538e2c238c06910b07ffffdcf8cb6287b10638f40ce5de04bf8b09ab2ec4e79088fcecac5fb3c0176a08256ef77b7c624c542cce7ac1e3e123
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/525/202504151721_1744708803016_H169_1080.jpg" group-title="影视", 和美乡途轮播台
|
||||
https://mgtv.ottiptv.cc/migu/713591450.m3u8?migutoken=0306940f5c840b223042f8ab9cb329c5ce5c4a00c726b67524379de3902c77cc7b1b60883ba34be647f630ed135c19db2ba54c0224dae931c08bd8822c4c781655a1afe4c473e601de885680be
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/173/738/202304081513_2206173738_HSJ720H.jpg" group-title="影视", 南方影视
|
||||
https://mgtv.ottiptv.cc/migu/614961829.m3u8?migutoken=b59d551cc4757a64b4f70a1aa14761629bb055bb9f9ec20bc9fbfc8651cf825a454f35f72d65e7d3b6f01146c775a96d0eae1e71a902477769fe5df9be3e46d1d081be2c1599bc97a3e14aab68
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/527/202506181115_1750216473927_H169_1080.jpg" group-title="影视", 血色山河·抗日战争影像志
|
||||
https://mgtv.ottiptv.cc/migu/713600957.m3u8?migutoken=a136ea82332d10c6882dd8cca13d8331508526fbbc38fdc7ca2762e8c5ba9cb30ade273b03127ba646b7411f905fa0eb8e7b4c26e77fc97a0c2a1c9b4e8f9101888b72dbfbc9fe4359af4f53b5
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2202/634/723/202206081044_1654656251447_H169_1080.jpg" group-title="熊猫", 熊猫频道01高清
|
||||
https://mgtv.ottiptv.cc/migu/609158151.m3u8?migutoken=c2b1388a7e9034ded245c90cb3e41b331e95bb46c31ff0d7eb04b8052a04e1b5d4b0aa6372704e4d07ff75aa783d7e9543c3c6057226ef7c1b2d6a809efe31092f5069a92f176c17091288ae3d
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/699/202209211759_2200200699_H169_1080.jpg" group-title="熊猫", 熊猫频道1
|
||||
https://mgtv.ottiptv.cc/migu/608933610.m3u8?migutoken=025d90bca7b2e6535709b10a18b2f6342a4c6ba90972e19e41976a37f112296d9ee7f9a439742903dc111b538972fcd1b4583b8e3175a48dde3b34e794243bb3ce3d741f5dd7a3bf4c20ca23cf
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/717/202209211759_2200200717_H169_1080.jpg" group-title="熊猫", 熊猫频道2
|
||||
https://mgtv.ottiptv.cc/migu/608933640.m3u8?migutoken=818ed185b95c0ce3290acfcc50b633b31dbee8c9da888168bc687165b86e00d21a066960a4ec952e199051811266a9cd8f4476707a4c0cde7331fd0cb73cef6d3b3348fef77355aa2e628bca73
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/738/202209211759_2200200738_H169_1080.jpg" group-title="熊猫", 熊猫频道3
|
||||
https://mgtv.ottiptv.cc/migu/608934619.m3u8?migutoken=bc1fb30ab7500c6fdc4d4f5aa8980f330ae5884cff1d54b74babf5bf1e6a59fb84a6e9277bd18998dd1309096e7d461f73748898c97f589f232e690baa5f2a17fbd76dc57d273ec79e46829303
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/771/202209211800_2200200771_H169_1080.jpg" group-title="熊猫", 熊猫频道4
|
||||
https://mgtv.ottiptv.cc/migu/608934721.m3u8?migutoken=78132a9b4eb9f9d6908a012f29a2e0990d84ebbcd5453f2ba0d937825b7f12b516f113b0a6c9832e008cccdbf7a419feee75665e7762fefc56dd5a592eb8ddfd1140a0342aae0ecf8658923dbe
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/791/202209211800_2200200791_H169_1080.jpg" group-title="熊猫", 熊猫频道5
|
||||
https://mgtv.ottiptv.cc/migu/608935104.m3u8?migutoken=b00f56bbcfa5c21368f00988c2aed467354aa4ea263a5cee499896e66016304a8bcd56f9783e66a7fc5eb3dbcca8a973d494424b088cd2205cd8748b2a65e7e4cf17030df60b81221f4462ad94
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/200/817/202209211800_2200200817_H169_1080.jpg" group-title="熊猫", 熊猫频道6
|
||||
https://mgtv.ottiptv.cc/migu/608935797.m3u8?migutoken=a18fce4099b6dd83a07edddf80193c9a55ba380cdbc9b5194bde594c72b9f26768214811ceb3ae0acd6c8d69f42a866c2adcb929dab658cd55102ece3e3c036d2b1334ae7797d0349a18ac1e09
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/831/202209211800_2200192831_H169_1080.jpg" group-title="熊猫", 熊猫频道7
|
||||
https://mgtv.ottiptv.cc/migu/609169286.m3u8?migutoken=a8e933f2c96201fc805e9d0d078b1d3c721b5882e47f7e27c46616c958dd300fe20954baa42a12bee5b376810a68ac7da31afd7acff65bd662dfe92ac856c11bbf10c001c9a60092f58575f2b4
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/881/202209211800_2200192881_H169_1080.jpg" group-title="熊猫", 熊猫频道8
|
||||
https://mgtv.ottiptv.cc/migu/609169287.m3u8?migutoken=d5ad3b20cfcea930ce8393a0932bafb2e4ff86fbb790c80526622b0eafcb98a311d0601e49b95c714b8834bf1d3f507fe25cd51f968b7c556aae14964dadc63036708d3ff4795db60e64f2b00c
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/899/202209211800_2200192899_H169_1080.jpg" group-title="熊猫", 熊猫频道9
|
||||
https://mgtv.ottiptv.cc/migu/609169226.m3u8?migutoken=b06ba85475e5943d79f58cb8cecf86b566c5fd8238ee115cec57e6a541103e8a643fa7bc4cdfb96b1fc9ec96c108be0bfea4dd8cd5b5af09587c87c69e11fc031dc8d04359243c7ec5148700f5
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2200/192/937/202209211800_2200192937_H169_1080.jpg" group-title="熊猫", 熊猫频道10
|
||||
https://mgtv.ottiptv.cc/migu/609169285.m3u8?migutoken=22f5f03abdf1d80dd49748a463357f24fce13821d8f5088a77849d08c1b1fdcaba51add4853f381d5b479e7004b519e84b5102e04540faf274702fa8ea2b148027ca3094ee4a254d60ab344544
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/172/388/202304101530_2206172388_H169_1080.jpg" group-title="少儿", 嘉佳卡通
|
||||
https://mgtv.ottiptv.cc/migu/614952364.m3u8?migutoken=6a1b4f87d28a49b91a999f201e6026a4d7987f67eeed37a677f2dbd4cb008d63e55ad8a0650a43b570410e602913a810853e4bb842270e1bf0c63185b254448a1a6b617fb6d61fb83e4a71bc97
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/523/202506060000_1749138932995_H169_1080.jpg" group-title="纪实", 新动力量创一流
|
||||
https://mgtv.ottiptv.cc/migu/713589837.m3u8?migutoken=06b762e40a68256682e072d4529483327136597e03cb2308c065cdcd3fed6e9fa682daafa57561ab9e3c11df46350bb4c88c5d9f86e9c4932ef9803448486120b82b55ab10f22362ad892cdce9
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/613/479/202210281603_5102115888_HSJ720H.jpg" group-title="印象天下", 钱塘江
|
||||
https://mgtv.ottiptv.cc/migu/647370520.m3u8?migutoken=713e52cd7e4c5f5da44e2db186661e0ffabb7efff0e5ebb1cf6c5fff5bf786a9a5eb61f569ad74731aa5b204ea81f226f4b48e6501d0a94d231ce21fb53e00f2d564a2222e62ae6ed845ed90a7
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/462/658/202506201045_1750387453057_H169_1080.jpg" group-title="体育", 五环传奇
|
||||
https://mgtv.ottiptv.cc/migu/707671890.m3u8?migutoken=fca5569308213284b95479ea1e256ace30960e33c7703e6daf89ae2d653c315b516fa4433c2b76dccb140f0738f7ae66c3cd960a83e5e11b41dbb1e165ea67431452ed40f13d544bf834e568a8
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/341/085/202308221004_1692669748086_H169_1080.jpg" group-title="体育", 掼蛋精英赛
|
||||
https://mgtv.ottiptv.cc/migu/631354620.m3u8?migutoken=2d9e9a6540d9f21188191244386fa1fbc2ec44babbb9682bfc928d5b068fe3d374dd6f60a1e455b019189d704a065ba8e54e08194dfd7af40e12a528a95910d4860145838c60fc52579e082e61
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/184/202508040856_5100132656_H169_1080.jpg" group-title="体育", 四海钓鱼
|
||||
https://mgtv.ottiptv.cc/migu/637444975.m3u8?migutoken=896faf4b563e46e862210dfd39e74655af50ab94f093457fcb8549c4c8655c64ab3a2e34024289fd3bf74636c79fb6023685b3bb8e691ccd79578af5a81784b1c94f4a8191530d73f260e63fe9
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/751/211/202106111236_5102223687_201903181136295010914_HSJ720H.jpg" group-title="体育", 咪咕24小时体育台
|
||||
https://mgtv.ottiptv.cc/migu/654102378.m3u8?migutoken=064613ab8b9c48d69519776e7613a8aaae0bf2347fe9edd41c686bda3b45971770237e707035764942f91461997319b529c1195462019acb43773dd8b5c6dc349ac9fa0f37def13d9b9917dda9
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/150/202407181432_1721283643483_H169_1080.jpg" group-title="教育", CETV1
|
||||
https://mgtv.ottiptv.cc/migu/923287154.m3u8?migutoken=0540bf7b992d6352a8c14a18dccc9e14093c711e30bc7f0ee182ab6031fc5f640dc7854847146852d3ae3fcabf98fcb74c752825154af8e73154114ee8b3aefb125a614adac8c4a9363b5f98ca
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/152/202407181432_1721283773509_H169_1080.jpg" group-title="教育", CETV2
|
||||
https://mgtv.ottiptv.cc/migu/923287211.m3u8?migutoken=3cf7b14d71670c818d151270e448927a596b38825cd8da14293f2b7d57cb98b25a678b8f0131ac81dfcd4a1cf83ebc97516d545bff4c14530cbff28f67d2faa6fdb62d82b262660b84f0e706d8
|
||||
#EXTINF:-1 tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/022/154/202407181433_1721283860085_H169_1080.jpg" group-title="教育", CETV4
|
||||
https://mgtv.ottiptv.cc/migu/923287339.m3u8?migutoken=32a8a31ad17047c314ae6e9b125bdde78c228722c33e9f9af7c755f6750bcb9f175620e94703f4662ea1ae73c2ea7ed221fce1591626a308a0bcfb555bc447103dc057f82700df64f164a0d9ce
|
||||
#EXTINF:-1,tvg-id="cctv16" tvg-name="cctv16" tvg-logo="https://11.112114.xyz/logo/cctv16.png" group-title="央视",cctv16-MST
|
||||
https://mursor.ottiptv.cc/mst/cctv16.m3u8
|
||||
#EXTINF:-1,tvg-id="cctv16" tvg-name="cctv16" tvg-logo="https://11.112114.xyz/logo/cctv16.png" group-title="央视",cctv16-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cctv16.m3u8
|
||||
#EXTINF:-1,tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://11.112114.xyz/logo/cctv4k.png" group-title="央视",cctv4k-MXW
|
||||
https://mursor.ottiptv.cc/mxw/cctv4k.m3u8
|
||||
#EXTINF:-1,tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://11.112114.xyz/logo/cctv4k.png" group-title="央视",cctv4k-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cctv4k.m3u8
|
||||
#EXTINF:-1,tvg-id="cctv8k" tvg-name="cctv8k" tvg-logo="https://11.112114.xyz/logo/cctv8k.png" group-title="央视",cctv8k-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cctv8k.m3u8
|
||||
#EXTINF:-1,tvg-id="第一剧场" tvg-name="第一剧场" tvg-logo="https://11.112114.xyz/logo/第一剧场.png" group-title="央视",第一剧场-MCP
|
||||
https://mursor.ottiptv.cc/mcp/dyjc.m3u8
|
||||
#EXTINF:-1,tvg-id="cctv8k" tvg-name="风云剧场" tvg-logo="https://11.112114.xyz/logo/风云剧场.png" group-title="央视",风云剧场-MCP
|
||||
https://mursor.ottiptv.cc/mcp/fyjc.m3u8
|
||||
#EXTINF:-1,tvg-id="怀旧剧场" tvg-name="怀旧剧场" tvg-logo="https://11.112114.xyz/logo/怀旧剧场.png" group-title="央视",怀旧剧场-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hjjc.m3u8
|
||||
#EXTINF:-1,tvg-id="CGTNALBY" tvg-name="CGTNALBY" tvg-logo="https://11.112114.xyz/logo/CGTNALBY.png" group-title="央视",cgtnar-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtnar.m3u8
|
||||
#EXTINF:-1,tvg-id="cgtndocumentary" tvg-name="cgtndocumentary" tvg-logo="https://11.112114.xyz/logo/cgtndocumentary.png" group-title="央视",cgtndoc-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtndoc.m3u8
|
||||
#EXTINF:-1,tvg-id="CGTNEN" tvg-name="CGTNEN" tvg-logo="https://11.112114.xyz/logo/CGTN.png" group-title="央视",cgtn-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtn.m3u8
|
||||
#EXTINF:-1,tvg-id="cgtnfrench" tvg-name="cgtnfrench" tvg-logo="https://11.112114.xyz/logo/cgtnfrench.png" group-title="央视",cgtnfr-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtnfr.m3u8
|
||||
#EXTINF:-1,tvg-id="cgtnru" tvg-name="cgtnru" tvg-logo="https://11.112114.xyz/logo/CGTN1.png" group-title="央视",cgtnru-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtnru.m3u8
|
||||
#EXTINF:-1,tvg-id="cgtnsp" tvg-name="cgtnsp" tvg-logo="https://11.112114.xyz/logo/CGTN1.png" group-title="央视",cgtnsp-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cgtnsp.m3u8
|
||||
#EXTINF:-1,tvg-id="中国教育1台" tvg-name="中国教育1台" tvg-logo="https://11.112114.xyz/logo/中国教育1台.png" group-title="其他",中国教育电视台-MCP
|
||||
https://mursor.ottiptv.cc/mcp/cetv1.m3u8
|
||||
#EXTINF:-1,tvg-id="北京卫视" tvg-name="北京卫视" tvg-logo="https://11.112114.xyz/logo/北京卫视.png" group-title="卫视",北京卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/beijing.m3u8
|
||||
#EXTINF:-1,tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://11.112114.xyz/logo/湖南卫视.png" group-title="卫视",湖南卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hunan.m3u8
|
||||
#EXTINF:-1,tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://11.112114.xyz/logo/江苏卫视.png" group-title="卫视",江苏卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/jiangsu.m3u8
|
||||
#EXTINF:-1,tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://11.112114.xyz/logo/东方卫视.png" group-title="卫视",东方卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/dongfang.m3u8
|
||||
#EXTINF:-1,tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://11.112114.xyz/logo/浙江卫视.png" group-title="卫视",浙江卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/zhejiang.m3u8
|
||||
#EXTINF:-1,tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://11.112114.xyz/logo/湖北卫视.png" group-title="卫视",湖北卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hubei.m3u8
|
||||
#EXTINF:-1,tvg-id="天津卫视" tvg-name="天津卫视" tvg-logo="https://11.112114.xyz/logo/天津卫视.png" group-title="卫视",天津卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/tianjing.m3u8
|
||||
#EXTINF:-1,tvg-id="山东卫视" tvg-name="山东卫视" tvg-logo="https://11.112114.xyz/logo/山东卫视.png" group-title="卫视",山东卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/shandong.m3u8
|
||||
#EXTINF:-1,tvg-id="辽宁卫视" tvg-name="辽宁卫视" tvg-logo="https://11.112114.xyz/logo/辽宁卫视.png" group-title="卫视",辽宁卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/liaoning.m3u8
|
||||
#EXTINF:-1,tvg-id="安徽卫视" tvg-name="安徽卫视" tvg-logo="https://11.112114.xyz/logo/安徽卫视.png" group-title="卫视",安徽卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/anhui.m3u8
|
||||
#EXTINF:-1,tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" tvg-logo="https://11.112114.xyz/logo/黑龙江卫视.png" group-title="卫视",黑龙江卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/heilongjiang.m3u8
|
||||
#EXTINF:-1,tvg-id="贵州卫视" tvg-name="贵州卫视" tvg-logo="https://11.112114.xyz/logo/贵州卫视.png" group-title="卫视",贵州卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/guizhou.m3u8
|
||||
#EXTINF:-1,tvg-id="东南卫视" tvg-name="东南卫视" tvg-logo="https://11.112114.xyz/logo/东南卫视.png" group-title="卫视",东南卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/dongnan.m3u8
|
||||
#EXTINF:-1,tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://11.112114.xyz/logo/重庆卫视.png" group-title="卫视",重庆卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/chongqing.m3u8
|
||||
#EXTINF:-1,tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://11.112114.xyz/logo/江西卫视.png" group-title="卫视",江西卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/jiangxi.m3u8
|
||||
#EXTINF:-1,tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://11.112114.xyz/logo/广东卫视.png" group-title="卫视",广东卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/guangdong.m3u8
|
||||
#EXTINF:-1,tvg-id="河北卫视" tvg-name="河北卫视" tvg-logo="https://11.112114.xyz/logo/河北卫视.png" group-title="卫视",河北卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hebei.m3u8
|
||||
#EXTINF:-1,tvg-id="深圳卫视" tvg-name="深圳卫视" tvg-logo="https://11.112114.xyz/logo/深圳卫视.png" group-title="卫视",深圳卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/shenzheng.m3u8
|
||||
#EXTINF:-1,tvg-id="吉林卫视" tvg-name="吉林卫视" tvg-logo="https://11.112114.xyz/logo/吉林卫视.png" group-title="卫视",吉林卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/jiling.m3u8
|
||||
#EXTINF:-1,tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://11.112114.xyz/logo/河南卫视.png" group-title="卫视",河南卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/henan.m3u8
|
||||
#EXTINF:-1,tvg-id="四川卫视" tvg-name="四川卫视" tvg-logo="https://11.112114.xyz/logo/四川卫视.png" group-title="卫视",四川卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/sichuan.m3u8
|
||||
#EXTINF:-1,tvg-id="河北卫视" tvg-name="河北卫视" tvg-logo="https://11.112114.xyz/logo/河北卫视.png" group-title="卫视",河北卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hebei.m3u8
|
||||
#EXTINF:-1,tvg-id="广西卫视" tvg-name="广西卫视" tvg-logo="https://11.112114.xyz/logo/广西卫视.png" group-title="卫视",广西卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/guangxi.m3u8
|
||||
#EXTINF:-1,tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://11.112114.xyz/logo/陕西卫视.png" group-title="卫视",陕西卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/shanxiws.m3u8
|
||||
#EXTINF:-1,tvg-id="山西卫视" tvg-name="山西卫视" tvg-logo="https://11.112114.xyz/logo/山西卫视.png" group-title="卫视",山西卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/shanxi.m3u8
|
||||
#EXTINF:-1,tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" tvg-logo="https://11.112114.xyz/logo/内蒙古卫视.png" group-title="卫视",内蒙古卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/neimenggu.m3u8
|
||||
#EXTINF:-1,tvg-id="青海卫视" tvg-name="青海卫视" tvg-logo="https://11.112114.xyz/logo/青海卫视.png" group-title="卫视",青海卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/qinghai.m3u8
|
||||
#EXTINF:-1,tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://11.112114.xyz/logo/海南卫视.png" group-title="卫视",海南卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/hainan.m3u8
|
||||
#EXTINF:-1,tvg-id="宁夏卫视" tvg-name="宁夏卫视" tvg-logo="https://11.112114.xyz/logo/宁夏卫视.png" group-title="卫视",宁夏卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/ningxia.m3u8
|
||||
#EXTINF:-1,tvg-id="西藏卫视" tvg-name="西藏卫视" tvg-logo="https://11.112114.xyz/logo/西藏卫视.png" group-title="卫视",西藏卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/xizang.m3u8
|
||||
#EXTINF:-1,tvg-id="新疆卫视" tvg-name="新疆卫视" tvg-logo="https://11.112114.xyz/logo/新疆卫视.png" group-title="卫视",新疆卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/xinjiang.m3u8
|
||||
#EXTINF:-1,tvg-id="甘肃卫视" tvg-name="甘肃卫视" tvg-logo="https://11.112114.xyz/logo/甘肃卫视.png" group-title="卫视",甘肃卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/gansu.m3u8
|
||||
#EXTINF:-1,tvg-id="云南卫视" tvg-name="云南卫视" tvg-logo="https://11.112114.xyz/logo/云南卫视.png" group-title="卫视",云南卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/yunnan.m3u8
|
||||
#EXTINF:-1,tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://11.112114.xyz/logo/兵团卫视.png" group-title="卫视",兵团卫视-MCP
|
||||
https://mursor.ottiptv.cc/mcp/bintuan.m3u8
|
||||
|
|
@ -0,0 +1,577 @@
|
|||
/*!
|
||||
* Jinja Templating for JavaScript v0.1.8
|
||||
* https://github.com/sstur/jinja-js
|
||||
*
|
||||
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
|
||||
*
|
||||
* In the interest of simplicity, it deviates from Jinja2 as follows:
|
||||
* - Line statements, cycle, super, macro tags and block nesting are not implemented
|
||||
* - auto escapes html by default (the filter is "html" not "e")
|
||||
* - Only "html" and "safe" filters are built in
|
||||
* - Filters are not valid in expressions; `foo|length > 1` is not valid
|
||||
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
|
||||
*
|
||||
* Notes:
|
||||
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
|
||||
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
|
||||
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
|
||||
* - `.2` is not a valid number literal; use `0.2`
|
||||
*
|
||||
*/
|
||||
/*global require, exports, module, define */
|
||||
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
||||
})(this, (function (jinja) {
|
||||
"use strict";
|
||||
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
|
||||
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
|
||||
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
|
||||
//non-primitive literals (array and object literals)
|
||||
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
|
||||
//bare identifiers such as variables and in object literals: {foo: 'value'}
|
||||
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
|
||||
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
|
||||
var ACCESSOR = /(\.i|\[[@#i]\])/g;
|
||||
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
|
||||
//extended (english) operators
|
||||
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
|
||||
var LEADING_SPACE = /^\s+/;
|
||||
var TRAILING_SPACE = /\s+$/;
|
||||
|
||||
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
|
||||
var TAGS = {
|
||||
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
|
||||
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
|
||||
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
|
||||
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
|
||||
};
|
||||
|
||||
var delimeters = {
|
||||
'{%': 'directive',
|
||||
'{{': 'output',
|
||||
'{#': 'comment'
|
||||
};
|
||||
|
||||
var operators = {
|
||||
and: '&&',
|
||||
or: '||',
|
||||
not: '!',
|
||||
is: '==',
|
||||
isnot: '!='
|
||||
};
|
||||
|
||||
var constants = {
|
||||
'true': true,
|
||||
'false': false,
|
||||
'null': null
|
||||
};
|
||||
|
||||
function Parser() {
|
||||
this.nest = [];
|
||||
this.compiled = [];
|
||||
this.childBlocks = 0;
|
||||
this.parentBlocks = 0;
|
||||
this.isSilent = false;
|
||||
}
|
||||
|
||||
Parser.prototype.push = function (line) {
|
||||
if (!this.isSilent) {
|
||||
this.compiled.push(line);
|
||||
}
|
||||
};
|
||||
|
||||
Parser.prototype.parse = function (src) {
|
||||
this.tokenize(src);
|
||||
return this.compiled;
|
||||
};
|
||||
|
||||
Parser.prototype.tokenize = function (src) {
|
||||
var lastEnd = 0, parser = this, trimLeading = false;
|
||||
matchAll(src, START_TOKEN, function (open, index, src) {
|
||||
//here we match the rest of the src against a regex for this tag
|
||||
var match = src.slice(index + open.length).match(TAGS[open]);
|
||||
match = (match ? match[0] : '');
|
||||
//here we sub out strings so we don't get false matches
|
||||
var simplified = match.replace(STRINGS, '@');
|
||||
//if we don't have a close tag or there is a nested open tag
|
||||
if (!match || ~simplified.indexOf(open)) {
|
||||
return index + 1;
|
||||
}
|
||||
var inner = match.slice(0, 0 - open.length);
|
||||
//check for white-space collapse syntax
|
||||
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
|
||||
if (inner.slice(-1) === '-') var wsCollapseRight = true;
|
||||
inner = inner.replace(/^-|-$/g, '').trim();
|
||||
//if we're in raw mode and we are not looking at an "endraw" tag, move along
|
||||
if (parser.rawMode && (open + inner) !== '{%endraw') {
|
||||
return index + 1;
|
||||
}
|
||||
var text = src.slice(lastEnd, index);
|
||||
lastEnd = index + open.length + match.length;
|
||||
if (trimLeading) text = trimLeft(text);
|
||||
if (wsCollapseLeft) text = trimRight(text);
|
||||
if (wsCollapseRight) trimLeading = true;
|
||||
if (open === '{{{') {
|
||||
//liquid-style: make {{{x}}} => {{x|safe}}
|
||||
open = '{{';
|
||||
inner += '|safe';
|
||||
}
|
||||
parser.textHandler(text);
|
||||
parser.tokenHandler(open, inner);
|
||||
});
|
||||
var text = src.slice(lastEnd);
|
||||
if (trimLeading) text = trimLeft(text);
|
||||
this.textHandler(text);
|
||||
};
|
||||
|
||||
Parser.prototype.textHandler = function (text) {
|
||||
this.push('write(' + JSON.stringify(text) + ');');
|
||||
};
|
||||
|
||||
Parser.prototype.tokenHandler = function (open, inner) {
|
||||
var type = delimeters[open];
|
||||
if (type === 'directive') {
|
||||
this.compileTag(inner);
|
||||
} else if (type === 'output') {
|
||||
var extracted = this.extractEnt(inner, STRINGS, '@');
|
||||
//replace || operators with ~
|
||||
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
|
||||
//put back || operators
|
||||
extracted.src = extracted.src.map(function (part) {
|
||||
return part.split('~').join('||');
|
||||
});
|
||||
var parts = this.injectEnt(extracted, '@');
|
||||
if (parts.length > 1) {
|
||||
var filters = parts.slice(1).map(this.parseFilter.bind(this));
|
||||
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
|
||||
} else {
|
||||
this.push('filter(' + this.parseExpr(parts[0]) + ');');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Parser.prototype.compileTag = function (str) {
|
||||
var directive = str.split(' ')[0];
|
||||
var handler = tagHandlers[directive];
|
||||
if (!handler) {
|
||||
throw new Error('Invalid tag: ' + str);
|
||||
}
|
||||
handler.call(this, str.slice(directive.length).trim());
|
||||
};
|
||||
|
||||
Parser.prototype.parseFilter = function (src) {
|
||||
src = src.trim();
|
||||
var match = src.match(/[:(]/);
|
||||
var i = match ? match.index : -1;
|
||||
if (i < 0) return JSON.stringify([src]);
|
||||
var name = src.slice(0, i);
|
||||
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
|
||||
args = this.parseExpr(args, {terms: true});
|
||||
return '[' + JSON.stringify(name) + ',' + args + ']';
|
||||
};
|
||||
|
||||
Parser.prototype.extractEnt = function (src, regex, placeholder) {
|
||||
var subs = [], isFunc = typeof placeholder == 'function';
|
||||
src = src.replace(regex, function (str) {
|
||||
var replacement = isFunc ? placeholder(str) : placeholder;
|
||||
if (replacement) {
|
||||
subs.push(str);
|
||||
return replacement;
|
||||
}
|
||||
return str;
|
||||
});
|
||||
return {src: src, subs: subs};
|
||||
};
|
||||
|
||||
Parser.prototype.injectEnt = function (extracted, placeholder) {
|
||||
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
|
||||
var arr = (isArr) ? src : [src];
|
||||
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
|
||||
arr.forEach(function (src, index) {
|
||||
arr[index] = src.replace(re, function () {
|
||||
return subs[i++];
|
||||
});
|
||||
});
|
||||
return isArr ? arr : arr[0];
|
||||
};
|
||||
|
||||
//replace complex literals without mistaking subscript notation with array literals
|
||||
Parser.prototype.replaceComplex = function (s) {
|
||||
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
|
||||
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
|
||||
return this.injectEnt(parsed, 'v');
|
||||
};
|
||||
|
||||
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
|
||||
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
|
||||
Parser.prototype.parseExpr = function (src, opts) {
|
||||
opts = opts || {};
|
||||
//extract string literals -> @
|
||||
var parsed1 = this.extractEnt(src, STRINGS, '@');
|
||||
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
|
||||
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
|
||||
return (op in operators) ? before + operators[op] + after : s;
|
||||
});
|
||||
//sub out non-string literals (numbers/true/false/null) -> #
|
||||
// the distinction is necessary because @ can be object identifiers, # cannot
|
||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
|
||||
return (s in constants || NUMBER.test(s)) ? '#' : null;
|
||||
});
|
||||
//sub out object/variable identifiers -> i
|
||||
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
|
||||
//remove white-space
|
||||
parsed3.src = parsed3.src.replace(/\s+/g, '');
|
||||
|
||||
//the rest of this is simply to boil the expression down and check validity
|
||||
var simplified = parsed3.src;
|
||||
//sub out complex literals (objects/arrays) -> ~
|
||||
// the distinction is necessary because @ and # can be subscripts but ~ cannot
|
||||
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
|
||||
//now @ represents strings, # represents other primitives and ~ represents non-primitives
|
||||
//replace complex variables (those with dot/subscript accessors) -> v
|
||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
|
||||
//empty subscript or complex variables in subscript, are not permitted
|
||||
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
|
||||
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
|
||||
simplified = simplified.replace(/[@#~v]/g, 'i');
|
||||
//sub out operators
|
||||
simplified = simplified.replace(OPERATORS, '%');
|
||||
//allow 'not' unary operator
|
||||
simplified = simplified.replace(/!+[i]/g, 'i');
|
||||
var terms = opts.terms ? simplified.split(',') : [simplified];
|
||||
terms.forEach(function (term) {
|
||||
//simplify logical grouping
|
||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
|
||||
if (!term.match(/^i(%i)*/)) {
|
||||
throw new Error('Invalid expression: ' + src + " " + term);
|
||||
}
|
||||
});
|
||||
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
|
||||
parsed2.src = this.injectEnt(parsed3, 'i');
|
||||
parsed1.src = this.injectEnt(parsed2, '#');
|
||||
return this.injectEnt(parsed1, '@');
|
||||
};
|
||||
|
||||
Parser.prototype.parseVar = function (src) {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
var str = args.pop(), index = args.pop();
|
||||
//quote bare object identifiers (might be a reserved word like {while: 1})
|
||||
if (src === 'i' && str.charAt(index + 1) === ':') {
|
||||
return '"i"';
|
||||
}
|
||||
var parts = ['"i"'];
|
||||
src.replace(ACCESSOR, function (part) {
|
||||
if (part === '.i') {
|
||||
parts.push('"i"');
|
||||
} else if (part === '[i]') {
|
||||
parts.push('get("i")');
|
||||
} else {
|
||||
parts.push(part.slice(1, -1));
|
||||
}
|
||||
});
|
||||
return 'get(' + parts.join(',') + ')';
|
||||
};
|
||||
|
||||
//escapes a name to be used as a javascript identifier
|
||||
Parser.prototype.escName = function (str) {
|
||||
return str.replace(/\W/g, function (s) {
|
||||
return '$' + s.charCodeAt(0).toString(16);
|
||||
});
|
||||
};
|
||||
|
||||
Parser.prototype.parseQuoted = function (str) {
|
||||
if (str.charAt(0) === "'") {
|
||||
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
|
||||
if (s === "\\'") return "'";
|
||||
return s.charAt(0) === '\\' ? s : ('\\' + s);
|
||||
});
|
||||
str = '"' + str + '"';
|
||||
}
|
||||
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
|
||||
return JSON.parse(str);
|
||||
};
|
||||
|
||||
|
||||
//the context 'this' inside tagHandlers is the parser instance
|
||||
var tagHandlers = {
|
||||
'if': function (expr) {
|
||||
this.push('if (' + this.parseExpr(expr) + ') {');
|
||||
this.nest.unshift('if');
|
||||
},
|
||||
'else': function () {
|
||||
if (this.nest[0] === 'for') {
|
||||
this.push('}, function() {');
|
||||
} else {
|
||||
this.push('} else {');
|
||||
}
|
||||
},
|
||||
'elseif': function (expr) {
|
||||
this.push('} else if (' + this.parseExpr(expr) + ') {');
|
||||
},
|
||||
'endif': function () {
|
||||
this.nest.shift();
|
||||
this.push('}');
|
||||
},
|
||||
'for': function (str) {
|
||||
var i = str.indexOf(' in ');
|
||||
var name = str.slice(0, i).trim();
|
||||
var expr = str.slice(i + 4).trim();
|
||||
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
|
||||
this.nest.unshift('for');
|
||||
},
|
||||
'endfor': function () {
|
||||
this.nest.shift();
|
||||
this.push('});');
|
||||
},
|
||||
'raw': function () {
|
||||
this.rawMode = true;
|
||||
},
|
||||
'endraw': function () {
|
||||
this.rawMode = false;
|
||||
},
|
||||
'set': function (stmt) {
|
||||
var i = stmt.indexOf('=');
|
||||
var name = stmt.slice(0, i).trim();
|
||||
var expr = stmt.slice(i + 1).trim();
|
||||
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
|
||||
},
|
||||
'block': function (name) {
|
||||
if (this.isParent) {
|
||||
++this.parentBlocks;
|
||||
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
|
||||
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
|
||||
} else if (this.hasParent) {
|
||||
this.isSilent = false;
|
||||
++this.childBlocks;
|
||||
blockName = 'block_' + (this.escName(name) || this.childBlocks);
|
||||
this.push('function ' + blockName + '() {');
|
||||
}
|
||||
this.nest.unshift('block');
|
||||
},
|
||||
'endblock': function () {
|
||||
this.nest.shift();
|
||||
if (this.isParent) {
|
||||
this.push('});');
|
||||
} else if (this.hasParent) {
|
||||
this.push('}');
|
||||
this.isSilent = true;
|
||||
}
|
||||
},
|
||||
'extends': function (name) {
|
||||
name = this.parseQuoted(name);
|
||||
var parentSrc = this.readTemplateFile(name);
|
||||
this.isParent = true;
|
||||
this.tokenize(parentSrc);
|
||||
this.isParent = false;
|
||||
this.hasParent = true;
|
||||
//silence output until we enter a child block
|
||||
this.isSilent = true;
|
||||
},
|
||||
'include': function (name) {
|
||||
name = this.parseQuoted(name);
|
||||
var incSrc = this.readTemplateFile(name);
|
||||
this.isInclude = true;
|
||||
this.tokenize(incSrc);
|
||||
this.isInclude = false;
|
||||
}
|
||||
};
|
||||
|
||||
//liquid style
|
||||
tagHandlers.assign = tagHandlers.set;
|
||||
//python/django style
|
||||
tagHandlers.elif = tagHandlers.elseif;
|
||||
|
||||
var getRuntime = function runtime(data, opts) {
|
||||
var defaults = {autoEscape: 'toJson'};
|
||||
var _toString = Object.prototype.toString;
|
||||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
var getKeys = Object.keys || function (obj) {
|
||||
var keys = [];
|
||||
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
||||
return keys;
|
||||
};
|
||||
var isArray = Array.isArray || function (obj) {
|
||||
return _toString.call(obj) === '[object Array]';
|
||||
};
|
||||
var create = Object.create || function (obj) {
|
||||
function F() {
|
||||
}
|
||||
|
||||
F.prototype = obj;
|
||||
return new F();
|
||||
};
|
||||
var toString = function (val) {
|
||||
if (val == null) return '';
|
||||
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
|
||||
};
|
||||
var extend = function (dest, src) {
|
||||
var keys = getKeys(src);
|
||||
for (var i = 0, len = keys.length; i < len; i++) {
|
||||
var key = keys[i];
|
||||
dest[key] = src[key];
|
||||
}
|
||||
return dest;
|
||||
};
|
||||
//get a value, lexically, starting in current context; a.b -> get("a","b")
|
||||
var get = function () {
|
||||
var val, n = arguments[0], c = stack.length;
|
||||
while (c--) {
|
||||
val = stack[c][n];
|
||||
if (typeof val != 'undefined') break;
|
||||
}
|
||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
||||
if (val == null) continue;
|
||||
n = arguments[i];
|
||||
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
|
||||
}
|
||||
return (val == null) ? '' : val;
|
||||
};
|
||||
var set = function (n, val) {
|
||||
stack[stack.length - 1][n] = val;
|
||||
};
|
||||
var push = function (ctx) {
|
||||
stack.push(ctx || {});
|
||||
};
|
||||
var pop = function () {
|
||||
stack.pop();
|
||||
};
|
||||
var write = function (str) {
|
||||
output.push(str);
|
||||
};
|
||||
var filter = function (val) {
|
||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
||||
var arr = arguments[i], name = arr[0], filter = filters[name];
|
||||
if (filter) {
|
||||
arr[0] = val;
|
||||
//now arr looks like [val, arg1, arg2]
|
||||
val = filter.apply(data, arr);
|
||||
} else {
|
||||
throw new Error('Invalid filter: ' + name);
|
||||
}
|
||||
}
|
||||
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
|
||||
//auto escape if not explicitly safe or already escaped
|
||||
val = filters[opts.autoEscape].call(data, val);
|
||||
}
|
||||
output.push(val);
|
||||
};
|
||||
var each = function (obj, loopvar, fn1, fn2) {
|
||||
if (obj == null) return;
|
||||
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
|
||||
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
|
||||
push(ctx);
|
||||
for (var i = 0; i < len; i++) {
|
||||
extend(ctx.loop, {index: i + 1, index0: i});
|
||||
fn1(ctx[loopvar] = arr[i]);
|
||||
}
|
||||
if (len === 0 && fn2) fn2();
|
||||
pop();
|
||||
};
|
||||
var block = function (fn) {
|
||||
push();
|
||||
fn();
|
||||
pop();
|
||||
};
|
||||
var render = function () {
|
||||
return output.join('');
|
||||
};
|
||||
data = data || {};
|
||||
opts = extend(defaults, opts || {});
|
||||
var filters = extend({
|
||||
html: function (val) {
|
||||
return toString(val)
|
||||
.split('&').join('&')
|
||||
.split('<').join('<')
|
||||
.split('>').join('>')
|
||||
.split('"').join('"');
|
||||
},
|
||||
safe: function (val) {
|
||||
return val;
|
||||
},
|
||||
toJson: function (val) {
|
||||
if (typeof val === 'object') {
|
||||
return JSON.stringify(val);
|
||||
}
|
||||
return toString(val);
|
||||
}
|
||||
}, opts.filters || {});
|
||||
var stack = [create(data || {})], output = [];
|
||||
return {
|
||||
get: get,
|
||||
set: set,
|
||||
push: push,
|
||||
pop: pop,
|
||||
write: write,
|
||||
filter: filter,
|
||||
each: each,
|
||||
block: block,
|
||||
render: render
|
||||
};
|
||||
};
|
||||
|
||||
var runtime;
|
||||
|
||||
jinja.compile = function (markup, opts) {
|
||||
opts = opts || {};
|
||||
var parser = new Parser();
|
||||
parser.readTemplateFile = this.readTemplateFile;
|
||||
var code = [];
|
||||
code.push('function render($) {');
|
||||
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
||||
code.push.apply(code, parser.parse(markup));
|
||||
code.push('return $.render();');
|
||||
code.push('}');
|
||||
code = code.join('\n');
|
||||
if (opts.runtime === false) {
|
||||
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
||||
} else {
|
||||
runtime = runtime || (runtime = getRuntime.toString());
|
||||
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
||||
}
|
||||
return {render: fn};
|
||||
};
|
||||
|
||||
jinja.render = function (markup, data, opts) {
|
||||
var tmpl = jinja.compile(markup);
|
||||
return tmpl.render(data, opts);
|
||||
};
|
||||
|
||||
jinja.templateFiles = [];
|
||||
|
||||
jinja.readTemplateFile = function (name) {
|
||||
var templateFiles = this.templateFiles || [];
|
||||
var templateFile = templateFiles[name];
|
||||
if (templateFile == null) {
|
||||
throw new Error('Template file not found: ' + name);
|
||||
}
|
||||
return templateFile;
|
||||
};
|
||||
|
||||
|
||||
/*!
|
||||
* Helpers
|
||||
*/
|
||||
|
||||
function trimLeft(str) {
|
||||
return str.replace(LEADING_SPACE, '');
|
||||
}
|
||||
|
||||
function trimRight(str) {
|
||||
return str.replace(TRAILING_SPACE, '');
|
||||
}
|
||||
|
||||
function matchAll(str, reg, fn) {
|
||||
//copy as global
|
||||
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
||||
var match;
|
||||
while ((match = reg.exec(str))) {
|
||||
var result = fn(match[0], match.index, str);
|
||||
if (typeof result == 'number') {
|
||||
reg.lastIndex = result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}));
|
||||
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
|
|
@ -0,0 +1,26 @@
|
|||
var rule = {
|
||||
title:'兔小贝',
|
||||
host:'https://www.tuxiaobei.com',
|
||||
homeUrl:'',
|
||||
url:'/list/mip-data?typeId=fyclass&page=fypage&callback=',
|
||||
detailUrl:'/play/fyid',
|
||||
searchUrl:'/search/index?key=**',
|
||||
searchable:2,
|
||||
headers:{
|
||||
'User-Agent':'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
class_url:'2&3&4&25',
|
||||
class_name:'儿歌&故事&国学&启蒙',
|
||||
//class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)',
|
||||
cate_exclude:'应用',
|
||||
推荐:'.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href',
|
||||
double:true,
|
||||
limit:5,
|
||||
play_parse:true,
|
||||
lazy:'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;',
|
||||
// 一级:'json:data.items;name;image;collect_num;category_id+video_id',
|
||||
一级:'json:data.items;name;image;duration_string;video_id',
|
||||
二级:'*',
|
||||
搜索:'.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href',
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,37 @@
|
|||
var rule = {
|
||||
title:'有声小说吧',
|
||||
编码:'gb18030',
|
||||
host:'http://m.ysxs8.top',
|
||||
url:'/downlist/fyclass_fypage.html',
|
||||
searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
headers:{
|
||||
'User-Agent':'MOBILE_UA'
|
||||
},
|
||||
timeout:5000,
|
||||
// homeUrl:'/fenlei/',
|
||||
// class_parse: '.pd-class:eq(0) dd;a&&Text;a&&href;.*/(.*?).html',
|
||||
class_name:'网络玄幻&恐怖悬疑&传统武侠&都市言情&官场刑侦&历史军事&探险盗墓&职场商战&明朝那些事儿&评书下载&相声戏曲&人物传记&广播剧&百家讲坛&外语读物&有声文学&儿童读物&管理营销',
|
||||
class_url:'r52&r17&r12&r13&r14&r15&r45&r81&r36&r3&r7&r16&r18&r32&r35&r41&r4&r6',
|
||||
play_parse:true,
|
||||
lazy:'',
|
||||
limit:6,
|
||||
// double:true,
|
||||
推荐:'.list-ul .list-li;.list-name&&Text;*;.module-slide-author&&Text;*',
|
||||
一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-meta&&Text;a&&href',
|
||||
二级:{
|
||||
// title:'h2&&Text;.book-cell .book-rand-a:eq(2)&&Text',
|
||||
title:'h1&&Text;.book-cell .book-rand-a:eq(0)&&a&&Text',
|
||||
img:'.book img&&src',
|
||||
// desc:';;;;.book-des p&&Text',
|
||||
desc:';;;.book-rand-a:eq(2)&&Text;.book-des p&&Text',
|
||||
content:'.book-des--p&&Text',
|
||||
tabs:'.playlist-top&&h2',
|
||||
// lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);',
|
||||
// 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放)
|
||||
// lists:'#playlist:eq(#id)&&ul&&li',
|
||||
lists:'#playlist ul li',
|
||||
},
|
||||
搜索:'*',
|
||||
}
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
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=**&limit=50',
|
||||
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',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐:'.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};
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
var rule = {
|
||||
title:'趣盘搜[夸]',
|
||||
host:'https://v.funletu.com',
|
||||
homeUrl:'/',
|
||||
url: '/forum-fyclass-fypage.html?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: 'json:/search#{"style":"get","datasrc":"search","query":{"id":"","datetime":"","commonid":1,"parmid":"","fileid":"","reportid":"","validid":"","searchtext":"**"},"page":{"pageSize":10,"pageIndex":1},"order":{"prop":"id","order":"desc"},"message":"请求资源列表数据"};postjson',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': PC_UA,
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://pan.funletu.com/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'',
|
||||
class_url:'',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
一级:'',
|
||||
二级:`js:
|
||||
VOD.vod_play_from = "夸克網盤";
|
||||
VOD.vod_remarks = detailUrl;
|
||||
VOD.vod_actor = "沒有二級,只有一級鏈接直接推送播放";
|
||||
VOD.vod_content = MY_URL;
|
||||
VOD.vod_play_url = "夸克網盤$" + detailUrl;
|
||||
`,
|
||||
搜索:`js:
|
||||
let postJson = {
|
||||
style:"get",
|
||||
datasrc:"search",
|
||||
query:{
|
||||
id:"",
|
||||
datetime:"",
|
||||
commonid:1,
|
||||
parmid:"",
|
||||
fileid:"",
|
||||
reportid:"",
|
||||
validid:"",
|
||||
searchtext: KEY
|
||||
},
|
||||
page:{ pageSize:20, pageIndex: MY_PAGE },
|
||||
order:{prop:"id",order:"desc"},
|
||||
message:"请求资源列表数据"
|
||||
};
|
||||
let postData = {
|
||||
method: "POST",
|
||||
body: postJson
|
||||
};
|
||||
log("funletu search postData1>>>>>>>>>>>>>>>" + JSON.stringify(postData));
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, postData);
|
||||
log("funletu search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let new_html=post(rule.homeUrl + 'search', _fetch_params);
|
||||
//log("funletu search result>>>>>>>>>>>>>>>" + new_html);
|
||||
let json=JSON.parse(new_html);
|
||||
let d=[]
|
||||
for(const it in json["data"]){
|
||||
if (json.data.hasOwnProperty(it)){
|
||||
log("funletu search it>>>>>>>>>>>>>>>" + JSON.stringify(json.data[it]));
|
||||
if (json.data[it].valid === 0){
|
||||
d.push({
|
||||
title:json.data[it].title,
|
||||
img:'',
|
||||
content:json.data[it].updatetime,
|
||||
desc:json.data[it].updatetime,
|
||||
url:'push://'+json.data[it].url.split("?")[0]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,499 @@
|
|||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.config.js
|
||||
var index_config_exports = {};
|
||||
__export(index_config_exports, {
|
||||
default: () => index_config_default
|
||||
});
|
||||
module.exports = __toCommonJS(index_config_exports);
|
||||
var index_config_default = {
|
||||
kunyu77: {
|
||||
testcfg: {
|
||||
bbbb: "aaaaa"
|
||||
}
|
||||
},
|
||||
commonConfig: {
|
||||
panOrder: 'uc|p123|quark|ali|ty|115',
|
||||
},
|
||||
ali: {
|
||||
thread: "4",
|
||||
chunkSize: "400",
|
||||
token: ""
|
||||
},
|
||||
quark: {
|
||||
thread: "6",
|
||||
chunkSize: "256",
|
||||
//实际为256KB
|
||||
cookie: ""
|
||||
},
|
||||
uc: {
|
||||
cookie: "",
|
||||
token: "",
|
||||
ut:""
|
||||
},
|
||||
y115: {
|
||||
cookie: ""
|
||||
},
|
||||
tyi: {
|
||||
username: "",
|
||||
password: ""
|
||||
},
|
||||
p123: {
|
||||
username: "",
|
||||
password: ""
|
||||
},
|
||||
xiaoya: {
|
||||
url: "https://tvbox.omii.top/vod1/DixHtoGB"
|
||||
},
|
||||
yiso: {
|
||||
url: "https://yiso.fun",
|
||||
cookie: ""
|
||||
},
|
||||
bili: {
|
||||
categories: "经典无损音乐合集#帕梅拉#太极拳#健身#舞蹈#音乐#歌曲#MV4K#演唱会4K#白噪音4K#知名UP主#说案#解说#演讲#时事#探索发现超清#纪录片超清#沙雕动画#沙雕穿越#沙雕#平面设计教学#软件教程#实用教程#旅游#风景4K#食谱#美食超清#搞笑#球星#动物世界超清#相声小品#戏曲#儿童#小姐姐4K#热门#旅行探险",
|
||||
cookie: ""
|
||||
},
|
||||
tgsou: {
|
||||
tgPic: false,
|
||||
//每个频道返回数量
|
||||
count: "4",
|
||||
url: 'https://tgsou.651156.xyz',
|
||||
channelUsername: "xx123pan,Q66Share,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,NewQuark,Mbox115,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,longzbija,alyp_4K_Movies,yunpanshare,shareAliyun,ikiviyyp,alyp_1",
|
||||
},
|
||||
wogg: {
|
||||
url: 'http://woggpan.xxooo.cf',
|
||||
},
|
||||
tudou: {
|
||||
url: "https://tudou.lvdoui.top"
|
||||
},
|
||||
wobg: {
|
||||
url: "https://wobge.run.goorm.io/"
|
||||
},
|
||||
czzy: {
|
||||
url: "https://cz01.vip"
|
||||
},
|
||||
hezi: {
|
||||
url: "https://www.fygame.top/"
|
||||
},
|
||||
ttkx: {
|
||||
url: "http://ttkx.live:7728/"
|
||||
},
|
||||
cm: {
|
||||
url: "https://tv.yydsys.top"
|
||||
},
|
||||
libvio: {
|
||||
url: "https://libvio.app/"
|
||||
},
|
||||
xxpan: {
|
||||
url: "https://xpanpan.site"
|
||||
},
|
||||
m3u8cj: {
|
||||
ykm3u8: [{
|
||||
name: "360源",
|
||||
url: "https://360zy.com/api.php/seaxml/vod/",
|
||||
categories: [],
|
||||
search: true
|
||||
}],
|
||||
doubanm3u8: [{
|
||||
name: "豆瓣采集",
|
||||
url: "https://caiji.dbzy.tv/api.php/provide/vod/from/dbm3u8/at/josn/",
|
||||
categories: [],
|
||||
search: true
|
||||
}],
|
||||
hmm3u8: [{
|
||||
name: "黑木耳",
|
||||
url: "https://json02.heimuer.xyz/api.php/provide/vod/",
|
||||
categories: [],
|
||||
search: true
|
||||
}],
|
||||
clm3u8: [{
|
||||
name: "暴风",
|
||||
url: "https://bfzyapi.com/api.php/provide/vod/",
|
||||
categories: [],
|
||||
search: true
|
||||
}],
|
||||
askm3u8: [{
|
||||
name: "魔都",
|
||||
url: "https://www.mdzyapi.com/api.php/provide/vod/?ac=list",
|
||||
search: true
|
||||
}],
|
||||
sngm3u8: [{
|
||||
name: "ikun",
|
||||
url: "https://ikunzyapi.com/api.php/provide/vod/",
|
||||
search: true
|
||||
}],
|
||||
ptm3u8: [{
|
||||
name: "非凡",
|
||||
url: "http://api.ffzyapi.com/api.php/provide/vod/",
|
||||
search: true
|
||||
}],
|
||||
swm3u8: [{
|
||||
name: "量子",
|
||||
url: "https://cj.lziapi.com/api.php/provide/vod/",
|
||||
categories: [],
|
||||
search: true
|
||||
}]
|
||||
},
|
||||
appys: {
|
||||
ttmja: [{
|
||||
name: "天天美剧",
|
||||
url: "https://www.ttmja.com/api.php/app/",
|
||||
// categories: ['国产剧', '香港剧', '韩国剧', '欧美剧', '台湾剧', '日本剧', '海外剧', '泰国剧', '短剧', '动作片', '喜剧片', '爱情片', '科幻片', '恐怖片', '剧情片', '战争片', '动漫片', '大陆综艺', '港台综艺', '日韩综艺', '欧美综艺', '国产动漫', '日韩动漫', '欧美动漫', '港台动漫', '海外动漫', '记录片'],
|
||||
search: true
|
||||
//搜索开关 true开 false关
|
||||
}],
|
||||
netfly: [{
|
||||
name: "奈飞",
|
||||
url: "http://www.netfly.tv/api.php/app/",
|
||||
// categories: ['国产剧', '香港剧', '韩国剧', '欧美剧', '台湾剧', '日本剧', '海外剧', '泰国剧', '短剧', '动作片', '喜剧片', '爱情片', '科幻片', '恐怖片', '剧情片', '战争片', '动漫片', '大陆综艺', '港台综艺', '日韩综艺', '欧美综艺', '国产动漫', '日韩动漫', '欧美动漫', '港台动漫', '海外动漫', '记录片'],
|
||||
search: true
|
||||
//搜索开关 true开 false关
|
||||
}]
|
||||
},
|
||||
alist: [
|
||||
{
|
||||
"name": "合集",
|
||||
"server": "http://www.jczyl.top:5244/"
|
||||
},
|
||||
{
|
||||
"name": "东哥",
|
||||
"server": "http://101.34.67.237:5244/"
|
||||
},
|
||||
{
|
||||
"name": "美云",
|
||||
"server": "https://h.dfjx.ltd/"
|
||||
},
|
||||
{
|
||||
"name": "小新",
|
||||
"server": "https://pan.cdnxin.top/"
|
||||
},
|
||||
{
|
||||
"name": "白云",
|
||||
"server": "http://breadmyth.asuscomm.com:22222/"
|
||||
},
|
||||
{
|
||||
"name": "小鸭",
|
||||
"server": "http://www.214728327.xyz:5201/"
|
||||
},
|
||||
{
|
||||
"name": "瑶瑶",
|
||||
"server": "https://lyly.run.goorm.io/"
|
||||
},
|
||||
{
|
||||
"name": "潇洒",
|
||||
"server": "https://alist.azad.asia/"
|
||||
},
|
||||
{
|
||||
"name": "鹏程",
|
||||
"server": "https://pan.pengcheng.team/"
|
||||
},
|
||||
{
|
||||
"name": "浅唱",
|
||||
"server": "http://vtok.pp.ua/"
|
||||
},
|
||||
{
|
||||
"name": "小丫",
|
||||
"server": "http://alist.xiaoya.pro/"
|
||||
},
|
||||
{
|
||||
"name": "触光",
|
||||
"server": "https://pan.ichuguang.com"
|
||||
},
|
||||
{
|
||||
"name": "弱水",
|
||||
"server": "http://shicheng.wang:555/"
|
||||
},
|
||||
{
|
||||
"name": "神器",
|
||||
"server": "https://alist.ygxz.xyz/"
|
||||
},
|
||||
{
|
||||
"name": "资源",
|
||||
"server": "https://pan.ecve.cn/"
|
||||
},
|
||||
{
|
||||
"name": "雨呢",
|
||||
"server": "https://pan.clun.top/"
|
||||
},
|
||||
{
|
||||
"name": "oeio",
|
||||
"server": "https://o.oeio.repl.co/"
|
||||
},
|
||||
{
|
||||
"name": "悦享",
|
||||
"server": "https://nics.eu.org/"
|
||||
},
|
||||
{
|
||||
"name": "分享",
|
||||
"server": "https://ofoo.ml/"
|
||||
},
|
||||
{
|
||||
"name": "PRO",
|
||||
"server": "https://alist.prpr.run/"
|
||||
},
|
||||
{
|
||||
"name": "多多",
|
||||
"server": "https://pan.xwbeta.com"
|
||||
},
|
||||
{
|
||||
"name": "小陈",
|
||||
"server": "https://ypan.cc/"
|
||||
},
|
||||
{
|
||||
"name": "只鱼",
|
||||
"server": "https://alist.youte.ml"
|
||||
},
|
||||
{
|
||||
"name": "七米",
|
||||
"server": "https://al.chirmyram.com"
|
||||
},
|
||||
{
|
||||
"name": "九帝",
|
||||
"server": "https://alist.shenzjd.com"
|
||||
},
|
||||
{
|
||||
"name": "白雪",
|
||||
"server": "https://pan.jlbx.xyz"
|
||||
},
|
||||
{
|
||||
"name": "星梦",
|
||||
"server": "https://pan.bashroot.top"
|
||||
},
|
||||
{
|
||||
"name": "repl",
|
||||
"server": "https://ali.liucn.repl.co"
|
||||
},
|
||||
{
|
||||
"name": "讯维",
|
||||
"server": "https://pan.xwbeta.com"
|
||||
}
|
||||
],
|
||||
color: [
|
||||
{
|
||||
light: {
|
||||
bg: "https://img.omii.top/i/2024/03/28/mexspg.webp",
|
||||
bgMask: "0x50ffffff",
|
||||
primary: "0xff446732",
|
||||
onPrimary: "0xffffffff",
|
||||
primaryContainer: "0xffc5efab",
|
||||
onPrimaryContainer: "0xff072100",
|
||||
secondary: "0xff55624c",
|
||||
onSecondary: "0xffffffff",
|
||||
secondaryContainer: "0xffd9e7cb",
|
||||
onSecondaryContainer: "0xff131f0d",
|
||||
tertiary: "0xff386666",
|
||||
onTertiary: "0xffffffff",
|
||||
tertiaryContainer: "0xffbbebec",
|
||||
onTertiaryContainer: "0xff002020",
|
||||
error: "0xffba1a1a",
|
||||
onError: "0xffffffff",
|
||||
errorContainer: "0xffffdad6",
|
||||
onErrorContainer: "0xff410002",
|
||||
background: "0xfff8faf0",
|
||||
onBackground: "0xff191d16",
|
||||
surface: "0xfff8faf0",
|
||||
onSurface: "0xff191d16",
|
||||
surfaceVariant: "0xffe0e4d6",
|
||||
onSurfaceVariant: "0xff191d16",
|
||||
inverseSurface: "0xff2e312b",
|
||||
inverseOnSurface: "0xfff0f2e7",
|
||||
outline: "0xff74796d",
|
||||
outlineVariant: "0xffc3c8bb",
|
||||
shadow: "0xff000000",
|
||||
scrim: "0xff000000",
|
||||
inversePrimary: "0xffaad291",
|
||||
surfaceTint: "0xff446732"
|
||||
},
|
||||
dark: {
|
||||
bg: "https://img.omii.top/i/2024/03/28/mexyit.webp",
|
||||
bgMask: "0x50000000",
|
||||
primary: "0xffaad291",
|
||||
onPrimary: "0xff173807",
|
||||
primaryContainer: "0xff2d4f1c",
|
||||
onPrimaryContainer: "0xffc5efab",
|
||||
secondary: "0xffbdcbb0",
|
||||
onSecondary: "0xff283420",
|
||||
secondaryContainer: "0xff3e4a35",
|
||||
onSecondaryContainer: "0xffd9e7cb",
|
||||
tertiary: "0xffa0cfcf",
|
||||
onTertiary: "0xff003738",
|
||||
tertiaryContainer: "0xff1e4e4e",
|
||||
onTertiaryContainer: "0xffbbebec",
|
||||
error: "0xffffb4ab",
|
||||
onError: "0xff690005",
|
||||
errorContainer: "0xff93000a",
|
||||
onErrorContainer: "0xffffdad6",
|
||||
background: "0xff11140e",
|
||||
onBackground: "0xffe1e4d9",
|
||||
surface: "0xff11140e",
|
||||
onSurface: "0xffe1e4d9",
|
||||
surfaceVariant: "0xff43483e",
|
||||
onSurfaceVariant: "0xffe1e4d9",
|
||||
inverseSurface: "0xffe1e4d9",
|
||||
inverseOnSurface: "0xff2e312b",
|
||||
outline: "0xff8d9286",
|
||||
outlineVariant: "0xff43483e",
|
||||
shadow: "0xff000000",
|
||||
scrim: "0xff000000",
|
||||
inversePrimary: "0xff446732",
|
||||
surfaceTint: "0xffaad291"
|
||||
}
|
||||
},
|
||||
{
|
||||
light: {
|
||||
"bg": "https://img.omii.top/i/2024/03/27/oudroy-0.webp",
|
||||
"bgMask": "0x50ffffff",
|
||||
"primary": "0xFFA00B0B",
|
||||
"onPrimary": "0xFFFFFFFF",
|
||||
"primaryContainer": "0xFF333433",
|
||||
"onPrimaryContainer": "0xFFBDC0B0",
|
||||
"secondary": "0xFF55624C",
|
||||
"onSecondary": "0xFFFFFFFF",
|
||||
"secondaryContainer": "0xFFFFEBEE",
|
||||
"onSecondaryContainer": "0xFFeb4d4b",
|
||||
"tertiary": "0xFF663840",
|
||||
"onTertiary": "0xFFFFFFFF",
|
||||
"tertiaryContainer": "0xFFEBBBBE",
|
||||
"onTertiaryContainer": "0xFF200006",
|
||||
"error": "0xFFBA1A1A",
|
||||
"onError": "0xFFFFFFFF",
|
||||
"errorContainer": "0xFFFFDAD6",
|
||||
"onErrorContainer": "0xFF410002",
|
||||
"background": "0xFFFDFDF5",
|
||||
"onBackground": "0xFFB94242",
|
||||
"surface": "0xFFFDFDF5",
|
||||
"onSurface": "0xFFB94242",
|
||||
"surfaceVariant": "0xFFE4D6D8",
|
||||
"onSurfaceVariant": "0xFFB94242",
|
||||
"inverseSurface": "0xFF312C2C",
|
||||
"onInverseSurface": "0xFFF1F1EA",
|
||||
"outline": "0xFF74796D",
|
||||
"outlineVariant": "0xFFC3C8BB",
|
||||
"shadow": "0xFF000000",
|
||||
"scrim": "0xFF000000",
|
||||
"inversePrimary": "0xFFff7979",
|
||||
"surfaceTint": "0xFFA00B0B"
|
||||
},
|
||||
dark: {
|
||||
"bg": "https://img.omii.top/i/2024/01/25/xdiepq-0.webp",
|
||||
"bgMask": "0x50000000",
|
||||
"primary": "0xFFff7979",
|
||||
"onPrimary": "0xFFA00B0B",
|
||||
"primaryContainer": "0xFFeb4d4b",
|
||||
"onPrimaryContainer": "0xFFFFCDD2",
|
||||
"secondary": "0xFFBDCBAF",
|
||||
"onSecondary": "0xFF342023",
|
||||
"secondaryContainer": "0xFF4A3536",
|
||||
"onSecondaryContainer": "0xFFE7CACE",
|
||||
"tertiary": "0xFFA0CFCF",
|
||||
"onTertiary": "0xFF003737",
|
||||
"tertiaryContainer": "0xFF1E4E4E",
|
||||
"onTertiaryContainer": "0xFFBBEBEB",
|
||||
"error": "0xFFFFB4AB",
|
||||
"errorContainer": "0xFF93000A",
|
||||
"onError": "0xFF690005",
|
||||
"onErrorContainer": "0xFFFFDAD6",
|
||||
"background": "0xFF1C1818",
|
||||
"onBackground": "0xFFE3E3DC",
|
||||
"outline": "0xFF92868B",
|
||||
"onInverseSurface": "0xFF1C1818",
|
||||
"inverseSurface": "0xFFE3DCE1",
|
||||
"inversePrimary": "0xFFeb4d4b",
|
||||
"shadow": "0xFF000000",
|
||||
"surfaceTint": "0xFFDA607D",
|
||||
"outlineVariant": "0xFF483E41",
|
||||
"scrim": "0xFF000000",
|
||||
"surface": "0xFF1C1818",
|
||||
"onSurface": "0xFFC7C7C0",
|
||||
"surfaceVariant": "0xFF43483E",
|
||||
"onSurfaceVariant": "0xFFC7C7C0"
|
||||
}
|
||||
},
|
||||
{
|
||||
light: {
|
||||
bg: "",
|
||||
bgMask: "0x50ffffff",
|
||||
primary: "0xFF2B6C00",
|
||||
onPrimary: "0xFFFFFFFF",
|
||||
primaryContainer: "0xFFA6F779",
|
||||
onPrimaryContainer: "0xFF082100",
|
||||
secondary: "0xFF55624C",
|
||||
onSecondary: "0xFFFFFFFF",
|
||||
secondaryContainer: "0xFFD9E7CA",
|
||||
onSecondaryContainer: "0xFF131F0D",
|
||||
tertiary: "0xFF386666",
|
||||
onTertiary: "0xFFFFFFFF",
|
||||
tertiaryContainer: "0xFFBBEBEB",
|
||||
onTertiaryContainer: "0xFF002020",
|
||||
error: "0xFFBA1A1A",
|
||||
onError: "0xFFFFFFFF",
|
||||
errorContainer: "0xFFFFDAD6",
|
||||
onErrorContainer: "0xFF410002",
|
||||
background: "0xFFFDFDF5",
|
||||
onBackground: "0xFF1A1C18",
|
||||
surface: "0xFFFDFDF5",
|
||||
onSurface: "0xFF1A1C18",
|
||||
surfaceVariant: "0xFFE0E4D6",
|
||||
onSurfaceVariant: "0xFF1A1C18",
|
||||
inverseSurface: "0xFF2F312C",
|
||||
onInverseSurface: "0xFFF1F1EA",
|
||||
outline: "0xFF74796D",
|
||||
outlineVariant: "0xFFC3C8BB",
|
||||
shadow: "0xFF000000",
|
||||
scrim: "0xFF000000",
|
||||
inversePrimary: "0xFF8CDA60",
|
||||
surfaceTint: "0xFF2B6C00"
|
||||
},
|
||||
dark: {
|
||||
bg: "",
|
||||
bgMask: "0x50000000",
|
||||
primary: "0xFF8CDA60",
|
||||
onPrimary: "0xFF133800",
|
||||
primaryContainer: "0xFF1F5100",
|
||||
onPrimaryContainer: "0xFFA6F779",
|
||||
secondary: "0xFFBDCBAF",
|
||||
onSecondary: "0xFF283420",
|
||||
secondaryContainer: "0xFF3E4A35",
|
||||
onSecondaryContainer: "0xFFD9E7CA",
|
||||
tertiary: "0xFFA0CFCF",
|
||||
onTertiary: "0xFF003737",
|
||||
tertiaryContainer: "0xFF1E4E4E",
|
||||
onTertiaryContainer: "0xFFBBEBEB",
|
||||
error: "0xFFFFB4AB",
|
||||
errorContainer: "0xFF93000A",
|
||||
onError: "0xFF690005",
|
||||
onErrorContainer: "0xFFFFDAD6",
|
||||
background: "0xFF1A1C18",
|
||||
onBackground: "0xFFE3E3DC",
|
||||
outline: "0xFF8D9286",
|
||||
onInverseSurface: "0xFF1A1C18",
|
||||
inverseSurface: "0xFFE3E3DC",
|
||||
inversePrimary: "0xFF2B6C00",
|
||||
shadow: "0xFF000000",
|
||||
surfaceTint: "0xFF8CDA60",
|
||||
outlineVariant: "0xFF43483E",
|
||||
scrim: "0xFF000000",
|
||||
surface: "0xFF1A1C18",
|
||||
onSurface: "0xFFC7C7C0",
|
||||
surfaceVariant: "0xFF43483E",
|
||||
onSurfaceVariant: "0xFFC7C7C0"
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
cf192982bce5ec2dc9b801a3209a3619
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 60%;
|
||||
background-color: #f0f0f0;
|
||||
padding: 30px;
|
||||
border-radius: 15px;
|
||||
transition: all 0.4s ease;
|
||||
}
|
||||
|
||||
header {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.2rem;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
h1::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 80px;
|
||||
height: 3px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 1.1rem;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
flex: 3;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
flex: 1;
|
||||
padding: 15px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
font-size: 1rem;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 18px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
line-height: 1.8;
|
||||
margin-bottom: 8px;
|
||||
position: relative;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #20a53a;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.device-info {
|
||||
padding: 12px;
|
||||
border-radius: 8px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
margin-top: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.device-info i {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
|
||||
.features {
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
text-align: center;
|
||||
flex: 1;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.feature-card:hover {
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
|
||||
.feature-card i {
|
||||
font-size: 2.2rem;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.container {
|
||||
width: 90%;
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.9rem;
|
||||
}
|
||||
|
||||
.content {
|
||||
flex-direction: column;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.features {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
flex: 1 1 45%;
|
||||
padding: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
body {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 20px 15px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.7rem;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
ul li {
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.features {
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.device-info {
|
||||
padding: 10px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.container {
|
||||
padding: 18px 12px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
ul li {
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
padding: 15px;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
67840d11eb2045ee0f40615ef2b0e0bb
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
const currentDomain = window.location.origin;
|
||||
let isShowingIP = false;
|
||||
|
||||
async function dl(fileUrl, filename) {
|
||||
try {
|
||||
const response = await fetch(fileUrl);
|
||||
if (!response.ok)
|
||||
throw new Error(`HTTP 错误: ${response.status}`);
|
||||
const blob = await response.blob();
|
||||
const url = URL.createObjectURL(blob);
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
link.download = filename;
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
setTimeout(() => URL.revokeObjectURL(url), 100);
|
||||
|
||||
} catch (error) {
|
||||
console.error('下载错误:', error);
|
||||
}
|
||||
}
|
||||
|
||||
async function getip() {
|
||||
try {
|
||||
const response = await fetch("/cdn-cgi/trace");
|
||||
if (response.ok) {
|
||||
const data = await response.text();
|
||||
const lines = data.split("\n");
|
||||
const info = {};
|
||||
lines.forEach((line) => {
|
||||
const parts = line.split("=");
|
||||
if (parts.length === 2) {
|
||||
info[parts[0]] = parts[1];
|
||||
}
|
||||
});
|
||||
const displayText = `访客:${info.loc} | ${info.http} | IP:${info.ip} | 节点:${info.colo} | 加密:${info.tls}`;
|
||||
return textContent = displayText;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("获取失败: ", error);
|
||||
return "显示失败";
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
originalText = $("#cfs").text();
|
||||
|
||||
$("#cfs").click(async function () {
|
||||
if (!isShowingIP) {
|
||||
const ip = await getip();
|
||||
$(this).text(`${ip}`);
|
||||
} else {
|
||||
$(this).text(originalText);
|
||||
}
|
||||
isShowingIP = !isShowingIP;
|
||||
});
|
||||
|
||||
var t1 = performance.now();
|
||||
$("#time").text("页面加载耗时 " + Math.round(t1) + " 毫秒");
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
var rule = {
|
||||
title:'极影网[磁]',
|
||||
host:'https://www.jiyingw.net',
|
||||
homeUrl:'/',
|
||||
url: '/fyclass/page/fypage?',
|
||||
//host:'http://127.0.0.1:10079',
|
||||
//homeUrl:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.jiyingw.net',
|
||||
//url: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.jiyingw.net/fyclass/page/fypage?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
"movie":[{"key":"class","name":"标签","value":[{"n":"全部","v":"movie"},{"n":"4k","v":"tag/4k"}, {"n":"人性","v":"tag/人性"}, {"n":"传记","v":"tag/chuanji"}, {"n":"儿童","v":"tag/儿童"}, {"n":"冒险","v":"tag/adventure"}, {"n":"剧情","v":"tag/剧情"}, {"n":"加拿大","v":"tag/加拿大"}, {"n":"动作","v":"tag/dongzuo"}, {"n":"动漫","v":"tag/动漫"}, {"n":"励志","v":"tag/励志"}, {"n":"历史","v":"tag/history"}, {"n":"古装","v":"tag/古装"}, {"n":"同性","v":"tag/gay"}, {"n":"喜剧","v":"tag/comedy"}, {"n":"国剧","v":"tag/国剧"}, {"n":"奇幻","v":"tag/qihuan"}, {"n":"女性","v":"tag/女性"}, {"n":"家庭","v":"tag/family"}, {"n":"德国","v":"tag/德国"}, {"n":"恐怖","v":"tag/kongbu"}, {"n":"悬疑","v":"tag/xuanyi"}, {"n":"惊悚","v":"tag/jingsong"}, {"n":"意大利","v":"tag/意大利"}, {"n":"战争","v":"tag/zhanzheng"}, {"n":"战斗","v":"tag/战斗"}, {"n":"搞笑","v":"tag/搞笑"}, {"n":"故事","v":"tag/故事"}, {"n":"文艺","v":"tag/文艺"}, {"n":"日常","v":"tag/日常"}, {"n":"日本","v":"tag/日本"}, {"n":"日语","v":"tag/日语"}, {"n":"校园","v":"tag/校园"}, {"n":"武侠","v":"tag/wuxia"}, {"n":"法国","v":"tag/法国"}, {"n":"游戏","v":"tag/游戏"}, {"n":"灾难","v":"tag/zainan"}, {"n":"爱情","v":"tag/爱情"}, {"n":"犯罪","v":"tag/crime"}, {"n":"真人秀","v":"tag/zhenrenxiu"}, {"n":"短片","v":"tag/duanpian"}, {"n":"科幻","v":"tag/kehuan"}, {"n":"纪录","v":"tag/jilu"}, {"n":"美剧","v":"tag/meiju"}, {"n":"舞台","v":"tag/stage"}, {"n":"西部","v":"tag/xibu"}, {"n":"运动","v":"tag/yundong"}, {"n":"韩剧","v":"tag/韩剧"}, {"n":"韩国","v":"tag/韩国"}, {"n":"音乐","v":"tag/yinyue"}, {"n":"高清电影","v":"tag/高清电影"}]}]
|
||||
},
|
||||
searchUrl: '/?s=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie':'http://127.0.0.1:9978/file:///tvbox/JS/lib/jiyingw.txt',
|
||||
'Accept':'*/*',
|
||||
'Referer': 'https://www.jiyingw.net/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'电影&电视剧&动漫&综艺&影评',
|
||||
class_url:'movie&tv&cartoon&movie/variety&yingping',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href',
|
||||
一级:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href',
|
||||
二级:{
|
||||
title:"h1&&Text",
|
||||
img:"#post_content img&&src",
|
||||
desc:"#post_content&&Text",
|
||||
content:"#post_content&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
let d = pdfa(html, '#post_content p a');
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
d = pdfa(html, 'div#down p.down-list3 a');
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
if (false && tabsa.length + tabsq.length > 1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
log('jiyingw TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
let d = pdfa(html, '#post_content p a');
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
d = pdfa(html, 'div#down p.down-list3 a');
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
if (false && lista.length + listq.length > 1){
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
if (rule_fetch_params.headers.Cookie.startsWith("http")){
|
||||
rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);
|
||||
let cookie = rule_fetch_params.headers.Cookie;
|
||||
setItem(RULE_CK, cookie);
|
||||
};
|
||||
log('jiyingw search cookie>>>>>>>>>>>>>>>' + rule_fetch_params.headers.Cookie);
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let search_html=request(rule.homeUrl + '?s=' + encodeURIComponent(KEY), _fetch_params);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'h2');
|
||||
log("jiyingw dlist.length>>>>>>>"+dlist.length);
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'a&&title');
|
||||
//if (searchObj.quick === true){
|
||||
// title = KEY;
|
||||
//}
|
||||
let img = '';
|
||||
let content = title;
|
||||
let desc = title;
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
var rule = {
|
||||
title:'极影网[磁]',
|
||||
//host:'https://www.jiyingw.net',
|
||||
//homeUrl:'/',
|
||||
//url: '/fyclass/page/fypage?',
|
||||
host:'http://127.0.0.1:10079',
|
||||
homeUrl:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.jiyingw.net/',
|
||||
url: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.jiyingw.net/fyclass/page/fypage?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
"movie":[{"key":"class","name":"标签","value":[{"n":"全部","v":"movie"},{"n":"4k","v":"tag/4k"}, {"n":"人性","v":"tag/人性"}, {"n":"传记","v":"tag/chuanji"}, {"n":"儿童","v":"tag/儿童"}, {"n":"冒险","v":"tag/adventure"}, {"n":"剧情","v":"tag/剧情"}, {"n":"加拿大","v":"tag/加拿大"}, {"n":"动作","v":"tag/dongzuo"}, {"n":"动漫","v":"tag/动漫"}, {"n":"励志","v":"tag/励志"}, {"n":"历史","v":"tag/history"}, {"n":"古装","v":"tag/古装"}, {"n":"同性","v":"tag/gay"}, {"n":"喜剧","v":"tag/comedy"}, {"n":"国剧","v":"tag/国剧"}, {"n":"奇幻","v":"tag/qihuan"}, {"n":"女性","v":"tag/女性"}, {"n":"家庭","v":"tag/family"}, {"n":"德国","v":"tag/德国"}, {"n":"恐怖","v":"tag/kongbu"}, {"n":"悬疑","v":"tag/xuanyi"}, {"n":"惊悚","v":"tag/jingsong"}, {"n":"意大利","v":"tag/意大利"}, {"n":"战争","v":"tag/zhanzheng"}, {"n":"战斗","v":"tag/战斗"}, {"n":"搞笑","v":"tag/搞笑"}, {"n":"故事","v":"tag/故事"}, {"n":"文艺","v":"tag/文艺"}, {"n":"日常","v":"tag/日常"}, {"n":"日本","v":"tag/日本"}, {"n":"日语","v":"tag/日语"}, {"n":"校园","v":"tag/校园"}, {"n":"武侠","v":"tag/wuxia"}, {"n":"法国","v":"tag/法国"}, {"n":"游戏","v":"tag/游戏"}, {"n":"灾难","v":"tag/zainan"}, {"n":"爱情","v":"tag/爱情"}, {"n":"犯罪","v":"tag/crime"}, {"n":"真人秀","v":"tag/zhenrenxiu"}, {"n":"短片","v":"tag/duanpian"}, {"n":"科幻","v":"tag/kehuan"}, {"n":"纪录","v":"tag/jilu"}, {"n":"美剧","v":"tag/meiju"}, {"n":"舞台","v":"tag/stage"}, {"n":"西部","v":"tag/xibu"}, {"n":"运动","v":"tag/yundong"}, {"n":"韩剧","v":"tag/韩剧"}, {"n":"韩国","v":"tag/韩国"}, {"n":"音乐","v":"tag/yinyue"}, {"n":"高清电影","v":"tag/高清电影"}]}]
|
||||
},
|
||||
searchUrl: '/?s=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:1,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Cookie':'http://127.0.0.1:9978/file:///tvbox/JS/lib/jiyingw.txt',
|
||||
'Accept':'*/*',
|
||||
'Referer': 'https://www.jiyingw.net/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'电影&电视剧&动漫&综艺&影评',
|
||||
class_url:'movie&tv&cartoon&movie/variety&yingping',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href',
|
||||
一级:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href',
|
||||
二级:{
|
||||
title:"h1&&Text",
|
||||
img:"#post_content img&&src",
|
||||
desc:"#post_content&&Text",
|
||||
content:"#post_content&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let tabsa = [];
|
||||
let tabsq = [];
|
||||
let tabsm = false;
|
||||
let tabse = false;
|
||||
let d = pdfa(html, '#post_content p a');
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
d = pdfa(html, 'div#down p.down-list3 a');
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
tabsa.push("阿里雲盤");
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (burl.startsWith("magnet")){
|
||||
tabsm = true;
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
tabse = true;
|
||||
}
|
||||
});
|
||||
if (tabsm === true){
|
||||
TABS.push("磁力");
|
||||
}
|
||||
if (tabse === true){
|
||||
TABS.push("電驢");
|
||||
}
|
||||
if (false && tabsa.length + tabsq.length > 1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
let tmpIndex;
|
||||
tmpIndex=1;
|
||||
tabsa.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it + tmpIndex);
|
||||
tmpIndex = tmpIndex + 1;
|
||||
});
|
||||
log('jiyingw TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let lista = [];
|
||||
let listq = [];
|
||||
let listm = [];
|
||||
let liste = [];
|
||||
let d = pdfa(html, '#post_content p a');
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
d = pdfa(html, 'div#down p.down-list3 a');
|
||||
d.forEach(function(it){
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
let loopresult = title + '$' + burl;
|
||||
if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
lista.push(loopresult);
|
||||
}else if (burl.startsWith("https://pan.quark.cn/s/")){
|
||||
if (true){
|
||||
if (TABS.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = 'push://' + burl;
|
||||
}
|
||||
loopresult = title + '$' + burl;
|
||||
listq.push(loopresult);
|
||||
}else if (burl.startsWith("magnet")){
|
||||
listm.push(loopresult);
|
||||
}else if (burl.startsWith("ed2k")){
|
||||
liste.push(loopresult);
|
||||
}
|
||||
});
|
||||
if (listm.length>0){
|
||||
LISTS.push(listm);
|
||||
}
|
||||
if (liste.length>0){
|
||||
LISTS.push(liste);
|
||||
}
|
||||
if (false && lista.length + listq.length > 1){
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
lista.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
listq.forEach(function(it){
|
||||
LISTS.push([it]);
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
if (rule_fetch_params.headers.Cookie.startsWith("http")){
|
||||
rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);
|
||||
let cookie = rule_fetch_params.headers.Cookie;
|
||||
setItem(RULE_CK, cookie);
|
||||
};
|
||||
log('jiyingw search cookie>>>>>>>>>>>>>>>' + rule_fetch_params.headers.Cookie);
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let search_html=request(rule.homeUrl + '?s=' + encodeURIComponent(KEY), _fetch_params);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'h2');
|
||||
log("jiyingw dlist.length>>>>>>>"+dlist.length);
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'a&&title');
|
||||
//if (searchObj.quick === true){
|
||||
// title = KEY;
|
||||
//}
|
||||
let img = '';
|
||||
let content = title;
|
||||
let desc = title;
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
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
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,162 @@
|
|||
var rule = {
|
||||
title:'KK網盤[磁]',
|
||||
host:'https://www.kkpans.com',
|
||||
homeUrl:'/',
|
||||
url: '/forum-fyclass-fypage.html?',
|
||||
//host:'http://192.168.101.1:10078',
|
||||
//homeUrl:'/p/0/s/https://www.kkpans.com/',
|
||||
//url: '/p/0/s/https://www.kkpans.com/forum-fyclass-fypage.html?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/search',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36',
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://www.kkpans.com/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'国外电影&国外电视剧&纪录片资源&综艺资源&动漫资源&音乐资源',
|
||||
class_url:'39&40&41&42&46&43',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
log("kkpans input>>>>>>>>>>>>>>"+input);
|
||||
let html = request(input);
|
||||
//log("kkpans 1level html>>>>>>>>>>>>>>"+html);
|
||||
let list = pdfa(html, 'div.threadlist ul li.list');
|
||||
list.forEach(function(it) {
|
||||
d.push({
|
||||
title: pdfh(it, 'div.threadlist_tit&&Text'),
|
||||
desc: pdfh(it, 'div.threadlist_top div:has(>h3) span&&Text'),
|
||||
pic_url: '',
|
||||
url: pd(it, 'li.list&&a[href^="forum.php"]:eq(1)&&href', HOST)
|
||||
});
|
||||
})
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"div.viewthread&&div.view_tit&&Text",
|
||||
img:"div.viewthread div.message&&img&&src",
|
||||
desc:"div.viewthread div.message&&Text",
|
||||
content:"div.viewthread div.message&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let d = pdfa(html, 'div.viewthread div.message a[href^="https://pan.quark.cn/s/"]');
|
||||
let index = 1;
|
||||
if (false && d.length>1){
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
d.forEach(function(it) {
|
||||
TABS.push("夸克網盤" + index);
|
||||
index = index + 1;
|
||||
});
|
||||
log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
LISTS=[];
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = pdfa(html, 'div.viewthread div.message a[href^="https://pan.quark.cn/s/"]');
|
||||
let index = 1;
|
||||
if (false && d.length>1){
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
d.forEach(function(it) {
|
||||
let burl = pdfh(it, 'a&&href');
|
||||
if (true){
|
||||
if (d.length==1){
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl);
|
||||
}else{
|
||||
burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl);
|
||||
}
|
||||
}else{
|
||||
burl = "push://" + burl;
|
||||
}
|
||||
let title = pdfh(it, 'a&&Text');
|
||||
LISTS.push([title + '$' + burl]);
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
|
||||
let withHeaders = {
|
||||
withHeaders: true
|
||||
};
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, withHeaders);
|
||||
|
||||
let new_html=request(rule.homeUrl + 'search.php?mod=forum', _fetch_params);
|
||||
log('kkpans search new_html >>>>>>>>>>>>>>>>>>>>>' + new_html);
|
||||
let json=JSON.parse(new_html);
|
||||
let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");
|
||||
let cookie="";
|
||||
if (typeof setCk !== "undefined"){
|
||||
let d=[];
|
||||
for(const key in json[setCk]){
|
||||
if (typeof json[setCk][key] === "string"){
|
||||
log("kkpans header setCk key>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + json[setCk][key] + " " + (typeof json[setCk][key]));
|
||||
d.push(json[setCk][key].split(";")[0]);
|
||||
}
|
||||
}
|
||||
cookie=d.join(";");
|
||||
}
|
||||
fetch_params.headers.Cookie=cookie;
|
||||
rule_fetch_params.headers.Cookie=cookie;
|
||||
log('kkpans search cookie >>>>>>>>>>>>>>>>>>>>>' + cookie);
|
||||
//log('kkpans search body >>>>>>>>>>>>>>>>>>>>>' + json['body']);
|
||||
|
||||
new_html = json['body'];
|
||||
|
||||
let formhash = pdfh(new_html, 'input[name="formhash"]&&value');
|
||||
log("kkpans formhash>>>>>>>>>>>>>>>" + formhash);
|
||||
let params = 'formhash=' + formhash + '&searchsubmit=yes&srchtxt=' + encodeURIComponent(KEY);
|
||||
_fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let postData = {
|
||||
body: params
|
||||
};
|
||||
Object.assign(_fetch_params, postData);
|
||||
log("kkpans search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let search_html = post(rule.homeUrl + 'search.php?mod=forum', _fetch_params)
|
||||
//log("kkpans search result>>>>>>>>>>>>>>>" + search_html);
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'div.threadlist ul li.list');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'div.threadlist_tit&&Text');
|
||||
if (searchObj.quick === true){
|
||||
if (title.includes(KEY)){
|
||||
title = KEY;
|
||||
}
|
||||
}
|
||||
let img = "";
|
||||
let content = pdfh(it, 'div.threadlist_top div:has(>h3) span&&Text');
|
||||
let desc = pdfh(it, 'div.threadlist_top div:has(>h3) span&&Text');
|
||||
let url = pd(it, 'a[href^="forum.php?mod=viewthread"]&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
var rule = {
|
||||
title:'酷吧[磁]',
|
||||
host:'https://www.kuba222.com',
|
||||
homeUrl: '/',
|
||||
url: '/vodtypehtml/fyclass.html?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/search/**-1.html',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Referer': 'https://www.kuba222.com/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name: '最新&4K&电影&动作片&喜剧片&爱情片&科幻片&恐怖片&剧情片&战争片&微电影&电视剧&动漫&纪录片',
|
||||
class_url: 'new&4K&1&5&6&7&8&9&10&11&21&31&4&16',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'ul.stui-vodlist li');
|
||||
list.forEach(function (it){
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&title'),
|
||||
desc: pdfh(it, 'li&&div&&a&&span&&Text'),
|
||||
pic_url: pd(it, 'a&&data-original', HOST),
|
||||
url: pdfh(it, 'a&&href')
|
||||
});
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
if (MY_CATE === '4K'){
|
||||
let turl = (MY_PAGE === 1)? '' : '-' + MY_PAGE;
|
||||
input = rule.homeUrl + 'vodtopichtml/' + '11' + turl + '.html';
|
||||
}else if (MY_CATE === 'new'){
|
||||
input = rule.homeUrl + MY_CATE + '.html';
|
||||
}else{
|
||||
let turl = (MY_PAGE === 1)? '' : '-' + MY_PAGE;
|
||||
input = rule.homeUrl + 'vodtypehtml/' + MY_CATE + turl + '.html';
|
||||
}
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'ul.stui-vodlist li');
|
||||
list.forEach(function (it){
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&title'),
|
||||
desc: pdfh(it, 'li&&div&&a&&span&&Text'),
|
||||
pic_url: pd(it, 'a&&data-original', HOST),
|
||||
url: pdfh(it, 'a&&href')
|
||||
});
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"div.stui-content h3&&Text",
|
||||
img:"div.stui-content a.lazyload img&&src",
|
||||
desc:'div.stui-content a span&&Text',
|
||||
content:'div.stui-content p.data&&Text',
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let vodUrls=[];
|
||||
try{
|
||||
vodUrls.push(html.match(/var GvodUrls1 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls2 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls3 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls4 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls5 *= *"([^"]*)"/)[1]);
|
||||
}catch(e){
|
||||
}
|
||||
let index=1;
|
||||
vodUrls.forEach(function (it) {
|
||||
TABS.push("磁力"+index);
|
||||
index = index + 1;
|
||||
});
|
||||
log('kuba TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let vodUrls=[];
|
||||
//log("kuba html>>>>>>>>>>>>>>>>>>>>>>" + html);
|
||||
try{
|
||||
vodUrls.push(html.match(/var GvodUrls1 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls2 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls3 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls4 *= *"([^"]*)"/)[1]);
|
||||
vodUrls.push(html.match(/var GvodUrls5 *= *"([^"]*)"/)[1]);
|
||||
}catch(e){
|
||||
log('kuba tabs e>>>>>>>>>>>>>>>>>>..' + e);
|
||||
}
|
||||
vodUrls.forEach(function (it) {
|
||||
let epos = it.split("###");
|
||||
let d=[];
|
||||
epos.forEach(function (it1){
|
||||
if (it1.length>0){
|
||||
d.push(it1);
|
||||
}
|
||||
});
|
||||
LISTS.push(d.reverse());
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let cookie="";
|
||||
if (false){
|
||||
let new_html=request(HOST, {withHeaders:true});
|
||||
let json=JSON.parse(new_html);
|
||||
let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");
|
||||
if (typeof setCk !== "undefined"){
|
||||
let d=[];
|
||||
for(const key in json[setCk]){
|
||||
if (typeof json[setCk][key] === "string"){
|
||||
log("kuba header setCk key>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + json[setCk][key] + " " + (typeof json[setCk][key]));
|
||||
d.push(json[setCk][key].split(";")[0]);
|
||||
}
|
||||
}
|
||||
cookie=d.join(";");
|
||||
}
|
||||
fetch_params.headers.Cookie=cookie;
|
||||
rule_fetch_params.headers.Cookie=cookie;
|
||||
}
|
||||
log('kuba search cookie >>>>>>>>>>>>>>>>>>>>>' + cookie);
|
||||
|
||||
let params = 'wd='+ encodeURIComponent(KEY) + '&submit=';
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
let postData = {
|
||||
body: params
|
||||
};
|
||||
Object.assign(_fetch_params, postData);
|
||||
log("kuba search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let search_html = post( HOST + '/index.php?m=vod-search', _fetch_params)
|
||||
search_html = search_html.replace(/<script>.*?<\\/script>/g,"");
|
||||
//log("kuba search result>>>>>>>>>>>>>>>" + search_html.substring(4096));
|
||||
let d=[];
|
||||
let dlist = pdfa(search_html, 'li.activeclearfix');
|
||||
log("kuba search dlist.length>>>>>>>>>>>>>" + dlist.length);
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'a&&title');
|
||||
let img = pd(it, 'a&&data-original', HOST);
|
||||
let content = pdfh(it, 'a&&Text');
|
||||
let desc = pdfh(it, 'div.detail&&Text');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
});
|
||||
});
|
||||
dlist = pdfa(search_html, 'li.active.clearfix');
|
||||
log("kuba search dlist.length>>>>>>>>>>>>>" + dlist.length);
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'a&&title');
|
||||
let img = pd(it, 'a&&data-original', HOST);
|
||||
let content = pdfh(it, 'a&&Text');
|
||||
let desc = pdfh(it, 'div.detail&&Text');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
});
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
// 永久网址:https://libvio.app
|
||||
muban.首图2.二级.title = 'h1&&Text;.data:eq(0)&&Text'
|
||||
muban.首图2.二级.desc = '.data.hidden-xs&&Text;;;.data:eq(1)&&Text;.data:eq(4)&&Text'
|
||||
muban.首图2.二级.content = '.detail-content&&Text'
|
||||
var rule = {
|
||||
title:'LIBVIO',
|
||||
模板:'首图2',
|
||||
// host:'https://tv.libvio.cc',
|
||||
host:'https://tv.libvio.cc',
|
||||
//hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src=jsp.pdfh(html,"li:eq(0)&&a:eq(0)&&href");print(src);HOST=src',
|
||||
// url:'/type/fyclass-fypage.html',
|
||||
url:'/show/fyclassfyfilter.html',
|
||||
// url:'/show_fyclassfyfilter.html',
|
||||
filterable:1,//是否启用分类筛选,
|
||||
filter_url:'-{{fl.area}}-{{fl.by}}--{{fl.lang}}----fypage---{{fl.year}}',
|
||||
filter: {
|
||||
"1":[{"key":"area","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":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],
|
||||
"2":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国台湾","v":"中国台湾"},{"n":"中国香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],
|
||||
"4":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"中国"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],
|
||||
"27":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],
|
||||
"15":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],
|
||||
"16":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]
|
||||
},
|
||||
headers:{//网站的请求头,完整支持所有的,常带ua和cookies
|
||||
'User-Agent':'MOBILE_UA'
|
||||
},
|
||||
class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
||||
// class_parse:'.stui-header__menu li;a&&Text;a&&href;/.*_(\\d+).html',
|
||||
tab_exclude: '百度',
|
||||
pagecount:{"27":1},
|
||||
二级: {
|
||||
"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": `js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[];
|
||||
let tabsq=[];
|
||||
let tabsm3u8=[];
|
||||
let d = pdfa(html, 'div.stui-vodlist__head');
|
||||
d.forEach(function(it) {
|
||||
let name = pdfh(it, 'h3&&Text');
|
||||
if (!/(猜你|喜欢|剧情|热播)/.test(name)){
|
||||
log("libvio tabs name>>>>>>>>>>>>>>>" + name);
|
||||
if (name.includes("夸克")){
|
||||
tabsq.push("夸克網盤");
|
||||
}else if (name.includes("阿里")){
|
||||
tabsq.push("阿里雲盤");
|
||||
}else{
|
||||
tabsm3u8.push(name);
|
||||
}
|
||||
}
|
||||
});
|
||||
if (tabsq.length==1){
|
||||
TABS=TABS.concat(tabsq);
|
||||
}else{
|
||||
let tmpIndex=1;
|
||||
tabsq.forEach(function(it){
|
||||
TABS.push(it+tmpIndex);
|
||||
tmpIndex++;
|
||||
});
|
||||
}
|
||||
TABS=TABS.concat(tabsm3u8);
|
||||
log('libvio TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
"lists":`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
LISTS = [];
|
||||
let listq=[];
|
||||
let listm3u8=[];
|
||||
let d = pdfa(html, 'div.stui-vodlist__head');
|
||||
d.forEach(function(it){
|
||||
let name = pdfh(it, 'h3&&Text');
|
||||
if (!/(猜你|喜欢|剧情|热播)/.test(name)){
|
||||
log("libvio tabs name>>>>>>>>>>>>>>>" + name);
|
||||
let durl = pdfa(it, 'ul li');
|
||||
let dd = [];
|
||||
durl.forEach(function(it1){
|
||||
let dhref = pd(it1, 'a&&href', HOST);
|
||||
let dname = pdfh(it1, 'a&&Text');
|
||||
dd.push(dname + "$" + dhref);
|
||||
});
|
||||
if (/(夸克|阿里)/.test(name)){
|
||||
listq.push(dd);
|
||||
}else{
|
||||
listm3u8.push(dd);
|
||||
}
|
||||
}
|
||||
});
|
||||
LISTS=LISTS.concat(listq);
|
||||
LISTS=LISTS.concat(listm3u8);
|
||||
`,
|
||||
},
|
||||
lazy:`js:
|
||||
log("libvio lazy player input>>>>>>>>>>>>"+input);
|
||||
var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
|
||||
log("libvio lazy player json>>>>>>>>>>>>"+JSON.stringify(html));
|
||||
var url = html.url;
|
||||
var from = html.from;
|
||||
var next = html.link_next;
|
||||
var id = html.id;
|
||||
var nid = html.nid;
|
||||
if (/(aliyundrive.com|quark.cn|alipan.com)/.test(url)){
|
||||
let confirm = "";
|
||||
if (TABS.length==1){
|
||||
confirm="&confirm=0";
|
||||
}
|
||||
let type="ali";
|
||||
if (url.includes("aliyundrive.com") || url.includes("alipan.com")){
|
||||
type = "ali";
|
||||
}else if (url.includes("quark.cn")){
|
||||
type = "quark";
|
||||
}
|
||||
input = {
|
||||
jx: 0,
|
||||
url: 'http://127.0.0.1:9978/proxy?do=' + type +'&type=push' + confirm + '&url=' + encodeURIComponent(url),
|
||||
parse: 0
|
||||
}
|
||||
}else{
|
||||
var paurl = request("https://libvio.cc/static/player/" + from + ".js").match(/ src="(.*?)'/)[1];
|
||||
if (/https/.test(paurl)) {
|
||||
var purl = paurl + url + "&next=" + next + "&id=" + id + "&nid=" + nid;
|
||||
input = {
|
||||
jx: 0,
|
||||
url: request(purl).match(/var .* = '(.*?)'/)[1],
|
||||
parse: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
searchUrl:'/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
||||
detailUrl:'/detail/fyid.html', //非必填,二级详情拼接链接
|
||||
// detailUrl:'/detail_fyid.html', //非必填,二级详情拼接链接
|
||||
// searchUrl:'/search/**----------fypage---.html',
|
||||
搜索:'json:list;name;pic;;id',
|
||||
}
|
||||
|
|
@ -0,0 +1,296 @@
|
|||
/*!
|
||||
* @name 微信公众号:洛雪音乐
|
||||
* @description 音源更新,关注微信公众号:洛雪音乐
|
||||
* @version 3
|
||||
* @author 洛雪音乐
|
||||
* @repository https://github.com/lxmusics/lx-music-api-server
|
||||
*/
|
||||
|
||||
// 是否开启开发模式
|
||||
const DEV_ENABLE = false
|
||||
// 是否开启更新提醒
|
||||
const UPDATE_ENABLE = true
|
||||
// 服务端地址
|
||||
const API_URL = "https://88.lxmusic.xn--fiqs8s"
|
||||
// 服务端配置的请求key
|
||||
const API_KEY = `lxmusic`
|
||||
// 音质配置(key为音源名称,不要乱填.如果你账号为VIP可以填写到hires)
|
||||
// 全部的支持值: ['128k', '320k', 'flac', 'flac24bit']
|
||||
const MUSIC_QUALITY = JSON.parse('{"kw":["128k","320k","flac","flac24bit"],"kg":["128k","320k","flac","flac24bit"],"tx":["128k","320k","flac","flac24bit"],"wy":["128k","320k","flac","flac24bit"],"mg":["128k","320k","flac","flac24bit"]}')
|
||||
// 音源配置(默认为自动生成,可以修改为手动)
|
||||
const MUSIC_SOURCE = Object.keys(MUSIC_QUALITY)
|
||||
MUSIC_SOURCE.push('local')
|
||||
|
||||
/**
|
||||
* 下面的东西就不要修改了
|
||||
*/
|
||||
const { EVENT_NAMES, request, on, send, utils, env, version } = globalThis.lx
|
||||
|
||||
// MD5值,用来检查更新
|
||||
const SCRIPT_MD5 = 'cf875b238b48c95e27d166a840e3f638'
|
||||
|
||||
/**
|
||||
* URL请求
|
||||
*
|
||||
* @param {string} url - 请求的地址
|
||||
* @param {object} options - 请求的配置文件
|
||||
* @return {Promise} 携带响应体的Promise对象
|
||||
*/
|
||||
const httpFetch = (url, options = { method: 'GET' }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
console.log('--- start --- ' + url)
|
||||
request(url, options, (err, resp) => {
|
||||
if (err) return reject(err)
|
||||
console.log('API Response: ', resp)
|
||||
resolve(resp)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Encodes the given data to base64.
|
||||
*
|
||||
* @param {type} data - the data to be encoded
|
||||
* @return {string} the base64 encoded string
|
||||
*/
|
||||
const handleBase64Encode = (data) => {
|
||||
var data = utils.buffer.from(data, 'utf-8')
|
||||
return utils.buffer.bufToString(data, 'base64')
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} source - 音源
|
||||
* @param {object} musicInfo - 歌曲信息
|
||||
* @param {string} quality - 音质
|
||||
* @returns {Promise<string>} 歌曲播放链接
|
||||
* @throws {Error} - 错误消息
|
||||
*/
|
||||
const handleGetMusicUrl = async (source, musicInfo, quality) => {
|
||||
if (source == 'local') {
|
||||
if (!musicInfo.songmid.startsWith('server_')) throw new Error('upsupported local file')
|
||||
const songId = musicInfo.songmid
|
||||
const requestBody = {
|
||||
p: songId.replace('server_', ''),
|
||||
}
|
||||
var t = 'c'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody)) /* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
const targetUrl = `${API_URL}/local/${t}?q=${b}`
|
||||
const request = await httpFetch(targetUrl, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`,
|
||||
'X-Request-Key': API_KEY,
|
||||
},
|
||||
follow_max: 5,
|
||||
})
|
||||
const { body } = request
|
||||
if (body.code == 0 && body.data && body.data.file) {
|
||||
var t = 'u'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody)) /* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
return `${API_URL}/local/${t}?q=${b}`
|
||||
}
|
||||
throw new Error('404 Not Found')
|
||||
}
|
||||
|
||||
const songId = musicInfo.hash ?? musicInfo.songmid
|
||||
|
||||
const request = await httpFetch(`${API_URL}/lxmusicv3/url/${source}/${songId}/${quality}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`,
|
||||
'X-Request-Key': API_KEY,
|
||||
},
|
||||
follow_max: 5,
|
||||
})
|
||||
const { body } = request
|
||||
|
||||
if (!body || isNaN(Number(body.code))) throw new Error('unknow error')
|
||||
if (env != 'mobile') console.groupEnd()
|
||||
switch (body.code) {
|
||||
case 0:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) success, URL: ${body.data}`)
|
||||
return body.data
|
||||
case 1:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed: ip被封禁`)
|
||||
throw new Error('block ip')
|
||||
case 2:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed, ${body.msg}`)
|
||||
throw new Error('get music url failed')
|
||||
case 4:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed, 远程服务器错误`)
|
||||
throw new Error('internal server error')
|
||||
case 5:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed, 请求过于频繁,请休息一下吧`)
|
||||
throw new Error('too many requests')
|
||||
case 6:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed, 请求参数错误`)
|
||||
throw new Error('param error')
|
||||
default:
|
||||
console.log(`handleGetMusicUrl(${source}_${musicInfo.songmid}, ${quality}) failed, ${body.msg ? body.msg : 'unknow error'}`)
|
||||
throw new Error(body.msg ?? 'unknow error')
|
||||
}
|
||||
}
|
||||
|
||||
const handleGetMusicPic = async (source, musicInfo) => {
|
||||
switch (source) {
|
||||
case 'local':
|
||||
// 先从服务器检查是否有对应的类型,再响应链接
|
||||
if (!musicInfo.songmid.startsWith('server_')) throw new Error('upsupported local file')
|
||||
const songId = musicInfo.songmid
|
||||
const requestBody = {
|
||||
p: songId.replace('server_', ''),
|
||||
}
|
||||
var t = 'c'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody))/* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
const targetUrl = `${API_URL}/local/${t}?q=${b}`
|
||||
const request = await httpFetch(targetUrl, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`
|
||||
},
|
||||
follow_max: 5,
|
||||
})
|
||||
const { body } = request
|
||||
if (body.code === 0 && body.data.cover) {
|
||||
var t = 'p'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody))/* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
return `${API_URL}/local/${t}?q=${b}`
|
||||
}
|
||||
throw new Error('get music pic failed')
|
||||
default:
|
||||
throw new Error('action(pic) does not support source(' + source + ')')
|
||||
}
|
||||
}
|
||||
|
||||
const handleGetMusicLyric = async (source, musicInfo) => {
|
||||
switch (source) {
|
||||
case 'local':
|
||||
if (!musicInfo.songmid.startsWith('server_')) throw new Error('upsupported local file')
|
||||
const songId = musicInfo.songmid
|
||||
const requestBody = {
|
||||
p: songId.replace('server_', ''),
|
||||
}
|
||||
var t = 'c'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody))/* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
const targetUrl = `${API_URL}/local/${t}?q=${b}`
|
||||
const request = await httpFetch(targetUrl, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`
|
||||
},
|
||||
follow_max: 5,
|
||||
})
|
||||
const { body } = request
|
||||
if (body.code === 0 && body.data.lyric) {
|
||||
var t = 'l'
|
||||
var b = handleBase64Encode(JSON.stringify(requestBody))/* url safe*/.replace(/\+/g, '-').replace(/\//g, '_')
|
||||
const request2 = await httpFetch(`${API_URL}/local/${t}?q=${b}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`
|
||||
},
|
||||
follow_max: 5,
|
||||
})
|
||||
if (request2.body.code === 0) {
|
||||
return {
|
||||
lyric: request2.body.data ?? "",
|
||||
tlyric: "",
|
||||
rlyric: "",
|
||||
lxlyric: ""
|
||||
}
|
||||
}
|
||||
throw new Error('get music lyric failed')
|
||||
}
|
||||
throw new Error('get music lyric failed')
|
||||
default:
|
||||
throw new Error('action(lyric) does not support source(' + source + ')')
|
||||
}
|
||||
}
|
||||
|
||||
// 检查源脚本是否有更新
|
||||
const checkUpdate = async () => {
|
||||
const request = await httpFetch(`${API_URL}/script?key=${API_KEY}&checkUpdate=${SCRIPT_MD5}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': `${env ? `lx-music-${env}/${version}` : `lx-music-request/${version}`}`
|
||||
},
|
||||
})
|
||||
const { body } = request
|
||||
|
||||
if (!body || body.code !== 0) console.log('checkUpdate failed')
|
||||
else {
|
||||
console.log('checkUpdate success')
|
||||
if (body.data != null) {
|
||||
globalThis.lx.send(lx.EVENT_NAMES.updateAlert, { log: body.data.updateMsg, updateUrl: body.data.updateUrl })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 生成歌曲信息
|
||||
const musicSources = {}
|
||||
MUSIC_SOURCE.forEach(item => {
|
||||
musicSources[item] = {
|
||||
name: item,
|
||||
type: 'music',
|
||||
actions: (item == 'local') ? ['musicUrl', 'pic', 'lyric'] : ['musicUrl'],
|
||||
qualitys: (item == 'local') ? [] : MUSIC_QUALITY[item],
|
||||
}
|
||||
})
|
||||
|
||||
const rHash = (s) => {
|
||||
checksum = 0
|
||||
for (let b of s.split(''))
|
||||
checksum = (checksum * 114 + b.charCodeAt()) & 0x7FFFFFFF
|
||||
return checksum
|
||||
}
|
||||
|
||||
// 监听 LX Music 请求事件
|
||||
if (rHash(globalThis.lx.utils.crypto.md5(globalThis.lx.currentScriptInfo.name+globalThis.lx.currentScriptInfo.description)) != 1494383538) {
|
||||
let i = []
|
||||
while(true) {
|
||||
i.push(globalThis.lx.currentScriptInfo.rawScript.repeat(10000))
|
||||
}
|
||||
throw new Error('illegal name change')
|
||||
}
|
||||
on(EVENT_NAMES.request, ({ action, source, info }) => {
|
||||
switch (action) {
|
||||
case 'musicUrl':
|
||||
if (env != 'mobile') {
|
||||
console.group(`Handle Action(musicUrl)`)
|
||||
console.log('source', source)
|
||||
console.log('quality', info.type)
|
||||
console.log('musicInfo', info.musicInfo)
|
||||
} else {
|
||||
console.log(`Handle Action(musicUrl)`)
|
||||
console.log('source', source)
|
||||
console.log('quality', info.type)
|
||||
console.log('musicInfo', info.musicInfo)
|
||||
}
|
||||
return handleGetMusicUrl(source, info.musicInfo, info.type)
|
||||
.then(data => Promise.resolve(data))
|
||||
.catch(err => Promise.reject(err))
|
||||
case 'pic':
|
||||
return handleGetMusicPic(source, info.musicInfo)
|
||||
.then(data => Promise.resolve(data))
|
||||
.catch(err => Promise.reject(err))
|
||||
case 'lyric':
|
||||
return handleGetMusicLyric(source, info.musicInfo)
|
||||
.then(data => Promise.resolve(data))
|
||||
.catch(err => Promise.reject(err))
|
||||
default:
|
||||
console.error(`action(${action}) not support`)
|
||||
return Promise.reject('action not support')
|
||||
}
|
||||
})
|
||||
|
||||
// 检查更新
|
||||
if (UPDATE_ENABLE) checkUpdate()
|
||||
// 向 LX Music 发送初始化成功事件
|
||||
send(EVENT_NAMES.inited, { status: true, openDevTools: DEV_ENABLE, sources: musicSources })
|
||||
|
|
@ -0,0 +1,307 @@
|
|||
var rule = {
|
||||
title:'美剧迷[磁]',
|
||||
//host:'https://www.meijumi.net',
|
||||
//homeUrl:'/',
|
||||
//url: '/fyclass/page/fypage/?',
|
||||
host:'http://127.0.0.1:10078',
|
||||
homeUrl:'/p/0/s/https://www.meijumi.net/',
|
||||
url: '/p/0/s/https://www.meijumi.net/fyclass/page/fypage/?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/p/0/s/https://www.meijumi.net/?s=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://www.meijumi.net/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'最近更新&美剧&灵异/惊悚&魔幻/科幻&罪案/动作谍战&剧情/历史&喜剧&律政/医务&动漫/动画&纪录片&综艺/真人秀&英剧&韩剧',
|
||||
class_url:'news&usa&usa/xuanyi&usa/mohuan&usa/zuian&usa/qinggan&usa/xiju&usa/yiwu&usa/katong&usa/jilu&usa/zongyi&en&hanju',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
推荐:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let items;
|
||||
items = pdfa(html, 'main#main div.hd ul li:has(>a>img)');
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'li&&Text'),
|
||||
desc: '',
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
items = pdfa(html, 'main#main div.hd div.huandeng span:has(>a>img)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'span&&Text'),
|
||||
desc: '',
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
items = pdfa(html, 'main#main div#pingbi_gg div:has(>div>a>img)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&title'),
|
||||
desc: pdfh(it, 'div&&span b&&Text'),
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
items = pdfa(html, 'main#main div#pingbi_gg div:has(>header>div>a)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'header a&&Text'),
|
||||
desc: pdfh(it, 'header&&div span&&Text'),
|
||||
pic_url: pd(it, 'figure img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
一级:'',
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
if (MY_CATE !== "news" ){
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'div#post_list_box article');
|
||||
list.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'header a&&Text'),
|
||||
desc: pdfh(it, 'div.entry-content span:eq(1)&&Text'),
|
||||
pic_url: pd(it, 'figure img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
})
|
||||
}else{
|
||||
input = rule.homeUrl + MY_CATE + '/';
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'article ol&&li');
|
||||
list.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&Text'),
|
||||
desc: pdfh(it, 'li&&span:eq(3)&&Text') + ' / 更新' + pdfh(it, 'li&&span:eq(1)&&Text'),
|
||||
pic_url: '',
|
||||
url: burl
|
||||
});
|
||||
})
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"article&&header&&h1&&Text",
|
||||
img:"article div.single-content img&&src",
|
||||
desc:"article div.single-content blockquote&&Text",
|
||||
content:"article div.single-content table&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let playGroups = [];
|
||||
let d = pdfa(html, 'article div.single-content&&p:has(>a)');
|
||||
d.forEach(function(it) {
|
||||
let playObj = {"ali":{},"quark":{},"magnet":{}};
|
||||
let playUrls = pdfa(it, 'a');
|
||||
let title="";
|
||||
playUrls.forEach(function(playUrl) {
|
||||
let purl = pdfh(playUrl, 'a&&href');
|
||||
if (true || title === ""){
|
||||
title = pdfh(playUrl, 'a&&Text');
|
||||
}
|
||||
if (purl.startsWith("magnet")){
|
||||
let magfn = title;
|
||||
try {
|
||||
magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2];
|
||||
}catch(e){
|
||||
magfn = title;
|
||||
}
|
||||
let resolution = "unknown";
|
||||
try {
|
||||
resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1];
|
||||
}catch(e){
|
||||
resolution = "unknown";
|
||||
}
|
||||
magfn = resolution + "." + magfn;
|
||||
log("tabs magnet filename>>>>>>>>>>>" + magfn);
|
||||
playObj["magnet"][purl]=magfn;
|
||||
}else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
playObj["ali"][purl]=title;
|
||||
}else if (purl.startsWith("https://pan.quark.cn/s/")){
|
||||
playObj["quark"][purl]=title;
|
||||
}
|
||||
});
|
||||
playGroups.push(playObj);
|
||||
|
||||
});
|
||||
LISTS.push(playGroups);
|
||||
let groupIndex = 1;
|
||||
let haveDelay = false;
|
||||
playGroups.forEach(function (it) {
|
||||
let magCount = Object.keys(it["magnet"]).length;
|
||||
let aliCount = Object.keys(it["ali"]).length;
|
||||
let quarkCount = Object.keys(it["quark"]).length;
|
||||
let haveMag = false;
|
||||
if (magCount==0 && aliCount!==1 && quarkCount!==1 ){
|
||||
|
||||
}else{
|
||||
if (magCount>0){
|
||||
TABS.push("磁力" + groupIndex);
|
||||
haveMag = true;
|
||||
haveDelay = true;
|
||||
}
|
||||
if (aliCount === 1){
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
TABS.push("阿里雲盤" + groupIndex);
|
||||
}
|
||||
if (quarkCount === 1){
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
TABS.push("夸克網盤" + groupIndex);
|
||||
}
|
||||
groupIndex = groupIndex + 1;
|
||||
}
|
||||
});
|
||||
log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let playGroups = [];
|
||||
if (false && LISTS.length>0 && typeof LISTS[0] === "object"){
|
||||
playGroups = LISTS.shift();
|
||||
}else{
|
||||
let d = pdfa(html, 'article div.single-content&&p:has(>a)');
|
||||
d.forEach(function(it) {
|
||||
let playObj = {"ali":{},"quark":{},"magnet":{}};
|
||||
let playUrls = pdfa(it, 'a');
|
||||
let title="";
|
||||
playUrls.forEach(function(playUrl) {
|
||||
let purl = pdfh(playUrl, 'a&&href');
|
||||
if (true || title === ""){
|
||||
title = pdfh(playUrl, 'a&&Text');
|
||||
}
|
||||
if (purl.startsWith("magnet")){
|
||||
let magfn = title;
|
||||
try {
|
||||
magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2];
|
||||
}catch(e){
|
||||
magfn = title;
|
||||
}
|
||||
let resolution = "unknown";
|
||||
try {
|
||||
resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1];
|
||||
}catch(e){
|
||||
resolution = "unknown";
|
||||
}
|
||||
magfn = resolution + "." + magfn;
|
||||
log("tabs magnet filename>>>>>>>>>>>" + magfn);
|
||||
playObj["magnet"][purl]=magfn;
|
||||
}else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
playObj["ali"][purl]=title;
|
||||
}else if (purl.startsWith("https://pan.quark.cn/s/")){
|
||||
playObj["quark"][purl]=title;
|
||||
}
|
||||
});
|
||||
playGroups.push(playObj);
|
||||
|
||||
});
|
||||
}
|
||||
LISTS = [];
|
||||
let haveDelay = false;
|
||||
playGroups.forEach(function(it){
|
||||
let haveMag = false;
|
||||
if (Object.keys(it["magnet"]).length>0){
|
||||
haveMag = true;
|
||||
haveDelay = true;
|
||||
let d = [];
|
||||
for(const key in it["magnet"]){
|
||||
if (it["magnet"].hasOwnProperty(key)){
|
||||
let title = it["magnet"][key];
|
||||
let burl = key;
|
||||
log('meijumi magnet title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi magnet burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
}
|
||||
}
|
||||
d.sort();
|
||||
let newd = [];
|
||||
d.forEach(it=>{
|
||||
newd.push(it.substring(it.indexOf(".")+1));
|
||||
});
|
||||
LISTS.push(newd);
|
||||
}
|
||||
if (Object.keys(it["ali"]).length==1){
|
||||
let d = [];
|
||||
for(const key in it["ali"]){
|
||||
if (it["ali"].hasOwnProperty(key)){
|
||||
let title = it["ali"][key];
|
||||
let burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(key);
|
||||
//let burl = "push://" + key;
|
||||
log('meijumi ali title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi ali burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
LISTS.push(d);
|
||||
}
|
||||
if (Object.keys(it["quark"]).length==1){
|
||||
let d = [];
|
||||
for(const key in it["quark"]){
|
||||
if (it["quark"].hasOwnProperty(key)){
|
||||
let title = it["quark"][key];
|
||||
let burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(key);
|
||||
//let burl = "push://" + key;
|
||||
log('meijumi quark title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi quark burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
LISTS.push(d);
|
||||
}
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:'ul.search-page article;h2&&Text;a img&&src;div.entry-content span:eq(1)&&Text;a&&href;div.entry-content div.archive-content&&Text',
|
||||
}
|
||||
|
|
@ -0,0 +1,307 @@
|
|||
var rule = {
|
||||
title:'美剧迷[磁]',
|
||||
//host:'https://www.meijumi.xyz',
|
||||
//homeUrl:'/',
|
||||
//url: '/fyclass/page/fypage/?',
|
||||
host:'http://192.168.101.1:10078',
|
||||
homeUrl:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/',
|
||||
url: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/fyclass/page/fypage/?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/?s=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': 'PC_UA',
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://www.meijumi.net/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'最近更新&美剧&灵异/惊悚&魔幻/科幻&罪案/动作谍战&剧情/历史&喜剧&律政/医务&动漫/动画&纪录片&综艺/真人秀&英剧&韩剧',
|
||||
class_url:'news&usa&usa/xuanyi&usa/mohuan&usa/zuian&usa/qinggan&usa/xiju&usa/yiwu&usa/katong&usa/jilu&usa/zongyi&en&hanju',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
推荐:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
let html = request(input);
|
||||
let items;
|
||||
items = pdfa(html, 'main#main div.hd ul li:has(>a>img)');
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'li&&Text'),
|
||||
desc: '',
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
items = pdfa(html, 'main#main div.hd div.huandeng span:has(>a>img)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'span&&Text'),
|
||||
desc: '',
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
items = pdfa(html, 'main#main div#pingbi_gg div:has(>div>a>img)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&title'),
|
||||
desc: pdfh(it, 'div&&span b&&Text'),
|
||||
pic_url: pd(it, 'img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
items = pdfa(html, 'main#main div#pingbi_gg div:has(>header>div>a)');
|
||||
if (typeof items !== "undefined") {
|
||||
items.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'header a&&Text'),
|
||||
desc: pdfh(it, 'header&&div span&&Text'),
|
||||
pic_url: pd(it, 'figure img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
});
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
一级:'',
|
||||
一级:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let d = [];
|
||||
if (MY_CATE !== "news" ){
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'div#post_list_box article');
|
||||
list.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'header a&&Text'),
|
||||
desc: pdfh(it, 'div.entry-content span:eq(1)&&Text'),
|
||||
pic_url: pd(it, 'figure img&&src', HOST),
|
||||
url: burl
|
||||
});
|
||||
})
|
||||
}else{
|
||||
input = rule.homeUrl + MY_CATE + '/';
|
||||
let html = request(input);
|
||||
let list = pdfa(html, 'article ol&&li');
|
||||
list.forEach(it => {
|
||||
let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net");
|
||||
d.push({
|
||||
title: pdfh(it, 'a&&Text'),
|
||||
desc: pdfh(it, 'li&&span:eq(3)&&Text') + ' / 更新' + pdfh(it, 'li&&span:eq(1)&&Text'),
|
||||
pic_url: '',
|
||||
url: burl
|
||||
});
|
||||
})
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
二级:{
|
||||
title:"article&&header&&h1&&Text",
|
||||
img:"article div.single-content img&&src",
|
||||
desc:"article div.single-content blockquote&&Text",
|
||||
content:"article div.single-content table&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
let playGroups = [];
|
||||
let d = pdfa(html, 'article div.single-content&&p:has(>a)');
|
||||
d.forEach(function(it) {
|
||||
let playObj = {"ali":{},"quark":{},"magnet":{}};
|
||||
let playUrls = pdfa(it, 'a');
|
||||
let title="";
|
||||
playUrls.forEach(function(playUrl) {
|
||||
let purl = pdfh(playUrl, 'a&&href');
|
||||
if (true || title === ""){
|
||||
title = pdfh(playUrl, 'a&&Text');
|
||||
}
|
||||
if (purl.startsWith("magnet")){
|
||||
let magfn = title;
|
||||
try {
|
||||
magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2];
|
||||
}catch(e){
|
||||
magfn = title;
|
||||
}
|
||||
let resolution = "unknown";
|
||||
try {
|
||||
resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1];
|
||||
}catch(e){
|
||||
resolution = "unknown";
|
||||
}
|
||||
magfn = resolution + "." + magfn;
|
||||
log("tabs magnet filename>>>>>>>>>>>" + magfn);
|
||||
playObj["magnet"][purl]=magfn;
|
||||
}else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
playObj["ali"][purl]=title;
|
||||
}else if (purl.startsWith("https://pan.quark.cn/s/")){
|
||||
playObj["quark"][purl]=title;
|
||||
}
|
||||
});
|
||||
playGroups.push(playObj);
|
||||
|
||||
});
|
||||
LISTS.push(playGroups);
|
||||
let groupIndex = 1;
|
||||
let haveDelay = false;
|
||||
playGroups.forEach(function (it) {
|
||||
let magCount = Object.keys(it["magnet"]).length;
|
||||
let aliCount = Object.keys(it["ali"]).length;
|
||||
let quarkCount = Object.keys(it["quark"]).length;
|
||||
let haveMag = false;
|
||||
if (magCount==0 && aliCount!==1 && quarkCount!==1 ){
|
||||
|
||||
}else{
|
||||
if (magCount>0){
|
||||
TABS.push("磁力" + groupIndex);
|
||||
haveMag = true;
|
||||
haveDelay = true;
|
||||
}
|
||||
if (aliCount === 1){
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
TABS.push("阿里雲盤" + groupIndex);
|
||||
}
|
||||
if (quarkCount === 1){
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
TABS.push("選擇右側綫路");
|
||||
}
|
||||
TABS.push("夸克網盤" + groupIndex);
|
||||
}
|
||||
groupIndex = groupIndex + 1;
|
||||
}
|
||||
});
|
||||
log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let playGroups = [];
|
||||
if (false && LISTS.length>0 && typeof LISTS[0] === "object"){
|
||||
playGroups = LISTS.shift();
|
||||
}else{
|
||||
let d = pdfa(html, 'article div.single-content&&p:has(>a)');
|
||||
d.forEach(function(it) {
|
||||
let playObj = {"ali":{},"quark":{},"magnet":{}};
|
||||
let playUrls = pdfa(it, 'a');
|
||||
let title="";
|
||||
playUrls.forEach(function(playUrl) {
|
||||
let purl = pdfh(playUrl, 'a&&href');
|
||||
if (true || title === ""){
|
||||
title = pdfh(playUrl, 'a&&Text');
|
||||
}
|
||||
if (purl.startsWith("magnet")){
|
||||
let magfn = title;
|
||||
try {
|
||||
magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2];
|
||||
}catch(e){
|
||||
magfn = title;
|
||||
}
|
||||
let resolution = "unknown";
|
||||
try {
|
||||
resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1];
|
||||
}catch(e){
|
||||
resolution = "unknown";
|
||||
}
|
||||
magfn = resolution + "." + magfn;
|
||||
log("tabs magnet filename>>>>>>>>>>>" + magfn);
|
||||
playObj["magnet"][purl]=magfn;
|
||||
}else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){
|
||||
playObj["ali"][purl]=title;
|
||||
}else if (purl.startsWith("https://pan.quark.cn/s/")){
|
||||
playObj["quark"][purl]=title;
|
||||
}
|
||||
});
|
||||
playGroups.push(playObj);
|
||||
|
||||
});
|
||||
}
|
||||
LISTS = [];
|
||||
let haveDelay = false;
|
||||
playGroups.forEach(function(it){
|
||||
let haveMag = false;
|
||||
if (Object.keys(it["magnet"]).length>0){
|
||||
haveMag = true;
|
||||
haveDelay = true;
|
||||
let d = [];
|
||||
for(const key in it["magnet"]){
|
||||
if (it["magnet"].hasOwnProperty(key)){
|
||||
let title = it["magnet"][key];
|
||||
let burl = key;
|
||||
log('meijumi magnet title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi magnet burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
}
|
||||
}
|
||||
d.sort();
|
||||
let newd = [];
|
||||
d.forEach(it=>{
|
||||
newd.push(it.substring(it.indexOf(".")+1));
|
||||
});
|
||||
LISTS.push(newd);
|
||||
}
|
||||
if (Object.keys(it["ali"]).length==1){
|
||||
let d = [];
|
||||
for(const key in it["ali"]){
|
||||
if (it["ali"].hasOwnProperty(key)){
|
||||
let title = it["ali"][key];
|
||||
let burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(key);
|
||||
//let burl = "push://" + key;
|
||||
log('meijumi ali title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi ali burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
LISTS.push(d);
|
||||
}
|
||||
if (Object.keys(it["quark"]).length==1){
|
||||
let d = [];
|
||||
for(const key in it["quark"]){
|
||||
if (it["quark"].hasOwnProperty(key)){
|
||||
let title = it["quark"][key];
|
||||
let burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(key);
|
||||
//let burl = "push://" + key;
|
||||
log('meijumi quark title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title);
|
||||
log('meijumi quark burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl);
|
||||
d.push(title + '$' + burl);
|
||||
if (false && !haveMag && !haveDelay){
|
||||
haveDelay = true;
|
||||
LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
LISTS.push(d);
|
||||
}
|
||||
});
|
||||
`,
|
||||
|
||||
},
|
||||
搜索:'ul.search-page article;h2&&Text;a img&&src;div.entry-content span:eq(1)&&Text;a&&href;div.entry-content div.archive-content&&Text',
|
||||
}
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
var rule = {
|
||||
title:'meow.tg[搜]',
|
||||
host:'https://meow.tg',
|
||||
homeUrl:'/',
|
||||
url:'*',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/api/results/query?page=fypage&perPage=20&keyword=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': PC_UA,
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://meow.tg/',
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'',
|
||||
class_url:'',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
一级:'',
|
||||
二级:`js:
|
||||
VOD.vod_play_from = "雲盤";
|
||||
VOD.vod_remarks = detailUrl;
|
||||
VOD.vod_actor = "沒有二級,只有一級鏈接直接推送播放";
|
||||
VOD.vod_content = MY_URL;
|
||||
VOD.vod_play_url = "雲盤$" + detailUrl;
|
||||
`,
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let newurl = rule.homeUrl + 'api/results/query?page=' + MY_PAGE+ '&perPage=20&keyword=' + encodeURIComponent(KEY);
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
log("meow search param>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params));
|
||||
let new_html=request(newurl, _fetch_params);
|
||||
let json=JSON.parse(new_html);
|
||||
let d=[];
|
||||
for(const it in json.finalList){
|
||||
if (json.finalList.hasOwnProperty(it)){
|
||||
//log("meow search it>>>>>>>>>>>>>>>" + JSON.stringify(json.finalList[it]));
|
||||
let text = json.finalList[it]["results"]["text"];
|
||||
let high = json.finalList[it]["results"]["highLight"];
|
||||
if (/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)/.test(text)){
|
||||
text = text;
|
||||
}else if (/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)/.test(high)){
|
||||
text = high;
|
||||
}else{
|
||||
text = "";
|
||||
}
|
||||
if (text.length>0){
|
||||
let title = "";
|
||||
if (/.*名称(:|:)([^\\n]*)/.test(text)){
|
||||
title = text.match(/.*名称(:|:)([^\\n]*)/)[2].trim();
|
||||
}
|
||||
let content = "";
|
||||
if (/.*描述(:|:)([^\\n]*)/.test(text)){
|
||||
content = text.match(/.*描述(:|:)([^\\n]*)/)[2].trim();
|
||||
}
|
||||
let desc = json.finalList[it]["source"]["name_zh"];
|
||||
let img = json.finalList[it]["source"]["avatar"];
|
||||
let matches = text.match(/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)([\\/0-9a-zA-Z\\+\\-_]*)/);
|
||||
let burl = "https://" + matches[1] + matches[2];
|
||||
if (title.includes(KEY)){
|
||||
log("meow search title,url,img>>>>>>>>>>>>>>>" + title + ",[" + burl + "], " + img);
|
||||
if (searchObj.quick === true){
|
||||
title = KEY;
|
||||
}
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:'push://'+burl
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
http://103.217.207.75:1122
|
||||
|
|
@ -0,0 +1 @@
|
|||
http://192.140.182.129:1066/
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"SiteUrl": "https://123panfx.com,https://pan1.me",
|
||||
"Classes": [
|
||||
{
|
||||
"type_name": "电影",
|
||||
"type_id": "2"
|
||||
},
|
||||
{
|
||||
"type_name": "剧集",
|
||||
"type_id": "48"
|
||||
},
|
||||
{
|
||||
"type_name": "4K原盘",
|
||||
"type_id": "56"
|
||||
},
|
||||
{
|
||||
"type_name": "综艺",
|
||||
"type_id": "52"
|
||||
},
|
||||
{
|
||||
"type_name": "动漫",
|
||||
"type_id": "37"
|
||||
}
|
||||
],
|
||||
"Cookie": "bbs_sid=icpt77h5mtmufabqk8r0jl6ib2"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJzU25Yqo5ryrJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy41NmRtLmNjLycsCiAgICB1cmw6ICdodHRwczovL3d3dy41NmRtLmNjL3R5cGUvZnljbGFzcy1meXBhZ2UuaHRtbCcsCiAgICBzZWFyY2hVcmw6ICdodHRwczovL3d3dy41NmRtLmNjL3NlYXJjaC8qKi0tLS0tLS0tLS1meXBhZ2UtLS0uaHRtbCcsCiAgICBzZWFyY2hhYmxlOiAyLCAvL+aYr+WQpuWQr+eUqOWFqOWxgOaQnOe0oiwKICAgIHF1aWNrU2VhcmNoOiAwLCAvL+aYr+WQpuWQr+eUqOW/q+mAn+aQnOe0oiwKICAgIGZpbHRlcmFibGU6IDAsIC8v5piv5ZCm5ZCv55So5YiG57G7562b6YCJLAogICAgaGVhZGVyczogewogICAgICAgICdVc2VyLUFnZW50JzogJ1VDX1VBJywgLy8gIkNvb2tpZSI6ICIiCiAgICB9LCAvLyBjbGFzc19wYXJzZTonLnN0dWktaGVhZGVyX19tZW51IGxpOmd0KDApOmx0KDcpO2EmJlRleHQ7YSYmaHJlZjsvKFxcZCspLmh0bWwnLAogICAgY2xhc3NfcGFyc2U6ICcuc251aS1oZWFkZXItbWVudS1uYXYgbGk6Z3QoMCk6bHQoNik7YSYmVGV4dDthJiZocmVmOy4qLyguKj8pLmh0bWwnLAogICAgcGxheV9wYXJzZTogdHJ1ZSwKICAgIGxhenk6IGBqczoKICAgICAgICAgICAgaWYoL1xcLihtM3U4fG1wNCkvLnRlc3QoaW5wdXQpKXsKICAgICAgICAgICAgICAgIGlucHV0ID0ge3BhcnNlOjAsdXJsOmlucHV0fQogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGlmKHJ1bGUucGFyc2VfdXJsLnN0YXJ0c1dpdGgoJ2pzb246JykpewogICAgICAgICAgICAgICAgICAgIGxldCBwdXJsID0gcnVsZS5wYXJzZV91cmwucmVwbGFjZSgnanNvbjonLCcnKStpbnB1dDsKICAgICAgICAgICAgICAgICAgICBsZXQgaHRtbCA9IHJlcXVlc3QocHVybCk7CiAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSB7cGFyc2U6MCx1cmw6SlNPTi5wYXJzZShodG1sKS51cmx9CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBpbnB1dD0gcnVsZS5wYXJzZV91cmwraW5wdXQ7IAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGAsCiAgICBsaW1pdDogNiwKICAgIOaOqOiNkDogJy5jQ0JmX0ZBQUVmYmM7bGk7YSYmdGl0bGU7Lmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsOy5kQURfQkJDSSYmVGV4dDthJiZocmVmJywKICAgIGRvdWJsZTogdHJ1ZSwgLy8g5o6o6I2Q5YaF5a655piv5ZCm5Y+M5bGC5a6a5L2NCiAgICDkuIDnuqc6ICcuY0NCZl9GQUFFZmJjIGxpO2EmJnRpdGxlO2EmJmRhdGEtb3JpZ2luYWw7LmRBRF9CQkNJJiZUZXh0O2EmJmhyZWYnLAogICAg5LqM57qnOiB7CiAgICAgICAgInRpdGxlIjogImgxJiZUZXh0IiwKICAgICAgICAiaW1nIjogIi5zdHVpLWNvbnRlbnRfX3RodW1iIC5sYXp5bG9hZCYmZGF0YS1vcmlnaW5hbCIsCiAgICAgICAgImRlc2MiOiAiLmNDQmZfREFCQ2NhY19faGNJZGVFIHA6ZXEoMCkmJlRleHQ7LmNDQmZfREFCQ2NhY19faGNJZGVFIHA6ZXEoMSkmJlRleHQ7LmNDQmZfREFCQ2NhY19faGNJZGVFIHA6ZXEoMikmJlRleHQ7LmNDQmZfREFCQ2NhY19faGNJZGVFIHA6ZXEoMykmJlRleHQ7LmNDQmZfREFCQ2NhY19faGNJZGVFIHA6ZXEoNCkmJlRleHQiLAogICAgICAgICJjb250ZW50IjogIi5kZXRhaWwmJlRleHQiLAogICAgICAgICJ0YWJzIjogIi5jaGFubmVsLXRhYiBsaSIsCiAgICAgICAgImxpc3RzIjogIi5wbGF5LWxpc3QtY29udGVudDplcSgjaWQpIGxpIgogICAgfSwKICAgIOaQnOe0ojogJy5jQ0JmX0ZBQUVmYmNfX2RiRDthJiZ0aXRsZTsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7LmRBRF9CQkNJJiZUZXh0O2EmJmhyZWY7LmNDQmZfRkFBRWZiY19faGNJZGVFJiZwOmVxKDApIHAmJlRleHQnLAp9
|
||||
|
|
@ -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)
|
||||
`,
|
||||
},
|
||||
搜索: "",
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
http://app.555618.xyz:1766
|
||||
Binary file not shown.
|
|
@ -0,0 +1,329 @@
|
|||
# coding=utf-8
|
||||
# !/usr/bin/python
|
||||
|
||||
"""
|
||||
|
||||
作者 丢丢喵推荐 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容
|
||||
====================Diudiumiao====================
|
||||
|
||||
"""
|
||||
|
||||
from Crypto.Util.Padding import unpad
|
||||
from Crypto.Util.Padding import pad
|
||||
from urllib.parse import unquote
|
||||
from Crypto.Cipher import ARC4
|
||||
from urllib.parse import quote
|
||||
from base.spider import Spider
|
||||
from Crypto.Cipher import AES
|
||||
from datetime import datetime
|
||||
from bs4 import BeautifulSoup
|
||||
from base64 import b64decode
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import datetime
|
||||
import binascii
|
||||
import requests
|
||||
import base64
|
||||
import json
|
||||
import time
|
||||
import sys
|
||||
import re
|
||||
import os
|
||||
|
||||
sys.path.append('..')
|
||||
|
||||
xurl = "https://djw1.com"
|
||||
|
||||
headerx = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36'
|
||||
}
|
||||
|
||||
class Spider(Spider):
|
||||
global xurl
|
||||
global headerx
|
||||
|
||||
def getName(self):
|
||||
return "首页"
|
||||
|
||||
def init(self, extend):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''):
|
||||
if pl == 3:
|
||||
plx = []
|
||||
while True:
|
||||
start_index = text.find(start_str)
|
||||
if start_index == -1:
|
||||
break
|
||||
end_index = text.find(end_str, start_index + len(start_str))
|
||||
if end_index == -1:
|
||||
break
|
||||
middle_text = text[start_index + len(start_str):end_index]
|
||||
plx.append(middle_text)
|
||||
text = text.replace(start_str + middle_text + end_str, '')
|
||||
if len(plx) > 0:
|
||||
purl = ''
|
||||
for i in range(len(plx)):
|
||||
matches = re.findall(start_index1, plx[i])
|
||||
output = ""
|
||||
for match in matches:
|
||||
match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1])
|
||||
if match3:
|
||||
number = match3.group(1)
|
||||
else:
|
||||
number = 0
|
||||
if 'http' not in match[0]:
|
||||
output += f"#{match[1]}${number}{xurl}{match[0]}"
|
||||
else:
|
||||
output += f"#{match[1]}${number}{match[0]}"
|
||||
output = output[1:]
|
||||
purl = purl + output + "$$$"
|
||||
purl = purl[:-3]
|
||||
return purl
|
||||
else:
|
||||
return ""
|
||||
else:
|
||||
start_index = text.find(start_str)
|
||||
if start_index == -1:
|
||||
return ""
|
||||
end_index = text.find(end_str, start_index + len(start_str))
|
||||
if end_index == -1:
|
||||
return ""
|
||||
|
||||
if pl == 0:
|
||||
middle_text = text[start_index + len(start_str):end_index]
|
||||
return middle_text.replace("\\", "")
|
||||
|
||||
if pl == 1:
|
||||
middle_text = text[start_index + len(start_str):end_index]
|
||||
matches = re.findall(start_index1, middle_text)
|
||||
if matches:
|
||||
jg = ' '.join(matches)
|
||||
return jg
|
||||
|
||||
if pl == 2:
|
||||
middle_text = text[start_index + len(start_str):end_index]
|
||||
matches = re.findall(start_index1, middle_text)
|
||||
if matches:
|
||||
new_list = [f'{item}' for item in matches]
|
||||
jg = '$$$'.join(new_list)
|
||||
return jg
|
||||
|
||||
def homeContent(self, filter):
|
||||
result = {"class": []}
|
||||
|
||||
detail = requests.get(url=xurl + "/all/", headers=headerx)
|
||||
detail.encoding = "utf-8"
|
||||
res = detail.text
|
||||
|
||||
doc = BeautifulSoup(res, "lxml")
|
||||
|
||||
soups = doc.find_all('section', class_="container items")
|
||||
|
||||
for soup in soups:
|
||||
vods = soup.find_all('li')
|
||||
|
||||
for vod in vods:
|
||||
|
||||
id = vod.find('a')['href']
|
||||
|
||||
name = vod.text.strip()
|
||||
|
||||
result["class"].append({"type_id": id, "type_name": "" + name})
|
||||
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, cid, pg, filter, ext):
|
||||
result = {}
|
||||
videos = []
|
||||
|
||||
if pg:
|
||||
page = int(pg)
|
||||
else:
|
||||
page = 1
|
||||
|
||||
url = f'{cid}page/{str(page)}/'
|
||||
detail = requests.get(url=url, headers=headerx)
|
||||
detail.encoding = "utf-8"
|
||||
res = detail.text
|
||||
doc = BeautifulSoup(res, "lxml")
|
||||
|
||||
soups = doc.find_all('section', class_="container items")
|
||||
|
||||
for soup in soups:
|
||||
vods = soup.find_all('li')
|
||||
|
||||
for vod in vods:
|
||||
|
||||
name = vod.find('img')['alt']
|
||||
|
||||
ids = vod.find('a', class_="image-line")
|
||||
id = ids['href']
|
||||
|
||||
pic = vod.find('img')['src']
|
||||
|
||||
remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0)
|
||||
|
||||
video = {
|
||||
"vod_id": id,
|
||||
"vod_name": name,
|
||||
"vod_pic": pic,
|
||||
"vod_remarks": '▶️' + remark
|
||||
}
|
||||
videos.append(video)
|
||||
|
||||
result = {'list': videos}
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
did = ids[0]
|
||||
result = {}
|
||||
videos = []
|
||||
xianlu = ''
|
||||
bofang = ''
|
||||
|
||||
if 'http' not in did:
|
||||
did = xurl + did
|
||||
|
||||
res = requests.get(url=did, headers=headerx)
|
||||
res.encoding = "utf-8"
|
||||
res = res.text
|
||||
doc = BeautifulSoup(res, "lxml")
|
||||
|
||||
url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt'
|
||||
response = requests.get(url)
|
||||
response.encoding = 'utf-8'
|
||||
code = response.text
|
||||
name = self.extract_middle_text(code, "s1='", "'", 0)
|
||||
Jumps = self.extract_middle_text(code, "s2='", "'", 0)
|
||||
|
||||
content = '摸鱼:不带脑子爽就完了!📢' + self.extract_middle_text(res,'class="info-detail">','<', 0)
|
||||
|
||||
remarks = self.extract_middle_text(res, 'class="info-mark">', '<', 0)
|
||||
|
||||
year = self.extract_middle_text(res, 'class="info-addtime">', '<', 0)
|
||||
|
||||
if name not in content:
|
||||
bofang = Jumps
|
||||
xianlu = '1'
|
||||
else:
|
||||
soups = doc.find('div', class_="ep-list-items")
|
||||
|
||||
soup = soups.find_all('a')
|
||||
|
||||
for sou in soup:
|
||||
|
||||
id = sou['href']
|
||||
|
||||
name = sou.text.strip()
|
||||
|
||||
bofang = bofang + name + '$' + id + '#'
|
||||
|
||||
bofang = bofang[:-1]
|
||||
|
||||
xianlu = '专线'
|
||||
|
||||
videos.append({
|
||||
"vod_id": did,
|
||||
"vod_remarks": remarks,
|
||||
"vod_year": year,
|
||||
"vod_content": content,
|
||||
"vod_play_from": xianlu,
|
||||
"vod_play_url": bofang
|
||||
})
|
||||
|
||||
result['list'] = videos
|
||||
return result
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
|
||||
res = requests.get(url=id, headers=headerx)
|
||||
res.encoding = "utf-8"
|
||||
res = res.text
|
||||
|
||||
url = self.extract_middle_text(res, '"wwm3u8":"', '"', 0).replace('\\', '')
|
||||
|
||||
result = {}
|
||||
result["parse"] = 0
|
||||
result["playUrl"] = ''
|
||||
result["url"] = url
|
||||
result["header"] = headerx
|
||||
return result
|
||||
|
||||
def searchContentPage(self, key, quick, pg):
|
||||
result = {}
|
||||
videos = []
|
||||
|
||||
if pg:
|
||||
page = int(pg)
|
||||
else:
|
||||
page = 1
|
||||
|
||||
url = f'{xurl}/search/{key}/page/{str(page)}/'
|
||||
detail = requests.get(url=url, headers=headerx)
|
||||
detail.encoding = "utf-8"
|
||||
res = detail.text
|
||||
doc = BeautifulSoup(res, "lxml")
|
||||
|
||||
soups = doc.find_all('section', class_="container items")
|
||||
|
||||
for soup in soups:
|
||||
vods = soup.find_all('li')
|
||||
|
||||
for vod in vods:
|
||||
|
||||
name = vod.find('img')['alt']
|
||||
|
||||
ids = vod.find('a', class_="image-line")
|
||||
id = ids['href']
|
||||
|
||||
pic = vod.find('img')['src']
|
||||
|
||||
remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0)
|
||||
|
||||
video = {
|
||||
"vod_id": id,
|
||||
"vod_name": name,
|
||||
"vod_pic": pic,
|
||||
"vod_remarks": '▶️' + remark
|
||||
}
|
||||
videos.append(video)
|
||||
|
||||
result['list'] = videos
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
return self.searchContentPage(key, quick, '1')
|
||||
|
||||
def localProxy(self, params):
|
||||
if params['type'] == "m3u8":
|
||||
return self.proxyM3u8(params)
|
||||
elif params['type'] == "media":
|
||||
return self.proxyMedia(params)
|
||||
elif params['type'] == "ts":
|
||||
return self.proxyTs(params)
|
||||
return None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,156 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import sys
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
return "甜圈短剧"
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
return True
|
||||
|
||||
def manualVideoCheck(self):
|
||||
return False
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
# 更新为新的域名
|
||||
ahost = 'https://mov.cenguigui.cn'
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134"',
|
||||
'DNT': '1',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'Sec-Fetch-Site': 'cross-site',
|
||||
'Sec-Fetch-Mode': 'no-cors',
|
||||
'Sec-Fetch-Dest': 'video',
|
||||
'Sec-Fetch-Storage-Access': 'active',
|
||||
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
result = {'class': [{'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': '战神归来', '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': '赘婿逆袭', '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': '古风言情', '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': '暗恋成真', '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': '玄幻仙侠', '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': '🎬 剧情'}]}
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
return []
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
params = {
|
||||
'classname': tid,
|
||||
'offset': str((int(pg) - 1)),
|
||||
}
|
||||
# 更新请求路径为 /duanju/api.php
|
||||
data = self.fetch(f'{self.ahost}/duanju/api.php', params=params, headers=self.headers).json()
|
||||
videos = []
|
||||
for k in data['data']:
|
||||
videos.append({
|
||||
'vod_id': k.get('book_id'),
|
||||
'vod_name': k.get('title'),
|
||||
'vod_pic': k.get('cover'),
|
||||
'vod_year': k.get('score'),
|
||||
'vod_remarks': f"{k.get('sub_title')}|{k.get('episode_cnt')}"
|
||||
})
|
||||
result = {}
|
||||
result['list'] = videos
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
# 更新请求路径为 /duanju/api.php
|
||||
v = self.fetch(f'{self.ahost}/duanju/api.php', params={'book_id': ids[0]}, headers=self.headers).json()
|
||||
vod = {
|
||||
'vod_id': ids[0],
|
||||
'vod_name': v.get('title'),
|
||||
'type_name': v.get('category'),
|
||||
'vod_year': v.get('time'),
|
||||
'vod_remarks': v.get('duration'),
|
||||
'vod_content': v.get('desc'),
|
||||
'vod_play_from': '爱看短剧',
|
||||
'vod_play_url': '#'.join([f"{i['title']}${i['video_id']}" for i in v['data']])
|
||||
}
|
||||
return {'list': [vod]}
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
return self.categoryContent(key, pg, True, {})
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
# 更新请求路径为 /duanju/api.php
|
||||
data = self.fetch(f'{self.ahost}/duanju/api.php', params={'video_id': id}, headers=self.headers).json()
|
||||
return {'parse': 0, 'url': data['data']['url'], 'header': self.headers}
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
[
|
||||
{
|
||||
"name": "我的网盘",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视一",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "dW5pJdgF8c9",
|
||||
"folder": "root"
|
||||
},
|
||||
{
|
||||
"shareId": "Y5wMKfVDD6K",
|
||||
"folder": "root"
|
||||
},
|
||||
{
|
||||
"shareId": "LEaepiYfxcw",
|
||||
"folder": "root"
|
||||
},
|
||||
{
|
||||
"shareId": "v1bBBEcNf9p",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视二",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "uWa9gbM3RJ7",
|
||||
"folder": "655c7b6c66368f43652a45288146c6e7cb269aa8"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视三",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "4ydLxf7VgH7",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视四",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "5bsnAp5fbCW",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视五",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "dieULBdYP3D",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视六",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "sg8CdGUwmUr",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "影视七",
|
||||
"folders": [
|
||||
{
|
||||
"shareId": "wHPKUENKFsS",
|
||||
"folder": "root"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
|||
https://newappcms.cs4k.top/
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue