1

Тема: Балансер kholobok.biz

Можно пройти регистрацию https://kholobok.biz и получить доступ к api
Получить данные вы можете следующим образом: сделайте запрос по ссылке https://api.kholobok.biz/api/getVideo?account_key=[ваш api ключ]
Ответ выглядит следующим образом:

data: {
  count: 49403
  countries: [{id: 1, name: "Великобритания"}, {id: 2, name: "США"}, {id: 3, name: "Исландия"},…]
  genres: [{id: 0, name: "боевик"}, {id: 2, name: "триллер"}, {id: 3, name: "драма"},…]
  items: [
    0: {id: 1, id_VDB: "5", tupe: "movie", name: "Everest", ru_name: "Эверест", quality: "bd 720",…}
      adress: "https://api.kholobok.biz/show/1"
      country: "Великобритания, США, Исландия"
      created_at: "2020-01-13 18:49:46"
      description: "Эверест — великая неприступная гора, по..."
      genre: "боевик, триллер, драма, приключения, биография"
      id: 1
      id_VDB: "5"
      imdb: "tt2719848"
      img: "https://st.kp.yandex.net/images/film..."
      kinopoisk: "739642"
      lock: ""
      name: "Everest"
      quality: "bd 720"
      ru_name: "Эверест"
      translation: "Полное дублирование"
      tupe: "movie"
      update_kino: "1"
      updated_at: "2020-10-22 05:00:53"
      year: "2015"
    1: {id: 2, id_VDB: "8", tupe: "movie", name: "Spectre", ru_name: "007: Спектр", quality: "bd 720",…}
    2: {id: 3, id_VDB: "6", tupe: "movie", name: "Crimson Peak", ru_name: "Багровый пик",…}
    3: {id: 4, id_VDB: "14", tupe: "movie", name: "Fifty Shades of Grey",…}
   ]
  messages: []
  method: "getVideo"
}

Показывает на регистрированном домене, что прописали. Прямая ссылка имеет вид https://round.kholobok.biz/movies/5de8d … 2/hls.m3u8
там переадресует
https://aurum.round.kholobok.biz/movies … 2/hls.m3u8
Прямую ссылку программно не получал.

2 (2021.04.20 09:20:22 отредактировано Mr.Max)

Re: Балансер kholobok.biz

В апи указана ссылка плеера но она не рабочая . Прикольный такой балансир. Зато у них на сайте все пашет. Смысл так делать

3

Re: Балансер kholobok.biz

База фильмов хорошая, слов нет. Но программно добраться до ссылок довольно-таки затруднительно.
Необходимо обязательно авторизоваться.
Для плучения ссылок надо создать параметр Authorization в headers типа
Bearer $2y$10$yMB/Se./BYak1yK4XrpOLun9js/cqEKX8sL21cqhzBLG8Oj.ggJcK
А там кодирование Bearer, с которым бороться ОЧЕНЬ трудно...

С уважением,
matkin

4

Re: Балансер kholobok.biz

Mr.Max пишет:

В апи указана ссылка плеера но она не рабочая . Прикольный такой балансир. Зато у них на сайте все пашет. Смысл так делать

У меня все работает, там надо адрес сайта привязать, откуда будете запускать. Я привязал свой домен и во фрейме работает. Правда, попробовал на ТВ запустить - он как-то дико позиционирует себя вверх, если во фрейме запускать, так, что на ТВ смотреть не возможно, при этом тот же фрейм на компьютере работает без проблем.

5

Re: Балансер kholobok.biz

matkin пишет:

База фильмов хорошая, слов нет. Но программно добраться до ссылок довольно-таки затруднительно.
Необходимо обязательно авторизоваться.
Для плучения ссылок надо создать параметр Authorization в headers типа
Bearer $2y$10$yMB/Se./BYak1yK4XrpOLun9js/cqEKX8sL21cqhzBLG8Oj.ggJcK
А там кодирование Bearer, с которым бороться ОЧЕНЬ трудно...

Токен шифруется в данном файле насколько понимаю https://kholobok.biz/js/main.f61cce360ba058c5e6c9.js

