{"id":14274,"url":"\/distributions\/14274\/click?bit=1&hash=fadd1ae2f2e07e0dfe00a9cff0f1f56eecf48fb8ab0df0b0bfa4004b70b3f9e6","title":"\u0427\u0435\u043c \u043c\u0443\u0440\u0430\u0432\u044c\u0438\u043d\u044b\u0435 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"6fbf3884-3bcf-55d2-978b-295966d75ee2"}

Я взломал и доработал Яндекс.Станцию

На Яндекс.Станции неудобно смотреть YouTube. Нет рекомендаций, подписок и даже поиск нормально не работает. Поэтому я написал телеграмм бота для отправки на неё любого видео.

Пример работы

С чего все началось?

Я инженер. Постоянно изучаю, как работают разные технологии и вещи вокруг, а также делаю много интересных проектов сам. Когда друзья подарили мне Яндекс.Станцию, я зареверсил протокол активации и развил идею передачи данных, ориентированной на wow-эффект.

У меня глупый (не smart) телевизор, а в качестве основной медиа приставки я использую Станцию. Все отлично, да только YouTube смотреть на ней совсем неудобно. Нельзя войти в аккаунт Ютуба, а значит, никаких рекомендаций и подписок. Кроме того, поиск по видео в Станции, как я понял, осуществляется через Яндекс.Видео. К сожалению такая схема не очень хорошо работает. Иногда не находятся видео даже если дословно произнести название, а новые видео вообще нельзя посмотреть, пока поисковик Яндекса их не проиндексирует.

Я почти смирился с тем, что YouTube на Станции смотреть нельзя, но все изменилось пару недель назад.

Что же произошло?

В субботу утром я решил посмотреть последний сезон «Кремниевой долины». Зашел на «Кинопоиск» и увидел следующее:

После клика по кнопке видео улетело на Яндекс.Станцию и воспроизвелось дальше там. Прямо как ChromeCast или AirPlay. Восторг! Но я обрадовался не самому функционалу, а потенциальной возможности отправить любое видео на станцию.

Я и думать забыл про сериал — на все выходные ушел в реверс инжиниринг и разработку.

Взлом

Ну как "взлом". Я просто посмотрел, как работает отправка команды с сайта на станцию. Технические подробности, как всегда на Хабре. А тут вкратце.

Я посмотрел, какие запросы улетают на сервер при нажатии на эту кнопку. Понял, что их можно повторить, изменив ссылку на ролик, а Станция его воспроизведет.

В результате получилась программа, которая может отправить ссылку с видео на Станцию. Но это ещё должно быть удобно!

Интерфейс

Сначала я думал сделать расширение для Хрома, чтобы было совсем, как AirPlay, но потом понял, что удобнее управлять будет с мобильного телефона. Поэтому выбор пал на телеграм-бота.

Ему можно просто отправить ссылку на видео, а ботинки запустить программу, отправляющую ее на Станцию.

Что в итоге?

Сейчас у меня есть бот, через которого мы отправляем видео с Ютуба на Станцию. Просто нажимаем «Поделиться» в приложении YouTube и отправляем ссылку Боту. Кстати, я назвал его «Ящик» и сделал логотип)

Я не стал делать его публичным, чтобы не собирать логины и пароли. Но вы можете развернуть такого же для себя или доработать для OAuth авторизации или отправки видео с других сайтов. Все исходники доступны на GitHub.

А вот, как работает бот сейчас:

Заключение

Когда инженеру нахватает функционала, он доделывает его сам. Мы теперь действительно регулярно пользуемся этим ботом — очень удобно)

Разработчики Яндекса, пожалуйста не ломайте этот запрос. Это не уязвимость. Работает только с аутентификацией. А если есть возможность — сделайте API устройств публичным — столько всего можно еще создать!

Спасибо, что читаете мои статьи! Скоро я напишу про сервис, который делал почти каждый вечер последние несколько месяцев.

Надеюсь, вам было интересно.

Успехов!

0
10 комментариев
Написать комментарий...
Треугольный Илья

Понимаю, что это не самое подходящее место для оффтоп-обсуждения, но вот такой прикол я поймал в вашей игре :)

