31

Re: kodik

dvdsoft6 пишет:

А если к примеру отсутствует постер,можно вывести сообщение о его отсутствии?
Или заменить на свою ссылку с картинкой.

Можно вот так

+ открыть спойлер
if ($img){
// пример ссылка на картинку
echo '<img src="'.$img.'" alt="">';
echo "Есть картинка";
} else {
echo '<img src="ссылка на картинку пустышку" alt="">';
echo "Нет картинки";}
FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.
Спасибо сказали: dvdsoft61

32

Re: kodik

Ребят, а никто не знает, что с kodik случилось? Подчистили базу или есть нюансы?
Такое ощущение, что из базы ушли фильмы, которые там были.

Например, даже из этой темы: https://hms.lostcut.net/viewtopic.php?pid=14882#p14882
Мстители: Финал, имевший ссылку //kodik.info/video/35696/56d36a6f112341865f7c5baf85bf23e7/720p не доступен.

И раньше я экспериментировал с фильмом "Человек-паук: Через вселенные (2018)" со ссылкой //kodik.info/video/33412/3e95a7ec4a37d58159834de5f8f18217/720p тоже того.

Да и Кинопоиск-ID тоже их не находит: https://kodikapi.com/search?token=b7cc4 … _id=843650, https://kodikapi.com/search?token=b7cc4 … _id=920265
Пробовал с разными токенами. Нуль.
Да и вообще база как-будто меньше стала. В основном, Азия.

Sony Bravia KDL-32CX523

33

Re: kodik

WendyH пишет:

В основном, Азия.

Так и есть, Европу, США и Россию они сказали всю удалят. С новыми фильмами и сериалами замена есть, даже не одна, а вот старые архивы были уникальны.

34

Re: kodik

WendyH пишет:

Да и вообще база как-будто меньше стала. В основном, Азия.

Вот, что было у них в новостях.

+ открыть спойлер

UPD (22.10.2019) В связи со сложностью ситуации мы приостанавливаем работу плееров по европейским, российским и американским фильмам и сериалам. Подобный контент больше не будет добавляться, а весь старый контент в скором времени будет скрыт. База продолжить функционировать в стандартном режиме для дорам и другого азиатского/турецкого контента. Извиняемся за сложившуюся ситуацию.
Извиняемся за доставленные неудобства

FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.

35

Re: kodik

Spell пишет:

;D  Можно!  Написал в личку.

Добрый день. Можно и мне в личку?)

36 (2020.05.26 11:37:45 отредактировано WendyH)

Re: kodik

Пример получения ссылки на PHP:

<?php

// В параметрах указываем url как http://kodik.cc/video/55568/f07cf23d77f8e4bb4865efa1a0f2079a/720p
$url = isset($_GET["url"]) ? $_GET["url"] : ""; if (!$url) die("No url!");

// Устанавливаем HTTP-заголовки, притворяясь браузером
$headers = "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n" .
           "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36\r\n";

$options = ['http'=>['header'=>$headers."Referer: $url\r\n"]];

// Загружаем страницу
$html = file_get_contents($url, false, stream_context_create($options));

// В HTML-коде находим значение ссылки на iframe
$iframe_url = preg_match('/iframe.src\s*=\s*"(.*?)"/', $html, $m) ? "http:".$m[1] : "";
// Если не нашли - умирая, сообщаем об этом
if (!$iframe_url) die("Error! No found iframe.src in loaded page.");

// Устанавливаем новое значение Referer в HTTP-заголовках
$options['http']['header'] .= "Referer: $iframe_url\r\n";
// Скачиваем страницу по ссылке на iframe
$html = file_get_contents($iframe_url, false, stream_context_create($options));

// Ищем hash2. Он в js-файле, ищем ссылку на этот файл, грузим и ищем там значение hash2
$jsUrl = preg_match('#(/assets/js/app.promo[^"\']+)#', $html, $m) ? "http://kodik.cc".$m[1] : "";
// Если не нашли ссылку на js-файл app.promo - сообщаем и завершаем скрипт
if (!$jsUrl) die("Error! Not found js file (for hash2).");
// Загружаем по найденной ссылке весь js-код
$jsData = file_get_contents($jsUrl, false, stream_context_create($options));
// Ищем значение hash2 и ссылки на post
$hash2  = preg_match('/hash2:"(.*?)"/' , $jsData, $m) ? $m[1] : "";
$post_url  = preg_match('#url:"(.*?)",#' , $jsData, $m) ? $m[1] : "";
// Если не нашли - всё напрасно
if (!$hash2) die("Error! Not found hash2 value in js file.");

