91

Re: Tree.TV (2017.04.19)

Разобрался.
В общем, путём исследований и проб было выяснено, что есть некая привязка отпечатка (значения mycook) к IP адресу.
Хотя разбор функции Fingerprint2 не дал результатов по поводу привязки (там есть всё, но привязки к ip нет), то было решено проанализировать остальные запросы.
Но как-то же он проверял?
Например, я делал один в один запросы, но с разных IP и в одном случае - проходило, во втором, вместо json данных от /guard получал html.

В общем, подозрение пало на POST запрос к /film/index/imprint с полученными результатами отпечатка и данными, из которых можно проверить правильность отпечатка.
Так и есть - после вычисления отпечатка, нужно отправлять запрос на /film/index/imprint с того адреса, с которого будут идти запросы на /guard.

Это типа port knocking, только для запросов с определённого IP. Т.е. нужно отстучаться по определённому адресу с определёнными значениями, после чего с этого ip будут проходить запросы.

Правда, пришлось повозиться с http заголовками ещё.
В общем, в заголовках должны быть указаны user-agent, который должен подходить к отпечатку, X-Requested-With: XMLHttpRequest и Origin: http://player.tree.tv.
Делаем запрос на страницу фильма для установки кук.
Задаём уже вычисленный отпечаток в куках (значение mycook).
Отправляем запрос на /film/index/imprint с уже готовыми параметрами для нашего заданного отпечатка.
И только после этого делаем запросы на /guard.

Т.к. в отпечатке нет информации о том, откуда идут запросы, то его можно отправлять уже конкретный вычисленный заранее и один и тот же.
Для примера и proof of concept, подправил php скрипт вот в этом сообщении: https://hms.lostcut.net/viewtopic.php?pid=7715#p7715

Sony Bravia KDL-32CX523

92

Re: Tree.TV (2017.04.19)

насколько я понял то, что сгенерировал в mycook отсылаешь запросом через film/index/imprint и тогда твой  mycook становиться рабочим , так ? а вообще важно чего там нагенеришь внутри хеша или пофигу, что привязать.  Если несложно можно пример генерации, что сунул, что вышло

93

Re: Tree.TV (2017.04.19)

bigmanalexey пишет:

насколько я понял то, что сгенерировал в mycook отсылаешь запросом через film/index/imprint и тогда твой  mycook становиться рабочим , так ?

Именно.

bigmanalexey пишет:

а вообще важно чего там нагенеришь внутри хеша или пофигу, что привязать.

На самом деле - не важно, но нужно передавать в post запросе правильные параметры со значением result и components, из которых такой отпечаток можно получить.
Это значение  - уникальный отпечаток браузера и устройства.

Функция (точнее это класс, но не важно) Fingerprint2 собирает информацию о браузере, системе, установленных шрифтах, особенностей работы webgl, canvas, разрешение экрана устройства и многому прочему. Потом из собранной информации получает хеш. Вот он то и есть отпечаток. Используется как альтернатива идентификации конкретного пользователя, вместо cookies и session, в некоторых случаях более точное определение (например, не поможет удаление кук и режим инкогнито в браузерах).
Единственный минус - это вычисление хеша на самом клиенте и его нужно передать отдельным запросом серверу.

Поэтому получение хеша можно посмотреть в браузере при отладке. Какой он - этот отпечаток, сервер не знает, пока ему не передадут запросом.
Значит мы можем просто отослать серверу уже готовое значение, какбы говоря, что это наш отпечаток. Вычислять его всё время не обязательно.

Свой отпечаток, который используется в скриптах - я подсмотрел в запросах своего браузера. И взял посчитанное значение и передаваемые параметры при запросе к film/index/imprint. И всё. Их и использую. Вы тоже можете их использовать. Любой может.
Хотите другие значения - можете подсмотреть запросы film/index/imprint у себя в браузере и брать именно их.

Sony Bravia KDL-32CX523

94

Re: Tree.TV (2017.04.19)

WendyH пишет:

Для примера и proof of concept, подправил php скрипт вот в этом сообщении: https://hms.lostcut.net/viewtopic.php?pid=7715#p7715

дааа, неплохо так объём кода в скрипте изменился, почти в 20 раз...

