6/tvbox/xiangyaqing/lib/哔哩直播.js

132 lines
17 KiB
JavaScript
Raw Permalink Normal View History

2024-07-12 08:14:45 +03:00
/**
* 影视TV 弹幕支持
* https://t.me/fongmi_offical/
* https://github.com/FongMi/Release/tree/main/apk
* 皮皮虾DMBox 弹幕支持
* 设置 > 窗口预览 > 开启
* https://t.me/pipixiawerun
* vod_area:'bililivedanmu'
* Cookie设置
* Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md
* Cookie设置方法1: DR-PY 后台管理界面
* CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存
* Cookie设置方法2: 手动替换Cookie
* 底下代码 headers的
* "Cookie":"$bili_cookie"
* 手动替换为
* "Cookie":"将获取的Cookie黏贴在这"
*/
var rule = {
title:'哔哩直播',
host:'https://api.live.bilibili.com',
homeUrl:'/xlive/web-interface/v1/second/getUserRecommend?page=1&page_size=30&platform=web',//用于"分类获取"和"推荐获取"
url:'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=fyclass&area_id=fyfilter&sort_type=online&page=fypage',
class_name:'生活&网游&手游&单机游戏&娱乐&电台&虚拟主播&聊天室&知识&赛事&帮我玩&互动玩法&购物',
class_url:'10&2&3&6&1&5&9&14&11&13&301&15&300',
filterable: 1,
filter_url: '{{fl.area}}',
filter_def:{
10:{area:'624'},
2:{area:'86'},
3:{area:'35'},
6:{area:'236'},
1:{area:'21'},
5:{area:'190'},
9:{area:'744'},
14:{area:'818'},
11:{area:'376'},
13:{area:'562'},
301:{area:'301000'},
15:{area:''},
300:{area:'300000'}
},
filter: {
"10":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"电子榨菜","v":"624"},{"n":"生活分享","v":"646"},{"n":"聊天交友","v":"825"},{"n":"手工绘画","v":"627"},{"n":"情感","v":"623"},{"n":"户外","v":"368"},{"n":"萌宠","v":"369"},{"n":"运动","v":"628"},{"n":"美食","v":"367"},{"n":"时尚","v":"378"},{"n":"沉浸体验","v":"827"}]}],
"2":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"英雄联盟","v":"86"},{"n":"无畏契约","v":"329"},{"n":"CS:GO","v":"89"},{"n":"APEX英雄","v":"240"},{"n":"永劫无间","v":"666"},{"n":"穿越火线","v":"88"},{"n":"命运方舟","v":"590"},{"n":"DOTA2","v":"92"},{"n":"吃鸡行动","v":"80"},{"n":"逃离塔科夫","v":"252"},{"n":"传奇","v":"695"},{"n":"DNF","v":"78"},{"n":"卡拉彼丘","v":"782"},{"n":"幕后高手","v":"774"},{"n":"生死狙击2","v":"575"},{"n":"洛奇英雄传","v":"599"},{"n":"七日世界","v":"857"},{"n":"最终幻想14","v":"102"},{"n":"重生边缘","v":"809"},{"n":"星际战甲","v":"249"},{"n":"梦三国","v":"710"},{"n":"英魂之刃","v":"690"},{"n":"剑网3","v":"82"},{"n":"从军","v":"829"},{"n":"全民街篮","v":"845"},{"n":"铁甲雄兵","v":"691"},{"n":"新天龙八部","v":"653"},{"n":"赛尔号","v":"667"},{"n":"造梦西游","v":"668"},{"n":"洛克王国","v":"669"},{"n":"问道","v":"670"},{"n":"诛仙世界","v":"654"},{"n":"大话西游","v":"652"},{"n":"奇迹MU","v":"683"},{"n":"永恒之塔","v":"684"},{"n":"QQ三国","v":"685"},{"n":"人间地狱","v":"677"},{"n":"彩虹岛","v":"686"},{"n":"洛奇","v":"663"},{"n":"跑跑卡丁车","v":"664"},{"n":"星际公民","v":"658"},{"n":"Squad战术小队","v":"659"},{"n":"反恐精英Online","v":"629"},{"n":"创世战车","v":"705"},{"n":"装甲战争","v":"642"},{"n":"守望先锋","v":"87"},{"n":"阿尔比恩","v":"639"},{"n":"猎杀对决","v":"600"},{"n":"CFHD","v":"472"},{"n":"武装突袭","v":"634"},{"n":"300英雄","v":"84"},{"n":"炉石传说","v":"91"},{"n":"剑网3缘起","v":"499"},{"n":"街头篮球","v":"649"},{"n":"综合射击","v":"601"},{"n":"剑灵","v":"505"},{"n":"黑色沙漠","v":"632"},{"n":"天涯明月刀","v":"596"},{"n":"冒险岛","v":"574"},{"n":"逆战","v":"487"},{"n":"魔兽争霸3","v":"181"},{"n":"QQ飞车","v":"610"},{"n":"魔兽世界","v":"83"},{"n":"NBA2KOL2","v":"581"},{"n":"使命召唤:战区","v":"318"},{"n":"坦克世界","v":"115"},{"n":"战舰世界","v":"248"},{"n":"战争雷霆","v":"316"},{"n":"战意","v":"383"},{"n":"风暴英雄","v":"114"},{"n":"星际争霸2","v":"93"},{"n":"刀塔自走棋","v":"239"},{"n":"堡垒之夜","v":"164"},{"n":"枪神纪","v":"251"},{"n":"三国杀","v":"81"},{"n":"龙之谷","v":"112"},{"n":"幻想全明星","v":"176"},{"n":"怀旧网游","v":"288"},{"n":"新游前瞻","v":"298"},{"n":"星战前夜:晨曦","v":"331"},{"n":"流放之路","v":"551"},{"n":"FPS沙盒","v":"633"},{"n":"永恒轮回","v":"459"},{"n":"激战2","v":"607"},{"n":"其他网游","v":"107"},{"n":"蓝色协议","v":"760"},{"n":"The Finals","v":"846"}]}],
"3":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"王者荣耀","v":"35"},{"n":"和平精英","v":"256"},{"n":"原神","v":"321"},{"n":"崩坏:星穹铁道","v":"549"},{"n":"第五人格","v":"163"},{"n":"绝区零","v":"662"},{"n":"LOL手游","v":"395"},{"n":"明日方舟","v":"255"},{"n":"黎明觉醒:生机","v":"479"},{"n":"蛋仔派对","v":"571"},{"n":"元梦之星","v":"822"},{"n":"闪耀!优俊少女","v":"805"},{"n":"白荆回廊","v":"849"},{"n":"元气骑士前传","v":"850"},{"n":"光隙解语","v":"853"},{"n":"钢岚","v":"856"},{"n":"众神派对","v":"861"},{"n":"极品飞车在线移动版","v":"852"},{"n":"女神异闻录:夜幕魅影","v":"802"},{"n":"依露希尔:星晓","v":"838"},{"n":"斯露德","v":"797"},{"n":"千年之旅","v":"806"},{"n":"白夜极光","v":"781"},{"n":"逆水寒手游","v":"771"},{"n":"率土之滨","v":"807"},{"n":"萤火突击","v":"870"},{"n":"绯色回响","v":"837"},{"n":"月圆之夜","v":"215"},{"n":"哈利波特:魔法觉醒","v":"474"},{"n":"七人传奇","v":"823"},{"n":"幻塔","v":"550"},{"n":"星之破晓","v":"799"},{"n":"金铲铲之战","v":"514"},{"n":"少女前线2追放","v":"832"},{"n":"深空之眼","v":"598"},{"n":"交错战线","v":"864"},{"n":"无期迷途","v":"675"},{"n":"超进化物语2","v":"862"},{"n":"晶核","v":"777"},{"n":"星球重启","v":"828"},{"n":"光遇","v":"687"},{"n":"桃源深处有人家","v":"792"},{"n":"三国志战棋版","v":"756"},{"n":"以闪亮之名","v":"755"},{"n":"尘白禁区","v":"778"},{"n":"鬼泣-巅峰之战","v":"470"},{"n":"香肠派对","v":"689"},{"n":"高能英雄","v":"783"},{"n":"使命召唤手游","v":"386"},{"n":"崩坏3","v":"40"},{"n":"蔚蓝档案","v":"787"},{"n":"第七史诗","v":"784"},{"n":"游戏王:决斗链接","v":"407"},{"n":"游戏王","v":"303"},{"n":"JJ斗地主","v":"724"},{"n":"阴阳师","v":"36"},{"n":"欢乐斗地主","v":"719"},{"n":"太空杀","v":"791"},{"n":"长安幻想","v":"738"},{"n":"火影忍者手游","v":"292"},{"n":"Fate/GO","v":"37"},{"n":"综合棋牌","v":"354"},{"n":"QQ飞车手游","v":"154"},{"n":"决战!平安京","v":"140"},{"n":"狼人杀","v":"41"},{"n":"三国杀移动版","v":"352"},{"n":"碧蓝航线","v":"113"},{"n":"影之诗","v":"156"},{"n":"明日之后","v":"189"},{"n":"重返未来1999","v":"761"},{"n":"环行旅舍","v":"786"},{"n":"幻世与冒险","v":"813"},{"n":"部落冲突:皇室战争","v":"50"},{"n":"奥比岛手游","v":"661"},{"n":"弹弹堂","v":"734"},{"n":"雀姬","v":"214"},{"n":"公主连结Re:Dive","v":"330"},{"n":"DNF手游","v":"343"},{"n":"FIFA足球世界","v":"641"},{"n":"BanG Dream","v":"258"},{"n":"荒野乱斗","v":"469"},{"n":"CF手游","v":"333"},{"n":"战双帕弥什","v":"293"},{"n":"天涯明月刀手游","v":"389"},{"n":"解密游戏","v":"42"},{"n":"恋爱养成游戏","v":"576"},{"n":"暗黑破坏神:不朽","v":"492"},{"n":"暗区突围","v":"502"},{"n":"跑跑卡丁车手游","v":"265"},{"n":"非人学园","v":"212"},{"n":"百闻牌","v":"286"},{"n":"猫和老鼠手游","v":"269"},{"n":"坎公骑冠剑","v":"442"},{"n":"忍者必须死3","v":"203"},{"n":"梦幻西游手游","v":"342"},{"n":"航海王热血航线","v":"504"},{"n":"少女前线","v":"39"},{"n":"300大作战","v":"688"},{"n":"少女前线:云图计划","v":"525"},{"n":"漫威超级战争","v":"478"},{"n":"摩尔庄园手游","v":"464"},{"n":"宝可梦大集结","v":"493"},{"n":"小动物之星","v":"473"},{"n":"天地劫:幽城再临","v":"448"},{"n":"漫威对决","v":"511"},{"n":"东方归言录","v":"538"},{"n":"梦幻模拟战","v":"178"},{"n":"时空猎人3","v":"643"},{"n":"三国:谋定天下","v":"871"},{"n":"重返帝国","v":"613"},{"n":"休闲小游戏","v":"679"},{"n":"其他手游","v":"98"},{"n":"山海镜花","v":"821"},{"n":"小冰冰传奇","v":"824"},{"n":"冒险岛手游","v":"796"},{"n":"新游评测","v":"274"},{"n":"对峙2","v":"863"}]}],
"6":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"主机游戏","v":"236"},{"n":"其他单机","v":"235"},{"n":"独立游戏","v":"283"},{"n":"怀旧游戏","v":"237"},{"n":"恐怖游戏","v":"276"},{"n":"幻兽帕鲁","v":"866"},{"n":"猛兽派对","v":"384"},{"n":"命运2","v":"277"},{"n":"FORZA 极限竞速","v":"302"},{"n":"卡牌潮玩","v":"854"},{"n":"我的世界","v":"216"},{"n":"铁拳8","v":"867"},{"n":"全境封锁2","v":"243"},{"n":"雾锁王国","v":"869"},{"n":"植物大战僵尸","v":"309"},{"n":"暖雪","v":"582"},{"n":"雀魂麻将","v":"803"},{"n":"怪物猎人","v":"578"},{"n":"使命召唤20","v":"282"},{"n":"生化危机","v":"721"},{"n":"战地风云","v":"597"},{"n":"格斗游戏","v":"433"},{"n":"精灵宝可梦","v":"228"},{"n":"碧蓝幻想GBR","v":"859"},{"n":"红色警戒2","v":"693"},{"n":"策略游戏","v":"570"},{"n":"艾尔登法环","v":"555"},{"n":"暗黑破坏神Ⅳ","v":"780"},{"n":"为了吾王II","v":"769"},{"n":"宝可梦集换式卡牌游戏","v":"720"},{"n":"饥荒","v":"218"},{"n":"荒野大镖客2","v":"226"},{"n":"塞尔达传说","v":"308"},{"n":"方舟","v":"295"},{"n":"帝国时代4","v":"548"},{"n":"体育游戏","v":"500"},{"n":"Dark and Darker","v":"795"},{"n":"仁王2","v":"313"},{"n":"只狼","v":"245"},{"n":"暗黑破坏神","v":"535"},{"n":"FC24","v":"830"},{"n":"以撒","v":"219"},{"n":"泰拉瑞亚","v":"593"},{"n":"骑马与砍杀","v":"326"},{"n":"斯普拉遁3","v":"694"},{"n":"刺客信条","v":"227"},{"n":"Dread Hunger","v":"591"},{"n":"恋爱模拟游戏","v":"592"},{"n":"NBA2K","v":"362"},{"n":"游戏速通","v":"678"},{"n":"博德之门3","v":"385"},{"n":"全面战争战锤3","v":"594"},{"n":"双人成行","v":"446"},{"n":"赛博朋克2077","v":"402"},{"n":"糖豆人","v":"357"},{"n":"聚会游戏","v":"636"},{"n":"全面战争","v":"257"},{"n":"德州电锯","v":"834"},{"n":"重生细胞","v":"426"},{"n":"辐射76","v":"220"},{"n":"战神","v":"579"},{"n":"匹诺曹的谎言","v":"812"},{"n":"鬼泣5","v":"244"},{"n":"恐鬼症","v":"387"},{"n":"消逝的光芒2","v":"586"},{"n":"Roblox","v":"753"},{"n":"无主之地3","v":"273"},{"n":"边境","v":"763"},{"n":"索尼克SuperStar","v":"844"},{"n":"胡闹厨房","v":"507"},{"n":"盗贼之海","v":"341"},{"n":"KARDS","v":"835"},{"n":"收获日3","v":"811"},{"n":"致命公司","v":"858"}]}],
"1":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"萌宅领域","v":"530"},{"n":"视频唱见","v":"21"},{"n":"舞见","v":"207"},{"n":"颜值","v":"145"},{"n":"脱口秀","v":"868"}]}],
"5":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"唱见电台","v":"190"},{"n":"聊天电台","v":"192"},{"n":"男声电台","v":"817"}]}],
"9":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"虚拟Singer","v":"744"},{"n":"虚拟Gamer","v":"745"},{"n":"虚拟声优","v":"746"},{"n":"虚拟男V","v":"851"},{"n":"虚拟日常","v":"371"},{"n":"虚拟APEX","v":"789"},{"n":"虚拟PK","v":"775"}]}],
"14":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"交友","v":"818"},{"n":"点唱","v":"819"},{"n":"兴趣","v":"820"}]}],
"11":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"社科法律心理","v":"376"},{"n":"人文历史","v":"702"},{"n":"校园学习","v":"372"},{"n":"职场·技能","v":"377"},{"n":"科技","v":"375"},{"n":"科学科普","v":"701"}]}],
"13":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"游戏赛事","v":"561"},{"n":"体育赛事","v":"562"},{"n":"赛事综合","v":"563"}]}],
"301":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"热门帮玩","v":"301000"},{"n":"手游帮玩","v":"301002"},{"n":"网游帮玩","v":"301003"},{"n":"单机帮玩","v":"301004"}]}],
"15":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"竞技玩法","v":"815"},{"n":"养成玩法","v":"840"},{"n":"棋牌玩法","v":"841"},{"n":"休闲玩法","v":"816"},{"n":"搞笑整蛊","v":"842"}]}]
// "300":[{"key":"area","name":"分区","value":[{"n":"全部","v":""},{"n":"购物","v":"300000"}]}]
},
detailUrl:'https://live.bilibili.com/fyid',//二级详情拼接链接(json格式用)
// detailUrl:'https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl?cid=fyid&platform=h5&otype=json&quality=0',//二级详情拼接链接(json格式用)
// searchUrl:'/x/web-interface/search/type?__refresh__=true&page=fypage&page_size=42&order=online&platform=pc&highlight=1&single_column=0&keyword=**&search_type=live&dynamic_offset=0&preload=true',
searchUrl:'https://api.bilibili.com/x/web-interface/search/type?search_type=live&keyword=**&page=fypage',
searchable:2,
quickSearch:0,
headers:{
"User-Agent":"PC_UA",
"Referer": "https://www.bilibili.com",
// "Cookie":"$bili_cookie"
"Cookie":"https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/txt/cookie.txt"
},
timeout:5000,
limit:8,
play_parse:true,
// play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36"})}}],
// play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"uc_ua"})}}],
// play_json:0,
lazy:`js:
let ids = input.split('_');
let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1];
let result = {};
let iurl = 'https://api.live.bilibili.com/room/v1/Room/playUrl?cid=' + ids[1] + '&' + ids[0];
let html = request(iurl);
let jRoot = JSON.parse(html);
let jo = jRoot['data'];
let ja = jo['durl'];
let purl = '';
if (ja.length > 0) {
purl = ja[0]['url']
}
result['parse'] = 0;
result['playUrl'] = '';
result['url'] = unescape(purl);
result['header'] = {
Referer: 'https://live.bilibili.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
};
result['danmaku'] = dan;
if (/h5/.test(ids[0])) {
result['contentType'] = '';
input = result
} else {
result['contentType'] = 'video/x-flv';
input = result
}
`,
double:false,
推荐:'*',
// 一级:'json:data.list;title;system_cover;uname;roomid',
一级: `js:
var d = [];
let html = request(input);
html = JSON.parse(html).data.list;
html.forEach(it => {
let pic = it.system_cover;
if (pic.startsWith('/')) {
pic = urljoin2(input, pic)
}
d.push({
title: it.title,
img: pic,
desc: '👁' + it.watched_show.text_small + ' 🆙' + it.uname,
url: it.roomid
})
});
setResult(d);
`,
// 二级:'*',
二级:"js:let aid=input.match(/\\/(\\d+)/)[1];log(aid);let html=request('https://api.live.bilibili.com/room/v1/Room/get_info?room_id='+aid);let jo=JSON.parse(html).data;let title=jo['title'];let pic=jo['keyframe'];let desc=jo['description'];let dire=jo['uid'];let typeName=jo['area_name'];let remark='在线人数:'+jo['online'];let vod={vod_id:aid,vod_name:title,vod_pic:pic,type_name:typeName,vod_area:'bililivedanmu',vod_remarks:remark,vod_actor:'直播间id-'+aid,vod_director:dire,vod_content:desc};vod['vod_play_from']='B站';vod['vod_play_url']='flv线路原画$platform=web&quality=4_'+aid+'#flv线路高清$platform=web&quality=3_'+aid+'#h5线路原画$platform=h5&quality=4_'+aid+'#h5线路高清$platform=h5&quality=3_'+aid;VOD=vod;",
// 搜索:'json:data.result.live_room;title;cover;uname;roomid',
搜索:'js:let html=request(input);let msg=JSON.parse(html).message;if(msg!=="0"){VODS=[{vod_name:KEY+"➢"+msg,vod_id:"no_data",vod_remarks:"别点,缺少bili_cookie",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}]}else{let videos=[];let vodList=JSON.parse(html).data.result.live_room;vodList.forEach(function(vod){let aid=vod["roomid"];let title="直播间:"+vod["title"].replace(\'<em class="keyword">\',"").replace("</em>","");let img="https:"+vod["user_cover"];let remark=vod["watched_show"]["text_small"]+" "+vod["uname"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});VODS=videos}',
// 预处理:'if(rule_fetch_params.headers.Cookie.startsWith("http")){rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);setItem(RULE_CK,cookie)};log(rule_fetch_params.headers.Cookie)',
}