量子非凡资源去广告

2023-06-10  阅读 1390 次

量子非凡资源里有广告,用php写的一个插件可以去掉这个广告,不过这样对服务器的内存要求较高,不过缓存后,后面调用就快多了。大致方法就是解析资源站的M3U8文件,删除其中的广告流,然后重新整理连接流再保存到我们自己的服务器,再用解析接口来调用播放就没有广告了。

需要注意

1、部分资源站可有有跨域问题,如有无法播放的情况可配置一下跨域

2、如果是宝塔的话,在站点管理→配置文件里新增下面的代码

add_header "Access-Control-Allow-Origin" "*" always;
add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS" always;
add_header "Access-Control-Allow-Headers" "Authorization, Content-Type, Accept, Origin, DNT, User-Agent, X-Requested-With" always;

第一条规则:无论来源是什么,均允许跨域请求。规则为:always 添加 ** 来表示所有来源。

第二条规则:允许使用 GET、POST、OPTIONS 方法进行跨域请求。规则为:always 添加 GET、POST、OPTIONS。

第三条规则:允许在跨域请求中携带多种请求头信息,如 Authorization、Content-Type、Accept、Origin、DNT、User-Agent、X-Requested-with 等。规则为:always 添加所有要允许携带的请求头信息。


注意:允许所有的跨域请求,为了安全,只允许自己的站点进行跨域即可!


<?php
/*
'软件名称:量子 非凡资源去广告插件
'开发作者:雅爱笔记  QQ:1334588325  
官方网站:http://yaaibk.com/
'--------------------------------------------------------
*/
header("Content-Type:application/json;chartset=uft-8");
error_reporting(0);
define('IFHC',1);
//是否缓存视频链接 1 缓存 0 不缓存
define('HCFILE',__DIR__.'/cache/');
//缓存保存的文件夹 如果不缓存请无视
define('HCTIME',604800);
//缓存时效 秒为单位 如果不缓存请无视
define('YUMING','https://dy.yaaibk.com');
//改为自己的域名

$url=isset($_GET['url'])?$_GET['url']:'';
$MD5 = Md5($url).'.m3u8';
if (is_dir(HCFILE)==false) {
	mkdir(HCFILE,0755,true);
}
if (IFHC==1 && file_exists(HCFILE.$MD5) && filemtime(HCFILE.$MD5) + HCTIME > time()) {
	$arr = array(
		'code' => 200,
		'msg' => '解析成功',
		'cache' => true,
		'url' => YUMING.'/cache/'.$MD5
	);
	die(json_encode($arr,456));
}

$str=get_web_page($url);
if (empty($str)) {
	die(404);
}

$url_1 = str_replace('index.m3u8', '', $url);
preg_match("/(.*?)m3u8/U",$str,$str);
$url=$url_1.$str[0];
$url_1 = preg_replace('/(.*?)\/(.*?).m3u8/U', '\1', $url)."/";
$data=get_web_page($url);
if (empty($data)) {
	die(404);
}
$data_1 = explode("#EXT-X-DISCONTINUITY", $data);
preg_match_all('/(.*?)(\d{1,3})\.ts/', $data,$str);
for($i=100;$i<count($str[1]);$i++ ){
	if($i != $str[2][$i]){
		$k=$str[0][$i];
		break;
	}
}
$m3u8='';
foreach ($data_1 as $key => $val){
	if($key ==0){
		$ext='';
}else{
	$ext="#EXT-X-DISCONTINUITY";
}
	if(stripos($val,$k)){
		continue;
	}
	$m3u8.=$ext.$val;
}

$m3u8 = preg_replace('/#EXTINF:(.*),\n?(.*)\n?/',"#EXTINF:$1,\n$url_1$2\n",$m3u8);

file_put_contents(HCFILE.$MD5,$m3u8);
		$arr = array(
			'code' => 200,
			'msg' => '解析成功',
			'url' => YUMING.'/cache/'.$MD5
		);
		die(json_encode($arr,456));

function get_web_page($url){
    $options = array(
        CURLOPT_RETURNTRANSFER => true,     //返回网页
        CURLOPT_HEADER         => false,    //不返回头信息
/*        CURLOPT_FOLLOWLOCATION => true,     //抓取重定向*/
        CURLOPT_ENCODING       => "gzip,deflate",       //处理编码
        CURLOPT_SSL_VERIFYPEER => 0,     //验证对等证书
        CURLOPT_SSL_VERIFYHOST => 2,     //检查服务器SSL证书
        CURLOPT_USERAGENT      => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 SE 2.X MetaSr 1.0", 
        CURLOPT_AUTOREFERER    => true,     //引用页重定向
        CURLOPT_CONNECTTIMEOUT => 10,      //连接超时
        CURLOPT_TIMEOUT        => 10,      //回复超时
    );
    $ch = curl_init($url);
    curl_setopt_array($ch,$options);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}
?>

方法,

http://yaaibk.com/ad_cj.php?url=https://vip.ffzy-play3.com/20221104/1951_8816040a/index.m3u8


本文地址:http://yaaibk.com/post/363.html
版权声明:本文为原创文章,版权归 本站 所有,欢迎分享本文,转载请保留出处!

评论已关闭!