а почему часть ссылок открывает, а часть не открывает, удалось выяснить?... открывал на разных компах, в разных браузерах, привязки в ip кажется что нет, но часть ссылок получаются не рабочими, особенно новинки, хотя в браузере открывает и показывает... просто интересно, там ещё какая-то защита есть, кроме проверки отпечатка о котором ты рассказал или как?...

95

Re: Tree.TV (2017.04.19)

baat пишет:

дааа, неплохо так объём кода в скрипте изменился, почти в 20 раз...

Да, это только из-за одной строки: "$post = 'result=b4bc18a03ae6f68d89cdf519d261c245&components....". Ибо туда данные о шрифтах и прочая бинарная ифнормация попала".

Сейчас попробую сгенерить хеш только для user-agent и попробовать отправлять данные, где в components только он указан.
Вроде получилось. Теперь код сильно уменьшился.

Т.е. я посчитал (в отладчике браузера, в консоле) хеш для строки:

'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'


и отправляю на film/index/imprint только

'result=4b8e1d40782a71bb90c23a7a164f047c&components%5B0%5D%5Bkey%5D=user_agent&components%5B0%5D%5Bvalue%5D=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F56.0.2924.87+Safari%2F537.36'

Обновил тот PHP скрипт.

baat пишет:

а почему часть ссылок открывает, а часть не открывает, удалось выяснить?... открывал на разных компах, в разных браузерах, привязки в ip кажется что нет, но часть ссылок получаются не рабочими, особенно новинки, хотя в браузере открывает и показывает... просто интересно, там ещё какая-то защита есть, кроме проверки отпечатка о котором ты рассказал или как?...

Без понятия, я пока не встречал (но я может мало пробовал) неработающих фильмов. Молю, скажите, какие именно фильмы не идут?

Sony Bravia KDL-32CX523

96

Re: Tree.TV (2017.04.19)

WendyH пишет:

Молю, скажите, какие именно фильмы не идут?

да почти все новинки (любой фильм из топ 20), а старые фильмы идут...
например Доктор Стрэндж, http://wonky.lostcut.net/treetv.php?id=173587
ссылка есть, но она не открывается...

97

Re: Tree.TV (2017.04.19)

baat пишет:

да почти все новинки (любой фильм из топ 20), а старые фильмы идут...
например Доктор Стрэндж, http://wonky.lostcut.net/treetv.php?id=173587
ссылка есть, но она не открывается...

А, так это ж говорилось ранее. Новым ссылкам при получении chunks (кусков видео с плейлиста) нужен установленный http заголовок Origin.
У меня то в подкасте это учитывается и в параметрах транскодирования устанавливается.

Попробуйте получить ссылку по примеру выше и скопировать её в подобную команду в командной стройке:
ffmpeg.exe -headers "Origin: http://player.tree.tv" -i "http://st4.3tv.im/play/4a2e276f57030093 … index.m3u8" -vcodec copy -acodec copy -v debug test.mp4

И увидите, как процесс пойдёт. Без заголовка headers - не пойдёт. Так что с такими ссылками в VLC облом.

Sony Bravia KDL-32CX523

98

Re: Tree.TV (2017.04.19)

Обновлён подкаст на оф. форуме.

Добавлено автообновление скриптов подкаста при запуске обновления разделов (проверка обновлений не чаще раза в пол часа).
Иходники скриптов обновляются отсюда.

Это автообноление пока тестируется. Если что - пишите.

Sony Bravia KDL-32CX523

99

Re: Tree.TV (2017.04.19)

WendyH пишет:

А, так это ж говорилось ранее. Новым ссылкам при получении chunks (кусков видео с плейлиста) нужен установленный http заголовок Origin.

может и говорилось, но вдруг есть идеи, как это побороть... неужели костыля никакого нет?..

100

Re: Tree.TV (2017.04.19)

кстати если берешь hash для mycook тот что браузер сгенерил
то вот это

$post = 'result=4b8e1d40782a71bb90c23a7a164f047c&components%5B0%5D%5Bkey%5D=user_agent&components%5B0%5D%5Bvalue%5D=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F56.0.2924.87+Safari%2F537.36';
LoadPage("http://tree.tv/film/index/imprint", "POST", $headers, $post);

совсем не нужно

и так работает достаточно просто mycook устанавливать в заголовке и все

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

101

Re: Tree.TV (2017.04.19)

baat пишет:

может и говорилось, но вдруг есть идеи, как это побороть... неужели костыля никакого нет?..

