mirror of
https://github.com/lxhfans/cat.git
synced 2026-10-20 09:30:12 +00:00
Add files via upload
This commit is contained in:
1 parent
7a30899504
commit
a83e167d61
2 files changed
+156
No files matched your search
+155
@@ -0,0 +1,155 @@
|
||||
import {load, _, Uri} from './lib/cat.js';
|
||||
import {log} from './lib/utils.js';
|
||||
import {initAli, detailContent, playContent} from './lib/ali.js';
|
||||
|
||||
let siteKey = 'wobg';
|
||||
let siteType = 0;
|
||||
let siteUrl = 'https://wobge.run.goorm.io';
|
||||
let UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
|
||||
let patternAli = /(https:\/\/www\.aliyundrive\.com\/s\/[^"]+)/
|
||||
|
||||
async function init(cfg) {
|
||||
try {
|
||||
siteKey = _.isEmpty(cfg.skey) ? '' : cfg.skey;
|
||||
siteType = _.isEmpty(cfg.stype) ? '' : cfg.stype;
|
||||
await initAli(cfg);
|
||||
} catch (e) {
|
||||
await log('init:' + e.message + ' line:' + e.lineNumber);
|
||||
}
|
||||
}
|
||||
|
||||
async function request(reqUrl, agentSp) {
|
||||
let header = {
|
||||
'user-agent': agentSp || 'okhttp/3.12.0',
|
||||
};
|
||||
let uri = new Uri(reqUrl);
|
||||
let res = await req(uri.toString(), {
|
||||
headers: header,
|
||||
timeout: 10000
|
||||
});
|
||||
let content = res.content;
|
||||
return content;
|
||||
}
|
||||
|
||||
function getHeader() {
|
||||
let header = {};
|
||||
header['User-Agent'] = UA;
|
||||
return header;
|
||||
}
|
||||
|
||||
async function getString(url) {
|
||||
let res = await req(url, {
|
||||
headers: getHeader()
|
||||
});
|
||||
return res.content;
|
||||
}
|
||||
|
||||
let classes = [{'type_id': 1, 'type_name' : '自营电影'},{'type_id': 2, 'type_name' : '自营剧集'},{'type_id': 44, 'type_name' : '自营短剧'},{'type_id': 3, 'type_name' : '动漫'},{'type_id': 4, 'type_name' : '综艺'},{'type_id': 5, 'type_name' : '音乐'}];
|
||||
let filterObj = {};
|
||||
async function home(filter) {
|
||||
return JSON.stringify({
|
||||
class: classes,
|
||||
filters: filterObj,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
async function homeVod() {
|
||||
return '{}';
|
||||
}
|
||||
|
||||
|
||||
async function category(tid, pg, filter, extend) {
|
||||
let reqUrl = siteUrl + '/index.php/vod/show/id/'+tid+'/page/'+pg+'.html';
|
||||
let con = await request(reqUrl, UA);
|
||||
const $ = load(con);
|
||||
let items = $('.module:eq(0) > .module-list > .module-items > .module-item');
|
||||
let videos = [];
|
||||
for(var item of items) {
|
||||
let oneA = $(item).find('.module-item-cover .module-item-pic a').first();
|
||||
let href = oneA.attr('href');
|
||||
let name = oneA.attr('title');
|
||||
let oneImg = $(item).find('.module-item-cover .module-item-pic img').first();
|
||||
let pic = oneImg.attr('data-src');
|
||||
let remark = $(item).find('.module-item-text').first().text();
|
||||
videos.push({
|
||||
vod_id: href,
|
||||
vod_name: name,
|
||||
vod_pic: pic,
|
||||
vod_remarks: remark,
|
||||
});
|
||||
}
|
||||
|
||||
const hasMore = $('#page > a:contains(下一页)').length > 0;
|
||||
const pgCount = hasMore ? parseInt(pg) + 1 : parseInt(pg);
|
||||
return JSON.stringify({
|
||||
page: parseInt(pg),
|
||||
pagecount: pgCount,
|
||||
limit: 72,
|
||||
total: 72 * pgCount,
|
||||
list: videos,
|
||||
});
|
||||
}
|
||||
|
||||
async function detail(id) {
|
||||
try {
|
||||
await log('detail:id:' + id);
|
||||
let preMatches = id.match(patternAli);
|
||||
if (!_.isEmpty(preMatches)) return await detailContent(preMatches[1]);
|
||||
let url = siteUrl + id;
|
||||
let aliUrl = await getString(url);
|
||||
let matches = aliUrl.match(patternAli);
|
||||
console.log('detailmatche');
|
||||
console.log(matches[1]);
|
||||
if (!_.isEmpty(matches)) return await detailContent(matches[1]);
|
||||
return '';
|
||||
} catch (e) {
|
||||
await log( 'detail:' + e.message + ' line:' + e.lineNumber);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function play(flag, id, flags) {
|
||||
try {
|
||||
return await playContent(flag, id, flags);
|
||||
} catch (e) {
|
||||
await log( 'play:' + e.message + ' line:' + e.lineNumber);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function search(wd, quick) {
|
||||
await log('search' + wd);
|
||||
let searchUrl = siteUrl + '/index.php/vod/search.html?wd=' + wd;
|
||||
let html = await getString(searchUrl);
|
||||
let $ = load(html);
|
||||
let items = $('.module-search-item');
|
||||
let videos = [];
|
||||
for(var item of items) {
|
||||
let vodId = $(item).find(".video-serial")[0].attribs.href;
|
||||
let name = $(item).find(".video-serial")[0].attribs.title;
|
||||
let pic = $(item).find(".module-item-pic > img")[0].attribs['data-src'];
|
||||
let remark = '';
|
||||
videos.push({
|
||||
vod_id: vodId,
|
||||
vod_name: name,
|
||||
vod_pic: pic,
|
||||
vod_remarks: remark,
|
||||
});
|
||||
}
|
||||
return JSON.stringify({
|
||||
list: videos,
|
||||
});
|
||||
}
|
||||
|
||||
export function __jsEvalReturn() {
|
||||
return {
|
||||
init: init,
|
||||
home: home,
|
||||
homeVod: homeVod,
|
||||
category: category,
|
||||
detail: detail,
|
||||
play: play,
|
||||
search: search,
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
//bbQ0FUT1DpAQ53b2dnLmpzLGFzc2V0czovL2pzL2xpYi9jYXQuanMYLi9saWIvYWxpLmpzHF9fanNFdmFsUmV0dXJuCGxvYWQCXwZVcmkOaW5pdEFsaRpkZXRhaWxDb250ZW50FnBsYXlDb250ZW50MGRldGFpbENvbnRlbnRWb2RQbGF5RnJvbS5kZXRhaWxDb250ZW50Vm9kUGxheVVybA5zaXRlS2V5EHNpdGVUeXBlDnNpdGVVcmwEVUEUcGF0dGVybkFsaQhpbml0DnJlcXVlc3QSZ2V0SGVhZGVyEmdldFN0cmluZxpyZWdleENhdGVnb3J5EmZpbHRlck9iaghob21lDmhvbWVWb2QQY2F0ZWdvcnkMZGV0YWlsCHBsYXkMc2VhcmNoIGh0dHBzOi8vd29nZy54eXqWAk1vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTNfMl8zIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwNS4xLjE1IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi8xMy4wLjMgTW9iaWxlLzE1RTE0OCBTYWZhcmkvNjA0LjEGa2V5BWdSxWAFnFVnUgJuAnYFMXLFYAVQYBZgBahSXE8F0Xl7XgUYYolOBWaLKlMFr3JqfwWoUjt1BUdZe14FZmugTwWSUWmWBapnGGIFrGCRdQXKYJpgBc9+eFEFUpclZgWHZXqCBeRTxYgFhlPyUweuXzV1cV8FMFc6UwUnWUaWBZmZL24F8FN+bgWOf/1WBdVs/VYF8YL9VgXlZSxnBemX/VYFt1/9VgXwbP1WBXBTpl4HD2EnWSlSB3+J7XNZcgegUv9iJ1kFdlHWTgV0Xv1OBVdbzWsCQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaBjAtOQWSY49eBfZl9JUIdGltZQW6ThRsCGhpdHMFxIsGUgpzY29yZQXtiwCKBf1W7YsF8YLtiwWkfO2LB/2VV1PtiwXpl+2LBeVl7YsF1WztiwW3X+2LBXZRg1sF/VanTgXlZemXBSdrjn8GY2ZnBmV4dAhza2V5CnN0eXBlDHJlcVVybA5hZ2VudFNwGm9raHR0cC8zLjEyLjAUdXNlci1hZ2VudAZyZXEOaGVhZGVycw50aW1lb3V0DmNvbnRlbnQMaGVhZGVyFFVzZXItQWdlbnQGdXJsDGZpbHRlcghpdGVtDmNsYXNzZXMGY29uAiQGb25lDm1hdGNoZXMSLm5hdi1saW5rCGF0dHIIaHJlZgptYXRjaA5pc0VtcHR5DnR5cGVfaWQIdGV4dAh0cmltEnR5cGVfbmFtZQhwdXNoEnN0cmluZ2lmeQ5maWx0ZXJzDHZpZGVvcwhvbmVBBnBpYwxyZW1hcmtsLm1vZHVsZTpsdCgzKSAgLm1vZHVsZS1saXN0IC5tb2R1bGUtaXRlbXMgLm1vZHVsZS1pdGVtCGZpbmRKLm1vZHVsZS1pdGVtLWNvdmVyIC5tb2R1bGUtaXRlbS1waWMgYQpmaXJzdAp0aXRsZU4ubW9kdWxlLWl0ZW0tY292ZXIgLm1vZHVsZS1pdGVtLXBpYyBpbWcQZGF0YS1zcmMiLm1vZHVsZS1pdGVtLXRleHQMdm9kX2lkEHZvZF9uYW1lDnZvZF9waWMWdm9kX3JlbWFya3MIbGlzdAZ0aWQEcGcMZXh0ZW5kEnVybFBhcmFtcxBwYXJzZUludAItJi9pbmRleC5waHAvdm9kc2hvdy8KLmh0bWwOY29uc29sZQpkZWJ1Z3YubW9kdWxlOmVxKDApID4gLm1vZHVsZS1saXN0ID4gLm1vZHVsZS1pdGVtcyA+IC5tb2R1bGUtaXRlbS8jAHAAYQBnAGUAIAA+ACAAYQA6AGMAbwBuAHQAYQBpAG4AcwAoAAtOAE51mCkACHBhZ2UScGFnZWNvdW50CmxpbWl0CnRvdGFsBGlkFHNoYXJlTGlua3Madm9kX3BsYXlfZnJvbRB0eXBlRWxlcxZ0eXBlTmFtZUFycgZ2b2QgLm1vZHVsZS1yb3ctdGV4dAhlYWNoQi52aWRlby1pbmZvLWhlYWRlciBkaXYudGFnLWxpbmsgYRZ2b2RfY29udGVudCgubW9kdWxlLWl0ZW0tcGljIGltZ0AudmlkZW8taW5mby1oZWFkZXIgPiAucGFnZS10aXRsZRh2b2RfcGxheV91cmwCLBB2b2RfeWVhcjoudmlkZW8taW5mby1oZWFkZXIgYS50YWctbGluawhsYXN0EHZvZF9hcmVhEnZvZF9hY3Rvchh2b2RfZGlyZWN0b3IiLnZpZGVvLWluZm8taXRlbXMC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
Line truncated
|
||||
Reference in new issue
Block a user