// Формируем данные для POST запроса, находя нужные значения в html-коде загруженной страницы
$postData = array();
$postData['d'       ] = preg_match('/var domain\s*=\s*"(.*?)"/'     , $html, $m) ? $m[1] : "";
$postData['d_sign'  ] = preg_match('/var d_sign\s*=\s*"(.*?)"/'     , $html, $m) ? $m[1] : "";
$postData['pd'      ] = preg_match('/var pd\s*=\s*"(.*?)"/'         , $html, $m) ? $m[1] : "";
$postData['pd_sign' ] = preg_match('/var pd_sign\s*=\s*"(.*?)"/'    , $html, $m) ? $m[1] : "";
$postData['ref'     ] = preg_match('/var ref\s*=\s*"(.*?)"/'        , $html, $m) ? $m[1] : "";
$postData['ref_sign'] = preg_match('/var ref_sign\s*=\s*"(.*?)"/'   , $html, $m) ? $m[1] : "";
$postData['type'    ] = preg_match('/videoInfo.type\s*=\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['hash'    ] = preg_match('/videoInfo.hash\s*=\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['id'      ] = preg_match('/videoInfo.id\\s*=\\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['hash2'   ] = $hash2;
// Подготавливаем POST-запрос
$options  = ['http'=>['method'=>"POST",'header'=>$headers."Referer: $iframe_url\r\n",'content'=> http_build_query($postData)]];
// Делаем POST запрос с подготовленными данными
$data = file_get_contents("http://kodik.cc.$post_url", false, stream_context_create($options));
// Преобразуем ответ в JSON-объект
$json = json_decode($data);

// Перебираем все полученные ссылки и запоминаем последнюю (с наивысшим качеством)
$link = "";
foreach($json->links as $key => $arrayLinks) {
    $link = "http:".$arrayLinks[0]->src;
}

// Выводим полученную ссылку на поток
echo $link;

Тест: http://wonky.lostcut.net/kodik.php?url= … 2079a/720p

Sony Bravia KDL-32CX523
Спасибо сказали: smsbox3, foks5050, Dimon1978pl3

37

Re: kodik

WendyH пишет:

Пример получения ссылки на PHP:

Благодарочка

38

Re: kodik

На кодике есть вот такие ссылки

http://aniqit.com/uv/163165/cb83e2d85b72a1940950/720p

это серия из сериала

http://kodik.cc/serial/27050/d4fa59e4fbbae0660777d2c0568769a6/720p


Пока, что ищу через называние, но это не очень то и надежно, в самом uv файле нет называния,  а есть

 var type = "uv";
    var videoId = "163165";
    var autoResume = false;

, а название на странице "Ближе к тебе | Моя колючая девушка"  если целиком вводить не совсем правильно находит, слишком много..
В файле сериала название есть 

<title>Ближе к тебе</title> 

и так же код сериала

<script>
    var serialId = Number(27050);
    var playerDomain = "kodik.cc";
    var autoResume = false;
    var saveChosenEpisode = false;
  </script>

Если ли какой другой способ, кроме поиска по называнию?

39

Re: kodik

smsbox3 пишет:

Если ли какой другой способ, кроме поиска по называнию?

по kinopoisk_id например token=здесь токен&kinopoisk_id=464963

FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.

40

Re: kodik

Spell пишет:

по kinopoisk_id например token=здесь токен&kinopoisk_id=464963

Спасибо, но в в ссылке

http://aniqit.com/uv/163165/cb83e2d85b72a1940950/720p

нет такого ключа и не вижу способа его получить.

41 (2020.11.03 02:10:12 отредактировано Mr.Max)

Re: kodik

WendyH пишет:

Пример получения ссылки на PHP:

Изменили кое что . В коде нужно заменить

http://kodik.cc/get-vid на https://aniqit.com/video-information . Оставлю тут . Может кому пригодится .

Спасибо сказали: smsbox3, Dimon1978pl2

42

Re: kodik

Mr.Max пишет:

http://kodik.cc/get-vid на https://aniqit.com/video-information . Оставлю тут . Может кому пригодится .

Опять изменили на https://kodik.cc/get-video-info

Спасибо сказали: smsbox31

43 (2021.02.08 16:39:10 отредактировано smsbox3)

Re: kodik

Что-то у меня перестало работать с того места, где запрос идет на http://kodik.cc/get-video-info Вместо json выдает сообщение

An unhandled lowlevel error occurred. The application logs may have details.

Параметры вроде бы все собрались

p.s. фильмы играет, а вот на серии сериала получаю ошибку.

44

Re: kodik

smsbox3 пишет:

Что-то у меня перестало работать с того места, где запрос идет на http://kodik.cc/get-video-info Вместо json выдает сообщение

An unhandled lowlevel error occurred. The application logs may have details.

Параметры вроде бы все собрались

p.s. фильмы играет, а вот на серии сериала получаю ошибку.

А ссылку сюда киньте,ту где у Вас ошибку выдает.

FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.

45

Re: kodik

Spell пишет:

А ссылку сюда киньте,ту где у Вас ошибку выдает.

У меня на всех сериалах, например

http://kodik.cc/serial/22784/f727369b6bd4841f4b6e561e533e5c29/720p

46

Re: kodik

Что то поменяли . Не работает

47

Re: kodik

WendyH пишет:

Пример получения ссылки на PHP:

<?php

// В параметрах указываем url как http://kodik.cc/video/55568/f07cf23d77f8e4bb4865efa1a0f2079a/720p
$url = isset($_GET["url"]) ? $_GET["url"] : ""; if (!$url) die("No url!");

// Устанавливаем HTTP-заголовки, притворяясь браузером
$headers = "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n" .
           "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36\r\n";

$options = ['http'=>['header'=>$headers."Referer: $url\r\n"]];

// Загружаем страницу
$html = file_get_contents($url, false, stream_context_create($options));

// В HTML-коде находим значение ссылки на iframe
$iframe_url = preg_match('/iframe.src\s*=\s*"(.*?)"/', $html, $m) ? "http:".$m[1] : "";
// Если не нашли - умирая, сообщаем об этом
if (!$iframe_url) die("Error! No found iframe.src in loaded page.");

// Устанавливаем новое значение Referer в HTTP-заголовках
$options['http']['header'] .= "Referer: $iframe_url\r\n";
// Скачиваем страницу по ссылке на iframe
$html = file_get_contents($iframe_url, false, stream_context_create($options));

// Ищем hash2. Он в js-файле, ищем ссылку на этот файл, грузим и ищем там значение hash2
$jsUrl = preg_match('#(/assets/js/app.promo[^"\']+)#', $html, $m) ? "http://kodik.cc".$m[1] : "";
// Если не нашли ссылку на js-файл app.promo - сообщаем и завершаем скрипт
if (!$jsUrl) die("Error! Not found js file (for hash2).");
// Загружаем по найденной ссылке весь js-код
$jsData = file_get_contents($jsUrl, false, stream_context_create($options));
// Ищем значение hash2 и ссылки на post
$hash2  = preg_match('/hash2:"(.*?)"/' , $jsData, $m) ? $m[1] : "";
$post_url  = preg_match('#url:"(.*?)",#' , $jsData, $m) ? $m[1] : "";
// Если не нашли - всё напрасно
if (!$hash2) die("Error! Not found hash2 value in js file.");

// Формируем данные для POST запроса, находя нужные значения в html-коде загруженной страницы
$postData = array();
$postData['d'       ] = preg_match('/var domain\s*=\s*"(.*?)"/'     , $html, $m) ? $m[1] : "";
$postData['d_sign'  ] = preg_match('/var d_sign\s*=\s*"(.*?)"/'     , $html, $m) ? $m[1] : "";
$postData['pd'      ] = preg_match('/var pd\s*=\s*"(.*?)"/'         , $html, $m) ? $m[1] : "";
$postData['pd_sign' ] = preg_match('/var pd_sign\s*=\s*"(.*?)"/'    , $html, $m) ? $m[1] : "";
$postData['ref'     ] = preg_match('/var ref\s*=\s*"(.*?)"/'        , $html, $m) ? $m[1] : "";
$postData['ref_sign'] = preg_match('/var ref_sign\s*=\s*"(.*?)"/'   , $html, $m) ? $m[1] : "";
$postData['type'    ] = preg_match('/videoInfo.type\s*=\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['hash'    ] = preg_match('/videoInfo.hash\s*=\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['id'      ] = preg_match('/videoInfo.id\\s*=\\s*["\'](.*?)["\']/', $html, $m) ? $m[1] : "";
$postData['hash2'   ] = $hash2;
// Подготавливаем POST-запрос
$options  = ['http'=>['method'=>"POST",'header'=>$headers."Referer: $iframe_url\r\n",'content'=> http_build_query($postData)]];
// Делаем POST запрос с подготовленными данными
$data = file_get_contents("http://kodik.cc.$post_url", false, stream_context_create($options));
// Преобразуем ответ в JSON-объект
$json = json_decode($data);

// Перебираем все полученные ссылки и запоминаем последнюю (с наивысшим качеством)
$link = "";
foreach($json->links as $key => $arrayLinks) {
    $link = "http:".$arrayLinks[0]->src;
}

// Выводим полученную ссылку на поток
echo $link;

Тест: http://wonky.lostcut.net/kodik.php?url= … 2079a/720p

Не подскажете что сменили ?

48

Re: kodik

hash2 нет, в скаченном плеере

49

Re: kodik

smsbox3 пишет:

hash2 нет, в скаченном плеере

Он вообще используется ? Или засунули куда-то

50

Re: kodik

Mr.Max пишет:

Не подскажете что сменили ?

вот такие данные на  POST запрос
Ссылка: h_s://kodik.cc/gvi
POST

+ открыть спойлер
d= bd.kodik.biz
d_sign= 9d75e68ee517a33118a62b807f067680028d852a9d047fcf750ca71c3e139cbf
pd=kodik.cc
pd_sign= 9945930febce35101e96ce0fe360f9729430271c19941e63c5208c2f342e10ed
ref= https%3A%2F%2Fbd.kodik.biz%2F
ref_sign= 4f2e5d1ecae8fec4d922c34b75d1cc3d21c74852383f1e32311c6d8645c650aa
bad_user= true
type= video
hash=6bf175a0d92b893b3278b523b390dc85
id= 77318
info= %7B%7D  //скобки {}

Получаем json и смотрим,что кодики тоже ссылки начали шифровать,но не сильно  :)

+ открыть спойлер
{"advert_script":"","domain":"bd.kodik.biz","default":360,
"links":
{"360":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuAjNz8iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}],
"480":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuADO08iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}],
"720":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuAjM38iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}]},"ip":""}
FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.
Спасибо сказали: smsbox31