Побороть необходимость http заголовков невозможно, они проверяются на сервере. Так что нужно подстраиваться под это, и их передавать.

Sony Bravia KDL-32CX523

102

Re: Tree.TV (2017.04.19)

bigmanalexey пишет:

кстати если берешь hash для mycook тот что браузер сгенерил
то вот это

$post = 'result=4b8e1d40782a71bb90c23a7a164f047c&components%5B0%5D%5Bkey%5D=user_agent&components%5B0%5D%5Bvalue%5D=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F56.0.2924.87+Safari%2F537.36';
LoadPage("http://tree.tv/film/index/imprint", "POST", $headers, $post);

совсем не нужно

и так работает достаточно просто mycook устанавливать в заголовке и все

Погодите-ка... Я так тоже думал, пока запросы с других ip не стал делать. Просто браузер сгенерил хеш, зарегил его на сервере для этого ip и поэтому он работает. Попробуйте без этих лишних запросов сделать всё с другого ip и убедитесь.
Если ip динамический дома, то выключите модем/роутер (чтобы получить новый ip) и попробовать потом заново. Или разместить php скрипт на другом сервере.
В общем, это trap. Запросы, всё-таки нужны.
Если ничего сейчас не поменялось у них.

Sony Bravia KDL-32CX523

103

Re: Tree.TV (2017.04.19)

Прошу прощения буду на ты :) Вот смотри я взял твой hash из скрипта по идее он у тебя не с моего же ip, и работать у меня без /film/index/imprint" не должен. но он работает
и еще так внутри java было типа на 4 часа устанавливается но специально пробовал и через 4 часа работает. короче я запутался и еще смущает то, что у одного и того же браузера хеш периодически разный получается, отсюда вывод гдето еще и время запроса у них участвует.

104

Re: Tree.TV (2017.04.19)

Всё правильно, мой хеш будет работать у кого угодно, потому как в нем нет привязки к ip. Но только после регистрации на /film/index/imprint. Именно после этого запроса этот хеш с твоего ip будет валидным.
На сколько мне удалось изучить.
И у тебя этот хеш работает без запроса к imprint потому как этот запрос, видимо, ты уже сделал и теперь этот запрос делать необязательно.
Как только сменишь ip, делать запрос к imprint нужно будет обязательно опять. Это и будет регистрация отпечатка (любого хеша) к конкретному ip.

Sony Bravia KDL-32CX523

105

Re: Tree.TV (2017.04.19)

или хэш кончился по времени жизни иди treetv опять что поменяли (ой нейметься им)

106

Re: Tree.TV (2017.04.19)

Термерь запрос /film/index/imprint нужено делать более полный. Видимо, на стороне сервера стали проверять.
До этого мы просто ограничились запросом, в котором был указан тоглько user-agent, а с сайта делается полный (помнишь, размер php скрипта увеличился в несколько раз, из-за объёма отправляемых данных). Я просто в прошлый раз смухлевал, чтобы сэкономить.
Теперь делать нужно опять более полный запрос, с перечислением всяких componets. И для этих данных вычисленный hesh.

Sony Bravia KDL-32CX523

107

Re: Tree.TV (2017.04.19)

михаил пишет:

Восстановлен подкаст

А тот старый, который с оф. сайта не обновился сам? Или операционка Windows XP?
При обновлении исходников на github (указаны в первом сообщении) и обновлении любого раздела, подкаст должен обновить свои скрипты (срабатывает не чаще раз в пол часа).
По-идее.

Sony Bravia KDL-32CX523

108

Re: Tree.TV (2017.04.19)

WendyH пишет:

А тот старый, который с оф. сайта не обновился сам? Или операционка Windows XP?
При обновлении исходников на github (указаны в первом сообщении) и обновлении любого раздела, подкаст должен обновить свои скрипты (срабатывает не чаще раз в пол часа).
По-идее.

Старый, который с оф. сайта после обновления подкастов работает.

LG 42LA660V-ZA

109

Re: Tree.TV (2017.04.19)

Не знал, что скрипт обновляется!!! Это отлично,может послужит подкаст,хоть я им не пользуюсь!!!

"Хорошо написанная программа — это программа, написанная 2 раза" :-X
Спасибо сказали: Hunter, Dr.Dru2

110

Re: Tree.TV (2017.04.19)

treetv.php опять не работает