6

Re: Балансер kholobok.biz

Мда. Защиты дальше все круче и круче. Но ничего .

7

Re: Балансер kholobok.biz

Если из Firefox извлечь Headers

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

{"Accept": "application/json, text/plain, */*", "Accept-Language": "ru,en-US;q=0.7,en;q=0.3", "Authorization": "Bearer $2y$10$yMB/Se./BYak1y
K4XrpOLun9js/cqEKX8sL21cqhzBLG8Oj.ggJcK", "Connection": "keep-alive", "Content-Length": "8", "Content-Type": "application/json;charset=utf-8
", "Host": "api.kholobok.biz", "Origin": "https://kholobok.biz", "Referer": "http://api.kholobok.biz/show/26888", "User-Agent": "Mozilla/5.0
(X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0"}

и сделать запрос на получение ссылок на видео
https://api.kholobok.biz/front/videos.dataFilm с параметром {"id":26888} (Это фильм)
то получим json, в котором можно найти

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

[{'title': 'Оригинальная дорожка', 'folder': [{'title': '0', 'folder': [{'title': 'Стрелец неприкаянный', 'file': 'https://rou
nd.kholobok.biz/movies/78f901d32dac398f95529512255a841ce1d80bf2/013f3719aa21bdff47356b2414756eec:2021042215/hls.m3u8'}]}]}]
[{'title': 'Стрелец неприкаянный', 'file': 'https://round.kholobok.biz/movies/78f901d32dac398f95529512255a841ce1d80bf2/013f3719aa21bdff47356
b2414756eec:2021042215/hls.m3u8'}]

где file ссылка на фильм.
Только вопрос в том, как часто меняется Headers???
Последние несколько дней - пока один и тот-же...

С уважением,
matkin
Спасибо сказали: smsbox31

8

Re: Балансер kholobok.biz

Здравствуйте кто то пользуется этим балансером может поделиться php кодом как получить прямые ссылки. Спасибо

9

Re: Балансер kholobok.biz

bond пишет:

Здравствуйте кто то пользуется этим балансером может поделиться php кодом как получить прямые ссылки. Спасибо

Без использования api на прямую в лоб как-то так .
http://ваш-сайт/codes.php?my_ka4=720&id=520
my_ka4  - желаемое качество видео
id - ид плеера с балансера


<?php 
function file_get_contents_page( $url ) {
        $page = curl_init();        
        curl_setopt($page, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($page, CURLOPT_URL, $url);
        curl_setopt($page, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($page, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($page, CURLOPT_REFERER, $url);
        curl_setopt($page, CURLOPT_HEADER, 0);
        curl_setopt($page, CURLOPT_ENCODING,'gzip, deflate, br');
        
        curl_setopt($page, CURLOPT_HTTPHEADER, array(

            'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'Accept-Encoding: gzip, deflate, br',
            'Accept-Language: ru,pl;q=0.9,ru-UA;q=0.8,ru-RU;q=0.7,en-US;q=0.6,en;q=0.5',
            'Connection: keep-alive',
            'Host: api.kholobok.biz',
            'Referer: https://kholobok.biz/',
            'sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
            'sec-ch-ua-mobile: ?0',
            'Sec-Fetch-Dest: iframe',
            'Sec-Fetch-Mode: navigate',
            'Sec-Fetch-Site: same-site',
            'Upgrade-Insecure-Requests: 1',
            
        ));
        
        $response = curl_exec($page);
        
        curl_close($page);
        return $response;
        
        
}


$my_ka4 = $_GET['my_ka4'];
$video_id = $_GET['id'];

$url = file_get_contents_page('https://api.kholobok.biz/show/'.$video_id);
if(preg_match("#'file':\s*'(.*?)',#",$url,$file)){
    $file[1] = str_replace('or',',',$file[1]);
    $file[1] = preg_replace('#\s+#',' ',$file[1]);
    $explode = explode(',',$file[1]);
    
    foreach($explode as $index => $item){
        if(preg_match('#\['.$my_ka4.'\]#',$explode[$index])){
            $data_url = trim($explode[$index + 1]);    
        }
    }
    $get = get_headers($data_url,1);
    $return_url = $get['Location'];
    echo $return_url;
}

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

10

Re: Балансер kholobok.biz

na-socke.tk пишет:

id - ид плеера с балансера

Ссылки привязаны к ip? Что-то полученное на сервере не играет у меня.

11

Re: Балансер kholobok.biz

smsbox3 пишет:

Ссылки привязаны к ip? Что-то полученное на сервере не играет у меня.

Да проверил имеется привязка.

12

Re: Балансер kholobok.biz

smsbox3 пишет:

Ссылки привязаны к ip? Что-то полученное на сервере не играет у меня.

Попробуйте ка ещё таким образом.
ссылка на воспроизведение будет такая http://ваш-сайт/имя файла.php?my_ka4=желаемое качество&id=ид плеера
то есть такую ссылку и вставляете, должна произойти ретрансляция, возможно получится так, проверил скрипт на сервере, ссылка в vlc воспроизведение произошло.

<?php 
function file_get_contents_page( $url ) {
        $page = curl_init();        
        curl_setopt($page, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($page, CURLOPT_URL, $url);
        curl_setopt($page, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($page, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($page, CURLOPT_REFERER, $url);
        curl_setopt($page, CURLOPT_HEADER, 0);
        curl_setopt($page, CURLOPT_ENCODING,'gzip, deflate, br');
        
        curl_setopt($page, CURLOPT_HTTPHEADER, array(

            'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'Accept-Encoding: gzip, deflate, br',
            'Accept-Language: ru,pl;q=0.9,ru-UA;q=0.8,ru-RU;q=0.7,en-US;q=0.6,en;q=0.5',
            'Connection: keep-alive',
            'Host: api.kholobok.biz',
            'Referer: https://kholobok.biz/',
            'sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
            'sec-ch-ua-mobile: ?0',
            'Sec-Fetch-Dest: iframe',
            'Sec-Fetch-Mode: navigate',
            'Sec-Fetch-Site: same-site',
            'Upgrade-Insecure-Requests: 1',
            
        ));
        
        $response = curl_exec($page);
        
        curl_close($page);
        return $response;
        
        
}



$my_ka4 = $_GET['my_ka4'];
$video_id = $_GET['id'];

$url = file_get_contents_page('https://api.kholobok.biz/show/'.$video_id);
if(preg_match("#'file':\s*'(.*?)',#",$url,$file)){
    $file[1] = str_replace('or',',',$file[1]);
    $file[1] = preg_replace('#\s+#',' ',$file[1]);
    $explode = explode(',',$file[1]);
    
    foreach($explode as $index => $item){
        if(preg_match('#\['.$my_ka4.'\]#',$explode[$index])){
            $data_url = trim($explode[$index + 1]);    
        }
    }
    $get = get_headers($data_url,1);
    $return_url = $get['Location'];
    $parse_url = parse_url($return_url);
    
    $file_headers = @get_headers ($return_url, 1);
    $filesize = $file_headers["Content-Length"];
    define('BLOCK', 1024);
    $fp = @fopen($return_url, "rb") or die ();
    header('Content-Type: video/mp4');
    header('Content-length: '.$filesize);
    header('Date:'.$file_headers['Date']);
    header('Last-Modified:'.$file_headers['Last-Modified']);
    header('Connection:'.$file_headers['Connection']);
    header('Accept-Ranges:'.$file_headers['Accept-Ranges']);
    header('ETag:'.$file_headers['ETag']);
    
    while(!feof($fp)) {
        echo fread($fp, BLOCK);
    }
    
  
}

?>
Спасибо сказали: foks5050, smsbox3, bond3

13

Re: Балансер kholobok.biz

na-socke.tk пишет:

Попробуйте ка ещё таким образом.

Да спасибо так работает!

14

Re: Балансер kholobok.biz

foks5050 пишет:

Да спасибо так работает!

Ок, не за что . Гарантии что долго будет работать нет, так как колобки могут что-то придумать . Но рад что помог.