1
0
mirror of https://github.com/hjdhnx/dr_py.git synced 2025-05-01 03:54:01 -04:00

升级drpy,支持图片来源和播放嗅探flag

This commit is contained in:
晚风拂柳颜 2024-04-14 15:07:01 +08:00
parent bffb65e924
commit f4ef397bd5
5 changed files with 44 additions and 5 deletions

@ -1 +1 @@
3.9.49beta39
3.9.49beta40

@ -55,7 +55,7 @@ function pre(){
}
let rule = {};
const VERSION = 'drpy1 3.9.49beta36 202400410';
const VERSION = 'drpy1 3.9.49beta36 202400414';
/**
* 1.影魔的jinjia2引擎不支持 {{fl}}对象直接渲染 (有能力解决的话尽量解决下支持对象直接渲染字符串转义,如果加了|safe就不转义)[影魔牛逼最新的文件发现这问题已经解决了]
* Array.prototype.append = Array.prototype.push; 这种js执行后有毛病,for in 循环列表会把属性给打印出来 (这个大毛病需要重点排除一下)
@ -1450,6 +1450,15 @@ function homeVodParse(homeVodObj){
let t2 = (new Date()).getTime();
console.log('加载首页推荐耗时:'+(t2-t1)+'毫秒');
// console.log(JSON.stringify(d));
if(rule.图片替换 && rule.图片替换.includes('=>')){
let replace_from = rule.图片替换.split('=>')[0];
let replace_to = rule.图片替换.split('=>')[1];
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
it.vod_pic = it.vod_pic.replace(replace_from,replace_to);
}
});
}
if(rule.图片来源){
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
@ -1588,6 +1597,15 @@ function categoryParse(cateObj) {
console.log(e.message);
}
}
if(rule.图片替换 && rule.图片替换.includes('=>')){
let replace_from = rule.图片替换.split('=>')[0];
let replace_to = rule.图片替换.split('=>')[1];
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
it.vod_pic = it.vod_pic.replace(replace_from,replace_to);
}
});
}
if(rule.图片来源){
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
@ -1779,6 +1797,15 @@ function searchParse(searchObj) {
return '{}'
}
}
if(rule.图片替换 && rule.图片替换.includes('=>')){
let replace_from = rule.图片替换.split('=>')[0];
let replace_to = rule.图片替换.split('=>')[1];
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
it.vod_pic = it.vod_pic.replace(replace_from,replace_to);
}
});
}
if(rule.图片来源){
d.forEach(it=>{
if(it.vod_pic&&it.vod_pic.startsWith('http')){
@ -2073,6 +2100,11 @@ function detailParse(detailObj){
}
vod.vod_play_url = vod_play_url;
}
if(rule.图片替换 && rule.图片替换.includes('=>')){
let replace_from = rule.图片替换.split('=>')[0];
let replace_to = rule.图片替换.split('=>')[1];
vod.vod_pic = vod.vod_pic.replace(replace_from,replace_to);
}
if(rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith('http')){
vod.vod_pic = vod.vod_pic + rule.图片来源;
}
@ -2172,6 +2204,7 @@ function tellIsJx(url){
function playParse(playObj){
fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
MY_URL = playObj.url;
var MY_FLAG = playObj.flag;
if(!/http/.test(MY_URL)){
try {
MY_URL = base64Decode(MY_URL);
@ -2179,9 +2212,11 @@ function playParse(playObj){
}
MY_URL = decodeURIComponent(MY_URL);
var input = MY_URL;//注入给免嗅js
var flag = MY_FLAG;//注入播放线路名称给免嗅js
let common_play = {
parse:1,
url:input,
flag:flag,
// url:urlencode(input),
jx:tellIsJx(input)
};
@ -2366,6 +2401,7 @@ function isVideoParse(isVideoObj){
rule.encoding = rule.编码||rule.encoding||'utf-8';
rule.search_encoding = rule.搜索编码||rule.search_encoding||'';
rule.图片来源 = rule.图片来源||'';
rule.图片替换 = rule.图片替换||'';
rule.play_json = rule.hasOwnProperty('play_json')?rule.play_json:[];
rule.pagecount = rule.hasOwnProperty('pagecount')?rule.pagecount:{};
rule.proxy_rule = rule.hasOwnProperty('proxy_rule')?rule.proxy_rule:'';

2
libs/drpy.min.js vendored

File diff suppressed because one or more lines are too long

@ -67,7 +67,7 @@ function pre(){
let rule = {};
let vercode = typeof(pdfl) ==='function'?'drpy2.1':'drpy2';
const VERSION = vercode+' 3.9.49beta38 202400413';
const VERSION = vercode+' 3.9.49beta38 202400414';
/**
* 1.影魔的jinjia2引擎不支持 {{fl}}对象直接渲染 (有能力解决的话尽量解决下支持对象直接渲染字符串转义,如果加了|safe就不转义)[影魔牛逼最新的文件发现这问题已经解决了]
* Array.prototype.append = Array.prototype.push; 这种js执行后有毛病,for in 循环列表会把属性给打印出来 (这个大毛病需要重点排除一下)
@ -2093,6 +2093,7 @@ function tellIsJx(url){
function playParse(playObj){
fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
MY_URL = playObj.url;
var MY_FLAG = playObj.flag;
if(!/http/.test(MY_URL)){
try {
MY_URL = base64Decode(MY_URL);
@ -2100,9 +2101,11 @@ function playParse(playObj){
}
MY_URL = decodeURIComponent(MY_URL);
var input = MY_URL;//注入给免嗅js
var flag = MY_FLAG;//注入播放线路名称给免嗅js
let common_play = {
parse:1,
url:input,
flag:flag,
// url:urlencode(input),
jx:tellIsJx(input)
};

2
libs/drpy2.min.js vendored

File diff suppressed because one or more lines are too long