Re: Как находить и расшифровывать ссылки (tivix.net)
плиз дай ссылку ибо как 2 дня уже ищу мне хоть под vlc что бы я уже от него отталкивался я немогу найти . спасибо
Вы тут как гость.
Неофициальный форум DLNA Home Media Server → Coding → Как находить и расшифровывать ссылки (tivix.net)
плиз дай ссылку ибо как 2 дня уже ищу мне хоть под vlc что бы я уже от него отталкивался я немогу найти . спасибо
печалько но это не совсем то ((((
я так понял что ссылку я получаю но вот она зашифрована и как именно для этого сайта ее расшифровать по принципу самого первого поста в этой темея немогу найти если бы создатель темы подсказал принцип расшифровки для данного сайта было бы просто супер
пробую вот так но ничего у меня не находит отображает пустую страничку
<?php
$streamSite = "http://pokazz.net/11-sts.html";$input = @file_get_contents($streamSite) or die("Please try again later: $url");
preg_match("http[^'\"<>]+%.m3u8%?[^<>'\"]+", $input, $matches);$wmsAuthSignKv = parse_url($matches[1], PHP_URL_QUERY);
$wmsAuthSign = explode('=', $wmsAuthSignKv);
echo $wmsAuthSign[1] . "<br>";$m3u8 = parse_url($matches[1], PHP_URL_PATH);
echo basename($m3u8) . "<br>";?>
Просто немного неправильно оформили регулярку. Для PHP она должна быть обёрнута в одинаковые символы разделители, которые не должны встречаться в регулярке (в конце могут быть добавлены модификаторы).
Символы процента как экранирование используются в Lua, а в PHP это слеш.
Вот так нужно оформить регулярное выражение (заметьте, регулярка начинается и заканчивается на символ /, вместо процента \):
<?php
$streamSite = "http://pokazz.net/11-sts.html";
$input = @file_get_contents($streamSite) or die("Please try again later: $url");
if (!preg_match("/http[^'\"<>]+\.m3u8\?[^<>'\"]+/", $input, $matches))
die("Link to m3u8 playlist not found!");
echo $matches[0];
доброй ночи! за подсказку спасибо с таким скриптом ссылочка выдергивается с сайта. но вот хоть ты убей wmsAuthSign тот который отображается при просмотре сайта как html отличается от того который выдергивает этот скриптик
для примера
то что на сайте
1517359883S48b39568ba4ea782ad43cd24f279128bS701h31h76h671 -----57 символов
то что выдергивает скрипт
1517359931S779a0f1f219750a499d2cde80859c5b8S541h66h97h5 -----55 символов
скрипт выдергивает на два символа меньше как так то ???ссылку выдирает правильно но вот все что в ссылке после wmsAuthSign не сходится на 2 символа
куда копать в чем тут загвоздка ((( не пойму
stream3k, хм, тот скрипт, который выше я приводил последний, то он показывает ссылку, где ключ диной 58 символов.
Открываю сайт, смотрю в html - там тоже 58. Возможно, длина зависит от IP или тайм-зоны..
Кстати, скрипт на PHP выполняется где, на том же компе, где будет воспроизводится эта ссылка? В смысле IP адрес тот же?
А то, если нет (например, PHP выполняется на сервере, где-нибудь на хостинге), то такая полученная ссылка будет бесполезной, ибо привязана к IP и будет работать только с того IP для которого она получена.
если учитывать знак= как символ то да на сайте выходит =1517360230Sb01d7d8331b485aef55e6a48f304afe3S701h31h76h671
вот ссылка на скрипт который был выше с моей странички http://itc.kl.com.ua/1.php и мне он со знаком равно выдает 56 символов
но ссылка которую выдает сайт работает на разных компах если ее оттуда просто взять она работает на разных компах это проверено . а вот ссылка которую генерит скрипт тот что был выше он даже у меня на этом же компе не хочет воспроизводить
и ссылка на 2 символа меньше хоть убей
И вправду. А вот работа с моего сервера: http://wonky.lostcut.net/pokazz.php
Но в любом случае, эти ссылки привязаны к IP и работать локально не будут.
Нужно получать html и выдёргивать ссылку на клиенте, где будет происходить просмотр. Если смотреть будете в VLC, то скрипт проще написать именно для VLC на lua.
но ссылка которую выдает сайт работает на разных компах если ее оттуда просто взять она работает на разных компах это проверено
Значит компы с одного IP выходят в инет.
ip у компов разные но даже ссылка которая получается у вас всеравно если ее ввести в браузер она не начинает скачивать плейлист ((( печалько а вот если открыть страницу в html и скопировать ссылку оттуда в браузер то она дает скачать файл index.m3u8 собственно говоря дает ссылку на поток (
ip у компов разные но даже ссылка которая получается у вас всеравно если ее ввести в браузер она не начинает скачивать плейлист (((
Естессно. Потому как получена с другого внешнего IP.
хм ну тогда еще один вариант есть другой сайт http://rus24.tv/moya_planeta.html
в нем реализация ссылки сделана скриптом
<script type="text/javascript">
if(self != top) {top.location=document.location;};k='d=cGg7GKaUuU7zdtEuzONgxA';
if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}
</script>
<script>
$(function(){
zoom=$.cookie("zoom");
// скрол
$(document).scroll(function () {
if (zoom=="yes"){
menu_zoom_top=Math.round($("#menu_zoom").offset().top);
$.cookie("menu_zoom_top",menu_zoom_top,{path: "/"});
}
top_scroll=$(document).scrollTop();
$.cookie("top_scroll",top_scroll,{path: "/"});
return true;
});
//скрол при загрузке
if (zoom=="yes"){
//сдвиг при изменении аспекта видео
menu_zoom_top_old=$.cookie("menu_zoom_top");
menu_zoom_top=Math.round($("#menu_zoom").offset().top);
delta_scroll=menu_zoom_top_old-menu_zoom_top;
}else{
delta_scroll=0;
}
top_scroll=$.cookie("top_scroll");
if(top_scroll == null){top_scroll=0;}
$(document).scrollTop(top_scroll-delta_scroll);
//установка 'тут'
tut='.kanal[tut="da"]';
$(tut).css('borderBottom','2px solid #E57614');
$(tut).css('height','29px');
$(tut).children('.strelka').show();
//преключение меню
$("div.kanal").mouseover(function () {
$(this).css('borderBottom','2px solid #E57614');
$(this).css('height','29px');
$(this).children('.strelka').show();
return true;
});
$("div.kanal").mouseout(function () {
if($(this).attr('tut')=='da'){return true;}
$(this).css('borderBottom','1px solid #d6d6d6');
$(this).css('height','30px');
$(this).children('.strelka').hide();
return true;
});
$("div.kanal").click(function () {
href=$(this).children('a').attr('href');
window.location.href = href;
return true;
});
$("#logo").click(function () {
window.location.href = "/";
return true;
});
$('#rus24tv_player > iframe:first').contents().find('#uppod_mybut1').click(function () {
zoom_button();
return true;
});
$('#rec_vert_right')
// $(window).scroll(function() {
// scr_left = $(document).scrollLeft();
// marg_left=995-scr_left;
// $("#rec_vert_right").css({marginLeft:marg_left+'px'});
// });
});
function start_player(){
uppodSend('rus24tv_player','file:'+fff);
uppodSend('rus24tv_player','smoothing:1');
}
function zoom_button() {
zoom=$.cookie("zoom");
if(zoom!="yes"){
$.cookie("zoom","yes",{path: "/"});
}else{
$.cookie("zoom","no",{path: "/"});
}
window.location.reload();
};
/* var store = [];
var oldf = console.log;
console.log = function(){
store.push(arguments);
oldf.apply(console, arguments);
}*/
gg='//195.154.200.186';ff='http';dd='s/72/inde';fff=ff+':'+gg+'/hl'+dd+'x.m3u8?m'+k+ll+'1517358218';
</script>
красным выделено то что меняется каждый раз при заходе на сайт и ссылка на поток формируется и выглядит примерно вот так
http://195.154.200.186/hls/72/index.m3u … 1517358218
как здесь выдергивать ссылку с этого сайта
stream3k, Давно ищу метода просмотра таких потоков со своего плейлиста, но хотелось бы чтоб это работало на Андроид приставке.
Есть идеи?
Подскажите пожалуйста, как можно в коде потока m3u8, разрешить просмотр всем ip адресам? Вот поток :
https://vs7.vcdn.biz/9e77d74a80eefcac60 … a2641.m3u8 ,
просмотр разрешен только IP 91.214.82.67/ .
Подскажите пожалуйста, как можно в коде потока m3u8, разрешить просмотр всем ip адресам? Вот поток :
https://vs7.vcdn.biz/9e77d74a80eefcac60 … a2641.m3u8 ,
просмотр разрешен только IP 91.214.82.67/ .
С какого сайта ссылку берете?
Megogo
Там многое платно, посмотрю,что можно сделать
Да я купил просмотр каналов за 1 грн. на две недели, хочу и с других ip адресов смотреть
Прошу помощи.
Задача:
есть некая страничка сайта s e e t v . tv/vse-tv-online/discovery-science-tv-ch-110
достать источник трансляции обходя защиту.
Все хорошо! Подменяем заголовки, открываем защищенную страницу. Видим источник но ссылка привязана к IP! Как с этим бороться ?
<?
$headers[] = 'X-Requested-With: XMLHttpRequest';
$headers[] = 'Referer: h t t p /s e e tv.tv/vse-tv-online/discovery-science-tv-ch-110';
$headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://seetv.tv/get/player/10905');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$cnt = curl_exec($curl);
curl_close($curl);
echo $cnt;
?>
Прошу помощи.
У меня вообще не работает в браузере на сайте канал,вопрос к вам.
Вы уверены,что ссылка на канал рабочая?
У меня вообще не работает в браузере на сайте канал,вопрос к вам.
Вы уверены,что ссылка на канал рабочая?
http://seetv.tv/vse-tv-online/discovery … -tv-ch-110 рабочая. Сам плеер защищен только curl из заголовками открывает.
В РФ в блоке
http://seetv.tv/vse-tv-online/discovery … -tv-ch-110 рабочая. Сам плеер защищен только curl из заголовками открывает.
Я когда-то и без курла вытаскивал,но на сайте не один канал не работает в браузере. скрин прилагаю
вот сам php код рабочий,только что проверил
<?
$url = 'http://seetv.tv/vse-tv-online/discovery-science-tv-ch-110#link=10905';
$ref = 'http://seetv.tv/vse-tv-online/discovery-science-tv-ch-110';
$cookies = array();
$userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
// Установка HTTP заголовков
$headers = "Accept-Encoding: gzip, deflate\r\n" .
"Host: seetv.tv\r\n".
"Referer: " . $ref . "\r\n" .
"User-Agent: $userAgent\r\n";
$page = LoadPage($url, "GET", $headers);
preg_match('#var\slinkTv\s=\s(.*?);#',$page,$id);
$url_id = 'http://seetv.tv/get/player/'.$id[1];
$headers .= "X-Requested-With: XMLHttpRequest\r\n";
$headers .= "Accept: application/json, text/javascript, */*; q=0.01\r\n";
$data = LoadPage($url_id, "GET", $headers);
$job = json_decode($data,1);
echo urldecode($job['file']);
///////////////////////
// Получение страницы с указанными методом и заголовками
function LoadPage($url, $method, $headers, $data='') {
global $cookies;
// Если есть кукисы - добавляем их значения в HTTP заголовки
$coo = "";
foreach($cookies as $key => $val) $coo .= $key."=".urlencode($val)."; ";
if ($coo) $headers .= "Cookie: $coo\r\n";
$options = array();
$options['http'] = array('method' => $method ,
'header' => $headers,
'content'=> $data );
$context = stream_context_create($options);
$page = file_get_contents($url, false, $context);
// Перебираем HTTP заголовки ответа, чтобы установить кукис
foreach($http_response_header as $c => $h) {
if (stristr($h, 'content-encoding') and stristr($h, 'gzip')) {
$page = gzdecode($page);
} else if (preg_match('#^Set-Cookie:\s*([^;]+)#', $h, $matches)) {
parse_str($matches[1], $tmp);
$cookies += $tmp;
}
}
return $page;
}
////////////////////////////////////////
?>
В РФ в блоке
Я не из РФ
Блин. Привязка к IP. Никак не обойти ? Может заголовки как то можно подменить ? Не работает нигде кроме IP сервера. Странно у меня работает нормально !
Блин. Привязка к IP. Никак не обойти ?
Только в том приложении,с которого была получена ссылка,по другому никак.
да, там привязка по ip, только на локальном сервере запустил
Только в том приложении,с которого была получена ссылка,по другому никак.
А можно как то отправить редирект типа header('Location h t t p://seetv.tv/get/player/ID'); из подменой заголовков X-Requested-With, Referer
чтобы в браузере открылась ссылка http://seetv.tv/get/player/ID из заголовками выше?
А можно как то отправить редирект типа header('Location h t t p://seetv.tv/get/player/ID'); из подменой заголовков X-Requested-With, Referer
чтобы в браузере открылась ссылка http://seetv.tv/get/player/ID из заголовками выше?
Сделать редерикт не проблема,только не фига не получится.
Даже если сделать редерикт,нужно получить ссылку на поток,
а вот проблемка ссылка имеет кодированный ключ, #EXT-X-KEY:METHOD=AES-128 и видать там проверка
Сделать редерикт не проблема,только не фига не получится.
Даже если сделать редерикт,нужно получить ссылку на поток,
а вот проблемка ссылка имеет кодированный ключ, #EXT-X-KEY:METHOD=AES-128 и видать там проверка
Ну все же если можно пример кода как отправить по моих заголовках. Хочу в другом русле опробовать. Понятно что айпи не подменить. Однако по моих заголовках можно же отправить как то.
Неофициальный форум DLNA Home Media Server → Coding → Как находить и расшифровывать ссылки (tivix.net)