51

Re: kodik

Spell пишет:

вот такие данные на  POST запрос
Ссылка: h_s://kodik.cc/gvi
POST

+ открыть спойлер
d= bd.kodik.biz
d_sign= 9d75e68ee517a33118a62b807f067680028d852a9d047fcf750ca71c3e139cbf
pd=kodik.cc
pd_sign= 9945930febce35101e96ce0fe360f9729430271c19941e63c5208c2f342e10ed
ref= https%3A%2F%2Fbd.kodik.biz%2F
ref_sign= 4f2e5d1ecae8fec4d922c34b75d1cc3d21c74852383f1e32311c6d8645c650aa
bad_user= true
type= video
hash=6bf175a0d92b893b3278b523b390dc85
id= 77318
info= %7B%7D  //скобки {}

Получаем json и смотрим,что кодики тоже ссылки начали шифровать,но не сильно  :)

+ открыть спойлер
{"advert_script":"","domain":"bd.kodik.biz","default":360,
"links":
{"360":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuAjNz8iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}],
"480":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuADO08iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}],
"720":[
{"src":"4U3Mt5CdzVmZp5WYtpzcshmO0AXbuAjM38iNwYjM4ATMyAjM6QjN5ETNlFmZ0kDNhBTZkFDMxETOzkjYhBzN1QWO4EWYvUzMmZWOiFTM5EDNk1COkZDOtIjN5QTLkdTN20CM4gTNlZTY38yckF2bsBXdyV2c19SbvNmLldWYy9Gdz1yapR2br5CZ19Gbj9yL",
"type":"application/x-mpegURL"}]},"ip":""}

BASE64 + мусор я так понимаю

Спасибо сказали: Dimon1978pl1

52

Re: kodik

Mr.Max пишет:

BASE64 + мусор я так понимаю

мусора нет. Строка зашифрована в base64, и перевернута.

FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.

53 (2021.08.26 19:50:49 отредактировано Mr.Max)

Re: kodik

Spell пишет:

мусора нет. Строка зашифрована в base64, и перевернута.

есть идеи как перевернуть обратно ? Все понял. Сейчас переверну. Спасибо огромное!

54

Re: kodik

Mr.Max пишет:

есть идеи как перевернуть обратно ?

Здесь описал как:

+ открыть спойлер

php функция strrev()  и потом base64_decode();

FASTIX  выпрямления ссылок


Отладка кода — это как охота. Только охота, на баги.
Спасибо сказали: Dimon1978pl1

55

Re: kodik

Уже перевернул. Просто изначально не понял что там перевернуто . Благодарю.

Спасибо сказали: smsbox31