Add files via upload

This commit is contained in:
alantang 2023-08-24 11:52:23 +08:00 committed by GitHub
parent 75b4cca03d
commit e68dc9811a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 58 additions and 65 deletions

View file

@ -3,28 +3,52 @@
"sites": [
{
"key": "kunyu77",
"name": "🤖超人丨七七",
"name": "🤖超人丨七七姐姐",
"type": 3,
"api": "assets://js/kunyu77_open.js"
},
{
"key": "wogg",
"name": "🤖超人丨玩偶",
"name": "🤖超人丨玩偶哥哥",
"type": 3,
"api": "assets://js/wogg_open.js",
"ext": "https://alantang1977.github.io/t.txt"
},
{
"key": "nanguatv",
"name": "🤖超人丨南瓜影视",
"name": "🤖超人丨南瓜妹妹",
"type": 3,
"api": "assets://js/ng_open.js"
},
{
"key": "libvio",
"name": "🤖超人丨libvio_4K",
"name": "🤖超人丨libvio弟弟",
"type": 3,
"api": "assets://js/libvio_open.js"
},
{
"key": "ikanbot",
"name": "🤖超人丨爱看大叔",
"type": 3,
"api": "assets://js/ikanbot_open.js"
},
{
"key": "kkys",
"name": "🤖超人丨快看帅哥",
"type": 3,
"api": "assets://js/kkys_open.js"
},
{
"key": "subaibai",
"name": "🤖超人丨素白白姐姐",
"type": 3,
"api": "assets://js/subaibai_open.js"
},
{
"key": "zxzj",
"name": "🤖超人丨 在线之家",
"type": 3,
"api": "assets://js/zxzj_open.js"
},
{
"key": "czzy",
@ -44,36 +68,6 @@
"type": 3,
"api": "assets://js/czzy3_open.js"
},
{
"key": "ikanbot",
"name": "🤖超人丨爱看",
"type": 3,
"api": "assets://js/ikanbot_open.js"
},
{
"key": "kkys",
"name": "🤖超人丨快看",
"type": 3,
"api": "assets://js/kkys_open.js"
},
{
"key": "subaibai",
"name": "🤖超人丨素白白",
"type": 3,
"api": "assets://js/subaibai_open.js"
},
{
"key": "zxzj",
"name": "🤖超人丨 在线之家",
"type": 3,
"api": "assets://js/zxzj_open.js"
},
{
"key": "0809",
"name": "🤖超人丨听歌",
"type": 3,
"api": "assets://js/dj0898_open.js"
},
{
"key": "tuxiaobei",
"name": "🤖超人丨小贝",
@ -110,12 +104,6 @@
"type": 3,
"api": "assets://js/sharenice_open.js"
},
{
"key": "mtsp_open.",
"name": "🤖超人丨蜜桃",
"type": 3,
"api": "assets://js/mtsp_open.js"
},
{
"key": "nivod",
"name": "🤖超人丨泥巴✈",
@ -136,11 +124,23 @@
"api": "assets://js/230ts_open.js"
},
{
"key": "18av",
"name": "🤖超人丨仙女",
"key": "0809",
"name": "🤖超人丨听歌",
"type": 3,
"api": "assets://js/18a_open.js"
"api": "assets://js/dj0898_open.js"
},
{
"key": "18av",
"name": "🤖超人丨小仙女",
"type": 3,
"api": "assets://js/18av_open.js"
},
{
"key": "mtsp_open.",
"name": "🤖超人丨蜜桃",
"type": 3,
"api": "assets://js/mtsp_open.js"
},
{
"key": "xiaoya-tv",
"name": "🤖超人丨小雅",

View file

@ -1,20 +1,18 @@
// 修复 Windows版 播放转圈圈
import { load, _ } from './lib/cat.js';
import { Crypto, load, _, jinja2 } from './lib/cat.js';
let key = 'duboku';
let HOST = 'https://www.duboku.tv';
// let HOST = 'https://u.duboku.io';
let url = 'https://u.duboku.io';
let siteKey = '';
let siteType = 0;
const MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36';
const 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';
async function request(reqUrl, agentSp) {
let res = await req(reqUrl, {
method: 'get',
headers: {
'User-Agent': agentSp || MOBILE_UA,
'Referer': HOST
'User-Agent': agentSp || UA,
'Referer': url
},
});
return res.content;
@ -27,7 +25,7 @@ async function init(cfg) {
}
async function home(filter) {
const html = await request(HOST);
const html = await request(url);
const $ = load(html);
const class_parse = $('ul.nav-list > li > a[href*=vodtype]');
let classes = [];
@ -57,7 +55,7 @@ async function home(filter) {
}
async function homeVod() {
const link = HOST + '/vodshow/2--hits---------.html';
const link = url + '/vodshow/2--hits---------.html';
const html = await request(link);
const $ = load(html);
const items = $('div.myui-panel_bd > ul.myui-vodlist > li');
@ -78,7 +76,8 @@ async function homeVod() {
async function category(tid, pg, filter, extend) {
if (pg <= 0) pg = 1;
const link = HOST + '/vodshow/' + (extend.CateId || tid) + '-'+(extend.area || '')+'-'+(extend.by || 'time')+'-'+(extend.class || '')+'-'+(extend.lang || '')+'-'+(extend.letter || '')+'---' + (`${pg}`) + '---'+(extend.year || '')+'.html';
const link = url + '/vodshow/' + (extend.CateId || tid) + '-'+(extend.area || '')+'-'+(extend.by || 'time')+'-'+(extend.class || '')+'-'+(extend.lang || '')+'-'+(extend.letter || '')+'---' + (`${pg}`) + '---'+(extend.year || '')+'.html';
const html = await request(link);
const $ = load(html);
const items = $('div.myui-panel_bd > ul.myui-vodlist > li');
@ -104,7 +103,7 @@ async function category(tid, pg, filter, extend) {
}
async function detail(id) {
const html = await request(HOST + '/voddetail/' + id + '.html');
const html = await request(url + '/voddetail/' + id + '.html');
const $ = load(html);
let vod = {
vod_id: id,
@ -119,8 +118,7 @@ async function detail(id) {
const playlist = _.map($('ul.sort-list > li > a'), (it) => {
return it.children[0].data + '$' + it.attribs.href.replace(/\/vodplay\/(.*).html/g, '$1');
});
// vod.vod_play_from = key;
vod.vod_play_from = '道长在线';
vod.vod_play_from = key;
vod.vod_play_url = playlist.join('#');
return JSON.stringify({
list: [vod],
@ -128,23 +126,19 @@ async function detail(id) {
}
async function play(flag, id, flags) {
const link = HOST + '/vodplay/' + id + '.html';
const link = url + '/vodplay/' + id + '.html';
const html = await request(link);
const $ = load(html);
const js = JSON.parse($('script:contains(player_)').html().replace(/var player_.*=/,''));
const playUrl = js.url;
let headers = {
"referer": HOST+"/static/player/vidjs.html",
};
const js = JSON.parse($('script:contains(player_)').html().replace('var player_data=',''));
const playUrl = js.url.replace('index.m3u8','hls\/index.m3u8');
return JSON.stringify({
parse: 0,
url: playUrl,
header: headers,
});
}
async function search(wd, quick) {
let data = JSON.parse(await request(HOST + '/index.php/ajax/suggest?mid=1&wd=' + wd + '&limit=50')).list;
let data = JSON.parse(await request(url + '/index.php/ajax/suggest?mid=1&wd=' + wd)).list;
let videos = [];
for (const vod of data) {
videos.push({
@ -156,7 +150,6 @@ async function search(wd, quick) {
}
return JSON.stringify({
list: videos,
limit: 50,
});
}