当前位置:首页 > 建站分享 > 正文内容

M3U8文件和TS切片加了Referer验证的PHP代理示例

lujun2年前 (2022-07-19)建站分享836

主要使用 PHP 进行流量转发,需要消耗自己 PHP 服务器的带宽和流量。

链接例子:https://rtmlive06.secureswiftcontent.com/rtmchannel/06-manifest.m3u8

坛友一(kof97zip):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
//Author: kof97zip
error_reporting(0);
header('Content-Type: text/json;charset=UTF-8');
$id = $_GET['id'];//1-6
$header = array(
    "Host: rtmlive01.secureswiftcontent.com",
    "Connection: keep-alive",
    "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4350.0 Iron Safari/537.36",
    "Accept: */*",
    "Origin: https://rtmklik.rtm.gov.my",
    "Sec-Fetch-Site: cross-site",
    "Sec-Fetch-Mode: cors",
    "Sec-Fetch-Dest: empty",
    "Referer: https://rtmklik.rtm.gov.my/tv/".$id,
    "Accept-Language: zh-CN,zh;q=0.9",
);
if($id !== NULL){
    $m3u8 = m3u8("https://rtmlive01.secureswiftcontent.com/rtmchannel/0".$id."-1080.m3u8",$header);
    $m3u8 = str_replace("0".$id."-1080-","my.php?ts=0".$id."-1080-",$m3u8);
    print_r($m3u8);
}else{
    $ts = $_GET['ts'];
    $data = ts("https://rtmlive01.secureswiftcontent.com/rtmchannel/".trim($ts),$header);
}
 
function m3u8($url,$header){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
 
function ts($url,$header){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    $result = curl_exec($ch);
    curl_close($ch);
}
?>
《M3U8文件和TS切片加了Referer验证的PHP代理示例》

坛友二(Taki):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
//Author: Taki
error_reporting(0);
$id = $_GET['id'];
$m3u8 = empty($_GET['m3u8']) ? "$id-1080" : trim($_GET['m3u8']);
$time = $_GET['time'];
$bstr = isset($time)?$time:'';   
if($bstr == '')
{
    $url = "https://rtmlive$id.secureswiftcontent.com/rtmchannel/$m3u8.m3u8";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Referer: https://rtmklik.rtm.gov.my/'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    $table_change = array("$id-"=>"rtm.php?id=$id&m3u8=$id-",".m3u8"=>"",".ts"=>"","$m3u8-"=>"?id=$id&m3u8=$m3u8&time=");
    $data = strtr($data,$table_change);
    echo $data;
}
else
{
    $url = "https://rtmlive$id.secureswiftcontent.com/rtmchannel/$m3u8-$time.ts";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);   
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Referer: https://rtmklik.rtm.gov.my/'));
    $data = curl_exec($ch);
    curl_close($ch);
}
header("Cache-Control: no-cache");
//header("Content-type:application/vnd.apple.mpegurl");
?>

搬运的,记录方法,方便套用。


扫描二维码推送至手机访问。

版权声明:本文由5020工作室发布,如需转载请注明出处。

本文链接:http://5020.work/?id=37

分享给朋友:

相关文章

分享10个可免费使用的网站CDN加速服务

分享10个可免费使用的网站CDN加速服务

CDN也称内容分发网络,其原理大概是将服务内容分发至全网加速节点,让用户从就近的服务器节点上获取内容,从而提高网站的访问速度。大部分服务商(如阿里云,网易蜂巢,京东云等)的CDN服务是按使用量收费的,也有一些服务商提供免费的CDN服务,本文...

js 使用全屏实现防作弊

 我在写在线考试系统的时候,有一个防作弊功能需要用到全屏,我通过查了一些网上的方法,接下来讲讲我是怎么将全屏用在防作弊功能里面。一、全屏function showFullScreen(){    lastFul...

文件外链网站推荐catbox

前言前几天看到一个国外网站非常有意思,它就是猫箱(译名),原名catbox猫箱:https://catbox.moe/猫箱catbox这是一个文件外链网站,就是上传一个文件,可以获得它的直链地址,别人访问这个地址就能获取文件内容比如大家想要...

白嫖服务器和域名,演示网站永不休眠操作

白嫖服务器和域名,演示网站永不休眠操作

开源影音工具TVbox玩到一定程度后,就需要一些自定义操作,比如服务器、比如Alist建站、域名,但是大家都有一颗白嫖各种服务的心,所以,这里分享的都是不花一分钱纯白嫖各个平台服务的教程。涉及到的知识点主要包括以下内容:【知识点目录】一.白...

PHP如何将xml转换为数组

有xml文件,PHP如何如何将xml转换为数组呢?随手搜了下,主要利用了json的编码和反编码实现,示例代码如下:$xml = '<?xml version="1.0" encoding="utf...

PHP 检测字符串是否包含繁体字

有个小众需求,需要检查字符串是否包含繁体字,随手搜了下,是用iconv实现的。具体 PHP 检测字符串是否包含繁体字 示例代码:<?php/** * 检测一个UTF-8字符串里是否包含繁体中文 * @param string $str...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。