本帖最后由 圣地亚戈2468 于 2022-4-21 14:52 编辑
免费提供,回复可见:
- <?php
- $fmt = isset($_GET['fmt'])?$_GET['fmt']:'hls';
- //$fmt = isset($_GET['fmt'])?$_GET['fmt']:'hls';
- $id = isset($_GET['id'])?$_GET['id']:'hfxw';
- $dom = array('http://m.hfbtv.com/','http://ahtc.tianma3600.com/','http://bjhrapp.huairtv.com/','https://hcs.gztv.com/','https://zjsty.tianma3600.com/','https://ysx.tianma3600.com/','http://www.yltvb.com/','https://zzgy.gystv.com/','https://sndst.tianma3600.com/','https://xyrm.tianma3600.com/','http://pjfb.tianma3600.com/','https://bynr.tianma3600.com/','http://cyy.nmgcyy.com.cn/','https://ashh.tianma3600.com/','http://sxak.360tianma.com/','http://yryb.ybtv.cc/','http://sczg.360tianma.com/','http://cqgx.tianma3600.com/','http://app.scmxtv.com/','http://hsy.360tianma.com/','https://kmjy.tianma3600.com/','http://szrm.tianma3600.com/','http://app.dynews.zj.cn/','http://jrts.tianma3600.com/','http://lrfmc.tianma3600.com/','http://ssqz.tianma3600.com/');
- $tshead = array('media','','','','','','','','','','','','','','','','','','','','','','','','','');
- $phpself=substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],"/")+1);
- $n = array(//[dom_id,ch_id,isrefer]
- 'hfxw' => [0,'10',true], //合肥新闻 安徽
- 'hfsh' => [0,'13',true], //合肥生活 安徽
- 'hfcj' => [0,'14',true], //合肥财j 安徽
- 'hfjy' => [0,'15',true], //合肥教育法制 安徽
- 'hfgs' => [0,'16',true], //合肥故事休闲 安徽
- 'hfgg' => [0,'21',true], //合肥公共 安徽
- 'tczh' => [1,'1',false], //桐城综合 安徽
- 'bjhr' => [2,'9',false], //北京怀柔
- 'gzzh' => [3,'1',false], //广州综合 广东
- 'gzxw' => [3,'2',false], //广州新闻 广东
- 'gzys' => [3,'5',false], //广州影视 广东
- 'gzngds' => [3,'7',false], //广州南国都市 广东
- 'gzfz' => [3,'3',false], //广州法治 广东
- 'gzjs' => [3,'4',false], //广州竞赛 广东
- 'zjxwzh' => [4,'13',false], //湛江新闻综合 广东
- 'zjgg' => [4,'14',false], //湛江公共 广东
- 'yfzh' => [5,'1',false], //云浮综合 广东
- 'yfwl' => [5,'2',false], //云浮文旅 广东
- 'ylxwzh' => [6,'11',false], //玉林新闻综合 广西
- 'ylgg' => [6,'12',false], //玉林公共 广西
- 'gyxwzh' => [7,'18',false], //贵阳新闻综合 贵州
- 'gyjjsh' => [7,'19',false], //贵阳经济生活 贵州
- 'gyds' => [7,'21',false], //贵阳都市 贵州
- 'sinan' => [8,'2',true], //思南 贵州
- 'xyzh' => [9,'11',false], //信阳综合 河南
- 'xygg' => [9,'12',false], //信阳公共 河南
- 'xysh' => [9,'14',false], //信阳浉河 河南
- 'xypq' => [9,'16',false], //信阳平桥 河南
- 'pjxwzh' => [10,'11',false], //盘锦新闻综合 辽宁
- 'pjds' => [10,'12',false], //盘锦都市 辽宁
- 'pjys' => [10,'13',false], //盘锦影视 辽宁
- 'bynrxw' => [11,'11',false], //巴彦淖尔新闻综合 内蒙古
- 'bynrjj' => [11,'12',false], //巴彦淖尔经济生活 内蒙古
- 'bynrys' => [11,'13',false], //巴彦淖尔影视娱乐 内蒙古
- 'keqizh' => [12,'29',false], //克旗综合 内蒙古
- 'zhungeer' => [12,'30',false], //准格尔综合 内蒙古
- 'cyqqzh' => [12,'31',false], //察右前旗综合 内蒙古
- 'damao' => [12,'32',false], //达茂综合 内蒙古
- 'guyang' => [12,'33',false], //固阳综合 内蒙古
- 'ewkqzh' => [12,'38',false], //鄂温克综合 内蒙古
- 'kulun' => [12,'40',false], //库伦 内蒙古
- 'naiman' => [12,'41',false], //奈曼 内蒙古
- 'haidong' => [13,'12',false], //海东综合 青海
- 'akzh' => [14,'11',false], //安康综合 陕西
- 'akgg' => [14,'12',false], //安康公共 陕西
- 'akjy' => [14,'13',false], //安康教育 陕西
- 'ybxwzh' => [15,'26',false], //宜宾新闻综合 四川
- 'ybgg' => [15,'27',false], //宜宾公共 四川
- 'zgzh' => [16,'17',false], //自贡综合 四川
- 'zggg' => [16,'22',false], //自贡公共 四川
- 'gongxian' => [17,'12',false], //珙县新闻 四川
- 'maoxian' => [18,'11',false], //茂县新闻综合 四川
- 'utvhyzh' => [19,'17',false], //乌鲁木齐汉语综合 新疆
- 'utvwyzh' => [19,'21',false], //乌鲁木齐维语综合 新疆
- 'kmjy' => [20,'1',false], //昆明教育 云南
- 'shizong' => [21,'13',true], //师宗 云南
- 'dyxwzh' => [22,'11',false], //东阳新闻综合 浙江
- 'dyyssh' => [22,'12',false], //东阳影视生活 浙江
- 'tsxwzh' => [23,'11',false], //泰顺新闻综合 浙江
- 'lantie' => [24,'12',false], //兰铁TV 甘肃
- 'rmtd' => [24,'13',false], //人民铁道
- 'qiongzhong' => [25,'11',false], //琼中 海南
- );
- if(isset($_GET['n'])){
- $p = $_GET['p'];
- $name = $_GET['n'];
- $ak = $_GET['ak'];
- $r = $dom[$_GET['ref']];
- if($fmt=='hls'){
- if(strpos($name,'.cloudvdn.com/a.m3u8')){
- $u=$name.'?domain='.$_GET['domain'].'&player='.$_GET['player'].'&secondToken='.$_GET['secondToken'].'&sign='.$_GET['sign'].'&streamid='.$_GET['streamid'].'&t='.$_GET['t'].'&v3='.$_GET['v3'];
- //echo $u;
- header('Location:'.$u);
- }else{
- $u=$p.$name.'?auth_key='.$ak;
- $m3u8=str_replace('?','&',m3u8($u,$r));
- preg_match("/^http(s)?:\\/\\/(.*?).m3u8/",$u,$a);
- preg_match("/\n(.*?).m3u8/",$m3u8,$b);
- $c=str_replace(substr($a[0],strripos($a[0],"/")+1),'',$a[0]);
- echo str_replace('auth_key=','ak=',strpos($m3u8,'.m3u8')?str_replace($b[0],"\n".$phpself.'?n='.$b[1].'.m3u8&p='.$c.'&ref='.$_GET['ref'],$m3u8):str_replace($tshead[$_GET['ref']],$phpself.'?fmt=ts&p='.$c.'&ref='.$_GET['ref'].'&n='.$tshead[$_GET['ref']],$m3u8));
- }
- }else if($fmt=='ts'){
- $d = ts($p.$name.'?auth_key='.$ak,$r);
- }
- }else{
- $d = file_get_contents($dom[$n[$id][0]].'tvradio/Tvfront/getTvInfo?tv_id='.$n[$id][1]);
- $json = json_decode($d);
- $playurl = $json->data->m3u8;
- if($n[$id][2]){
- $m3u8=str_replace('?','&',m3u8($playurl,$dom[$n[$id][0]]));
- preg_match("/^http(s)?:\\/\\/(.*?).m3u8/",$playurl,$a);
- preg_match("/\n(.*?).m3u8/",$m3u8,$b);
- $c=str_replace(substr($a[0],strripos($a[0],"/")+1),'',$a[0]);
- echo str_replace('auth_key=','ak=',strpos($m3u8,'.m3u8')?str_replace($b[0],"\n".$phpself.'?n='.$b[1].'.m3u8&p='.$c.'&ref='.$n[$id][0],$m3u8):str_replace($tshead[$n[$id][0]],$phpself.'?fmt=ts&n='.$tshead[$n[$id][0]].'&p='.$c.'&ref='.$n[$id][0],$m3u8));
- }else{
- header('Location:'.$playurl);
- //echo $playurl;
- }
- }
- function m3u8($url,$ref){
- $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_REFERER, $ref);
- $result = curl_exec($ch);
- curl_close($ch);
- return $result;
- }
-
- function ts($url,$ref){
- $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_REFERER, $ref);
- $result = curl_exec($ch);
- curl_close($ch);
- }
- ?>
复制代码 附列表文件:
由于此php里个别频道是带有Referer验证的,本人已在此php加上m3u8和ts带Referer验证转发的代码,故在播放器里播放完全无需另加Referer。
|