影视TV 弹幕支持

This commit is contained in:
tloook 2023-09-15 12:23:42 +08:00
parent becea30009
commit 2ce54fab61
4 changed files with 135 additions and 44 deletions

View File

@ -1 +1 @@
3.9.47beta34 3.9.47beta35

View File

@ -1,3 +1,18 @@
/**
* 影视TV 弹幕支持
* https://t.me/fongmi_offical/
* https://github.com/FongMi/Release/tree/main/apk
* 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 = { var rule = {
title:'哔哩影视', title:'哔哩影视',
host:'https://api.bilibili.com', host:'https://api.bilibili.com',
@ -43,5 +58,55 @@ var rule = {
搜索:'', 搜索:'',
搜索:'js:let url1=input+"media_bangumi";let url2=input+"media_ft";let html=request(url1);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 jo1=JSON.parse(html).data;html=request(url2);let jo2=JSON.parse(html).data;let videos=[];let vodList=[];if(jo1["numResults"]===0){vodList=jo2["result"]}else if(jo2["numResults"]===0){vodList=jo1["result"]}else{vodList=jo1["result"].concat(jo2["result"])}vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=KEY+"➢"+vod["title"].trim().replace(\'<em class="keyword">\',"").replace("</em>","");let img=vod["cover"].trim();let remark=vod["index_show"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});VODS=videos}', 搜索:'js:let url1=input+"media_bangumi";let url2=input+"media_ft";let html=request(url1);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 jo1=JSON.parse(html).data;html=request(url2);let jo2=JSON.parse(html).data;let videos=[];let vodList=[];if(jo1["numResults"]===0){vodList=jo2["result"]}else if(jo2["numResults"]===0){vodList=jo1["result"]}else{vodList=jo1["result"].concat(jo2["result"])}vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=KEY+"➢"+vod["title"].trim().replace(\'<em class="keyword">\',"").replace("</em>","");let img=vod["cover"].trim();let remark=vod["index_show"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});VODS=videos}',
lazy:'', lazy:'',
lazy:'js:if(/^http/.test(input)){input={jx:1,url:input,parse:0,header:JSON.stringify({"user-agent":"Mozilla/5.0"})}}else{let ids=input.split("_");let result={};let url="https://api.bilibili.com/pgc/player/web/playurl?qn=116&ep_id="+ids[0]+"&cid="+ids[1];let html=request(url);let jRoot=JSON.parse(html);if(jRoot["message"]!=="success"){print("需要大会员权限才能观看");input=""}else{let jo=jRoot["result"];let ja=jo["durl"];let maxSize=-1;let position=-1;ja.forEach(function(tmpJo,i){if(maxSize<Number(tmpJo["size"])){maxSize=Number(tmpJo["size"]);position=i}});let url="";if(ja.length>0){if(position===-1){position=0}url=ja[position]["url"]}result["parse"]=0;result["playUrl"]="";result["url"]=url;result["header"]={Referer:"https://www.bilibili.com","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"};result["contentType"]="video/x-flv";input=result}}', lazy:`js:
if (/^http/.test(input)) {
input = {
jx: 1,
url: input,
parse: 0,
header: JSON.stringify({
"user-agent": "Mozilla/5.0"
})
}
} else {
let ids = input.split("_");
let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1];
let result = {};
let url = "https://api.bilibili.com/pgc/player/web/playurl?qn=116&ep_id=" + ids[0] + "&cid=" + ids[1];
let html = request(url);
let jRoot = JSON.parse(html);
if (jRoot["message"] !== "success") {
print("需要大会员权限才能观看");
input = ""
} else {
let jo = jRoot["result"];
let ja = jo["durl"];
let maxSize = -1;
let position = -1;
ja.forEach(function(tmpJo, i) {
if (maxSize < Number(tmpJo["size"])) {
maxSize = Number(tmpJo["size"]);
position = i
}
});
let url = "";
if (ja.length > 0) {
if (position === -1) {
position = 0
}
url = ja[position]["url"]
}
result["parse"] = 0;
result["playUrl"] = "";
result["url"] = url;
result["header"] = {
Referer: "https://www.bilibili.com",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"
};
result["contentType"] = "video/x-flv";
result["danmaku"] = dan;
input = result
}
}
`,
} }

View File

@ -1,20 +1,20 @@
/* -> vod_area:'bililivedanmu' /**
目前只有皮皮虾大佬的DMBox, 支持弹幕 * 影视TV 弹幕支持
DMBox下载:https://t.me/pipixiawerun * https://t.me/fongmi_offical/
设置 > 窗口预览 > 开启 * https://github.com/FongMi/Release/tree/main/apk
*/ * 皮皮虾DMBox 弹幕支持
* 设置 > 窗口预览 > 开启
/* Cookie * https://t.me/pipixiawerun
Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md * vod_area:'bililivedanmu'
* Cookie设置
Cookie设置方法1: DR-PY 后台管理界面 * Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md
CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存 * Cookie设置方法1: DR-PY 后台管理界面
* CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存
Cookie设置方法2: 手动替换Cookie * Cookie设置方法2: 手动替换Cookie
底下代码 headers的 * 底下代码 headers的
"Cookie":"$bili_cookie" * "Cookie":"$bili_cookie"
手动替换为 * 手动替换为
"Cookie":"将获取的Cookie黏贴在这" * "Cookie":"将获取的Cookie黏贴在这"
*/ */
var rule = { var rule = {
@ -27,7 +27,7 @@ var rule = {
filterable: 1, filterable: 1,
filter_url: '{{fl.area}}', filter_url: '{{fl.area}}',
filter_def:{ filter_def:{
10:{area:'33'}, 10:{area:'624'},
2:{area:'86'}, 2:{area:'86'},
3:{area:'35'}, 3:{area:'35'},
6:{area:'236'}, 6:{area:'236'},
@ -66,7 +66,35 @@ var rule = {
// 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":"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:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"uc_ua"})}}],
// play_json:0, // play_json:0,
lazy:"js:let ids=input.split('_');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'};if(/h5/.test(ids[0])){result['contentType']='';input=result}else{result['contentType']='video/x-flv';input=result}", 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, double:false,
推荐:'*', 推荐:'*',
一级:'json:data.list;title;system_cover;uname;roomid', 一级:'json:data.list;title;system_cover;uname;roomid',

View File

@ -1,24 +1,20 @@
/* -> vod_area:'bilidanmu' /**
目前只有皮皮虾大佬的DMBox, 支持弹幕 * 影视TV 弹幕支持
DMBox下载:https://t.me/pipixiawerun * https://t.me/fongmi_offical/
设置 > 窗口预览 > 开启 * https://github.com/FongMi/Release/tree/main/apk
*/ * 皮皮虾DMBox 弹幕支持
* 设置 > 窗口预览 > 开启
/* Cookie * https://t.me/pipixiawerun
Cookie改为预设获取蜂蜜大佬Github的 * vod_area:'bilidanmu'
https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/txt/cookie.txt * Cookie设置
* Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md
Cookie获取方法 * Cookie设置方法1: DR-PY 后台管理界面
https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md * CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存
* Cookie设置方法2: 手动替换Cookie
Cookie设置方法1: DR-PY 后台管理界面 * 底下代码 headers的
CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存 * "Cookie":"$bili_cookie"
* 手动替换为
Cookie设置方法2: 手动替换Cookie * "Cookie":"将获取的Cookie黏贴在这"
底下代码 headers的
"Cookie":"$bili_cookie"
手动替换为
"Cookie":"将获取的Cookie黏贴在这"
*/ */
var rule = { var rule = {
@ -116,6 +112,7 @@ var rule = {
play_parse:true, play_parse:true,
lazy:`js: lazy:`js:
let ids = input.split('_'); let ids = input.split('_');
let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1];
let result = {}; let result = {};
let iurl = 'https://api.bilibili.com:443/x/player/playurl?avid=' + ids[0] + '&cid=' + ids[1] + '&qn=116'; let iurl = 'https://api.bilibili.com:443/x/player/playurl?avid=' + ids[0] + '&cid=' + ids[1] + '&qn=116';
let html = request(iurl); let html = request(iurl);
@ -145,6 +142,7 @@ var rule = {
'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' '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.contentType = 'video/x-flv'; result.contentType = 'video/x-flv';
result.danmaku = dan;
input = result input = result
`, `,
double:false, double:false,