Ответить
Развернуть ветку
Треугольный Илья

Блин, Сергей, “I win”😂😂👍🏽

Ответить
Развернуть ветку
Сергей Крупник
Автор

Круто! Как вам механика?

Ответить
Развернуть ветку
Треугольный Илья

Ну, как я понял, суть игры в том, чтобы вырастить более крупный шар по сравнению с имеющимися npc. Сделать это можно путём поглощения меньших по размеру. Причём их ещё надо «притянуть» к себе, а дефолтные параметры гравитации всё усложняют (так оно и интереснее). В плане механики мне понравилась штука, когда ты делаешь всё, чтобы притянуть к себе меньшую по объёму сферу, и ты думаешь «ага щас я её заберу в себя», то какие-то 1-2 мм всё решают (+гравитация), и ты можешь остаться на «стыковке». Но следующий выстрел может решить эту проблему и эта сфера будет поглощена.

Механика, если честно, лютая - я офигел от способа передвижения: мало того, чтобы передвигаться в одно направление, надо стрелять в противоположное; так ещё и если не будешь экономить выстрелы, рискуешь растратить свои ресурсы. Это усложняет, но это и заставляет вникать и думать типа «хмм.. надо сейчас аккуратнее до сфер добираться, а то можно и обнулиться». В общем, сложно, интересно и весьма необычно. По крайней мере доя меня необычно :)

Ответить
Развернуть ветку
Сергей Крупник
Автор

Ого! Спасибо за такой подробный отзыв! 

Честно говоря, я немного позабросил этот проект, но вы вдохновляете меня снова вернуться к нему. Здорово, что вы сами разобрались в управлении)

Я планировал сделать что-то вроде agar.io только с механикой из игры osmos (https://www.youtube.com/watch?v=jrzhlTn1_ds). В планах были туториал, кампания и мультиплеер. А еще полноценный дизайн и таблица рекордов.

Не знаю, стоит ли доделывать эту игру. Проектов так много, а времени почти нет) Вот, последние пару месяцев сосредоточен на сервисе поиска горнолыжных инструкторов в Красной поляне: https://getcoach.ru

Ответить
Развернуть ветку
Треугольный Илья

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

Вы хотите прикрутить более сложную графику, как я понял. Я на самом деле не вот дофига эксперт, я и то ради интереса на ваш гит зашёл (и не пожалел). Вспомнил время когда учился кодить на Swift на YouTube и сделал простенькую абстрактную игрушку на spritekit. Это был 2015 год. Сегодня я вижу ваш инди-проект и я подофигел, что с шариками можно так. Я не говорю, что вам нужно все силы бросить на эту игрушку, если она в стадии доделывания, то why not. Тем более, вы до стадии доделывания прошли путь из точки А в точку Б. Если у этой штуки ещё и мультиплеер есть и продуманные сюжетные истории + scores, то так это бомба. Не могу сказать, что игра выстрелит в массах, да и первую аудиторию не всегда легко найти, но инди-игры сейчас любят, тем более на стим не у всех деньги есть. Чисто моё мнение...

А на Getcoach контент где берёте? Мониторите предложения и заносите их на проект? Вроде многие агрегаторы так делают.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Никита Селенчук

Есть вопрос, я купил ястанцию на авито, запечатаную. И кто бы знал, что я так сильно лоханулся. Она оказалась по подписке. Соответственно продавец на связь ее выходит, есть ли какой то вариант ее перепрошить?

Ответить
Развернуть ветку
Сергей Крупник
Автор

Можно просто сбросить до заводских настроек https://yandex.ru/support/station/settings/reset.html

Ответить
Развернуть ветку
Mark Rezorro

Нет, вы ничего не можете с ней сделать, это кирпич. Всё туториалы по сбросу и превращению ее в блютус колонку уже не актуальны, потому что в Яндексе позаботились об этом в последних прошивках. Вы можете ее продать на Авито на запчасти за пару к и всё

Ответить
Развернуть ветку
Mark Rezorro

В станции по умолчанию есть функционал отправлять видео с ютуба на тв))

Ответить
Развернуть ветку
7 комментариев
Раскрывать всегда