111

Re: Tree.TV (2017.04.19)

Починил. У кого была последняя версия подкаста, достаточно обновить раздел "Новинки".
И для кучи обновил сам подкаст на оф. форуме.

Sony Bravia KDL-32CX523
Спасибо сказали: lidars, bigmanalexey, efim_brest, Slav674

112 (2017.03.19 22:44:12 отредактировано BroFox)

Re: Tree.TV (2017.04.19)

Здравствуйте. У меня начались проблемы с последними версиями подкаста. По моему, начиная с версии, выложенной в 2017.02.11. Проигрывание идет без проблем, но через 15-20 секунд картинка зависает вместе со звуком. Также иногда наблюдается мгновенное переключение на следующий трек в самом начале. Проигрыватель Phillips Blue Ray. Раньше все работало без нареканий. Есть подозрения на провайдера. Возможны ли с его стороны какие-то пакости?

113

Re: Tree.TV (2017.04.19)

BroFox, да это, скорее всего, из-за самого tree.tv. Они там меняют с недавних пор всё что-то. Теперь для того, чтобы тянуть поток с их сервера, приходится указывать дополнительные http заголовки, из-за чего приходится использовать именно hmsmpeg с указанными параметрами в его командной строке. Поэтому всё идёт обязательно через транскодирование.

А вообще на каждом фильме так или просто периодически? Как часто? Запустите тестовое транскодирование, посмотрите как скорость идёт. Можно понизить качество через ключи и проверить снова (может их сервер до вас не отдаёт с нужной скоростью).

Sony Bravia KDL-32CX523

114

Re: Tree.TV (2017.04.19)

Что-то опять перестал работать.

LG 42LA660V-ZA

115

Re: Tree.TV (2017.04.19)

slav67 пишет:

Что-то опять перестал работать.

А на самом сайте показывает? А то что-то пока не смог увидеть.

Sony Bravia KDL-32CX523

116

Re: Tree.TV (2017.04.19)

WendyH пишет:

А на самом сайте показывает? А то что-то пока не смог увидеть.

На сайте идет

LG 42LA660V-ZA

117

Re: Tree.TV (2017.04.19)

Да они серьёзные ребята. Видимо, занесли мой fingerprint (отпечаток устройства) в черный список и блокируют его. Хе хе хе... А т.к. этот отпечаток взят с моего компа и использовался в подкасте и скриптах, то теперь у меня даже на сайте не показывает.
В общем, меняем перчатки и смотрим дальше. Скрипты я обновил.
Чтобы заработал подкаст, нужно обновить раздел "Новинки" (подкаст сам обновится).

Sony Bravia KDL-32CX523

118

Re: Tree.TV (2017.04.19)

WendyH пишет:

Да они серьёзные ребята. Видимо, занесли мой fingerprint (отпечаток устройства) в черный список и блокируют его. Хе хе хе... А т.к. этот отпечаток взят с моего компа и использовался в подкасте и скриптах, то теперь у меня даже на сайте не показывает.
В общем, меняем перчатки и смотрим дальше. Скрипты я обновил.
Чтобы заработал подкаст, нужно обновить раздел "Новинки" (подкаст сам обновится).

Заработало. Только теперь не работает Поиск. Возможно как-то подправить?

LG 42LA660V-ZA

119

Re: Tree.TV (2017.04.19)

slav67 пишет:

Заработало. Только теперь не работает Поиск. Возможно как-то подправить?

Ничего не ищет или что-то конкретное не может найти? Или подсказки не работают при наборе букв?
Мельком проверил, добавил вручную в папку поиск подкаст с названием "Война" - вроде нашёл.
Хотя проверил подсказки - да, при наборе букв не работают. Починил.
Обновил подкаст тут.

Sony Bravia KDL-32CX523
Спасибо сказали: Slav67, lidars2

120

Re: Tree.TV (2017.04.19)

WendyH пишет:

Ничего не ищет или что-то конкретное не может найти? Или подсказки не работают при наборе букв?
Мельком проверил, добавил вручную в папку поиск подкаст с названием "Война" - вроде нашёл.
Хотя проверил подсказки - да, при наборе букв не работают. Починил.
Обновил подкаст тут.

Сейчас ищет. Утром проверю транскодирование, напишу. (Вот же жлобский ресурс... *WALL* )

LG 42LA660V-ZA