Как стать автором
Обновить
38
0
Ilya Siamionau @MarshalX

Пользователь

Отправить сообщение

2FA в Telegram не везде, где хотелось бы

Время на прочтение3 мин
Количество просмотров10K
Изначально дополнительная авторизация, выступающая в качестве пароля, служит для защиты от несанкционированного входа в аккаунт, когда SMSка с кодом авторизации была перехвачена или получен физический доступ к SIM-карте.

До недавних пор нигде, кроме как при входе в аккаунт, пароль не запрашивался. Дела изменились тогда, когда добавили возможность передачи канала другому аккаунту, а сегодня и передачу ботов. Мало того, что для трансфера необходимо соответствовать критериям, например, иметь включенную 2FA и просидеть с ней 7 дней, не менять пароль и прочее, дык ещё и повторно ввести пароль при переносе статуса владельца канала. И это замечательно!

Каково было моё удивление, когда я решил сменить мобильный номер на своём основном аккаунте. Следите за действиями: зашёл в настройки, нажал на редактирование, тапнул по номеру, подтвердил намерения, ввёл новый номер, ввёл код, который пришёл SMSской на новый номер, всё…


Всего голосов 15: ↑14 и ↓1+13
Комментарии5

Opener 2020: Самый сок

Время на прочтение15 мин
Количество просмотров4.2K

Введение


На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с вами.

Opener — это ежегодный открытый интеллектуальный конкурс для студентов, аспирантов и магистрантов Республики Беларусь (по крайней мере на призы претендовать могут только они), а участвовать — все, кто захочет. Данный конкурс проходит уже 8 лет. В этом году был добавлен командный зачёт со своими дополнительными задачами.

Призовой фонд конкурса составил 12 Apple Ipad Pro для личного и $4000 для командного зачётов. Наша команда, состоящая из Артура (petuhovskiy), Вячеслава, Игоря (lodthe), Кирилла и меня выиграла 4 Ipad’a.

Мы добрались практически до самого конца конкурса, и я бы хотел показать вам, какие задачи показались нам самыми интересными. Надеюсь, что прочитав ход решения, посмотрев на командную работу в Google таблицах, увидев скриншоты, вы осознаете уровень проработки задач и не сможете не сказать: «Вау!»

В конце статьи вас ждёт задача — попробуйте её решить!


Всего голосов 14: ↑13 и ↓1+12
Комментарии5

«Социальный мониторинг». Счёт 1:0 в нашу пользу

Время на прочтение6 мин
Количество просмотров28K

Введение


Приложение вышло → увидели тихий ужас → начали писать отрицательные отзывы → разобрали по полочкам → приложение удалили (отправили на доработку).

Всем привет, в данной статье, когда всё миновало, я хочу рассказать Вам о двух ключевых стадиях из перечисленных выше.

Что за приложение можно почитать тут.
А про оправдания и отправку на доработку тут.

Под катом мы посмотрим с Вами что же такого увидели в самом начале разбора приложения и пробежимся полностью по интересным моментам из кода. Насладимся дырявостью приложения и ни в какую не будем принимать “посмотрите за какие мы сроки это сделали”.

Предыстория


Для меня началось всё в Telegram канале “IT и COPM”. Далеко не сразу увидел пост с ссылкой на приложение в Play Market’e и apk’шку ниже. Только спустя минут 30, от количества постов в этом канале, я решил почитать. На тот момент ребята уже декомпилировали приложение и активно смотрели куда отправляются данные. Выдернули некоторые эндпоинты, хосты, токен, начали постить скриншоты кусков кода. Приложив apk’шку попросили кого-нибудь опубликовать декомплированный код на GitHub — спустя полтора часа он был выложен. Тут подключился я…
Всего голосов 71: ↑65 и ↓6+59
Комментарии48

Под капотом бота-клиента Яндекс.Музыки

Время на прочтение16 мин
Количество просмотров17K

Введение


Привет, Хабр! Вновь я с уже второй статьей, затрагивающей API Яндекс.Музыки. Дело запланированное и упоминалось в первой статье.

Руки дошли, дело сделано. Сегодня я расскажу об интересных, на мой взгляд, моментах, которые присутствуют в кодовой базе моего Telegram бота, позиционирующего себя как полноценный клиент я.музыки. Ещё мы затронем API для распознавания музыки от Яндекс.

Перед тем, как приступить к попунктному рассказу реализации той или иной вещи, стоило бы иметь представление о самом боте и его функциональных возможностях.

Видеодемонстрация клиента


В основной части я расскажу про следующее:

  1. Авторизация в аккаунт через сайт на GitHub Pages (зачем и почему).
  2. Формат данных, его упаковка и использование в данных для кнопок.
  3. Роутинг апдейтов, версионность данных, прокидывание контекста в обработчики.
  4. Сервисы:
    • Сервис перезаливки трека в Telegram.
    • Сервис «подписок» на получение трека с отправкой статуса о загрузке.
  5. Наипростейшая и элегантная реализация кэширования запросов.
  6. Распознавание трека по голосовому сообщению и как это вообще появилось в боте.
  7. Мелкие заметки.

Если Вас заинтересовал хоть один пункт — добро пожаловать под кат.
Всего голосов 14: ↑13 и ↓1+12
Комментарии11

Как мы слили финал IT-Планеты по программированию

Время на прочтение16 мин
Количество просмотров9.9K
Не мы плохие, а багов много. Разработка искусственного интеллекта для игры “Хоккей” за ~7 часов.

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

Дело в том, что на интересующие нас вопросы мы получали максимум 6 слов, а потом сразу же слышали недовольства о багах, с которыми столкнулись участники. Только один человек написал:
Не хочу писать ничего отрицательного, думаю, это некорректно, да и организаторам самим должно быть грустно. Поэтому скажу, что идея задания достаточно интересная, хотя лично мне не очень нравится такой формат соревнований (Анна Прозорова).

Из заголовка статьи понятно, что мы ничего не выиграли. И да, именно “мы”. За конкурсные дни у меня появилось много хороших знакомых, в том числе и Анна (odrus), являющаяся соавтором данной статьи. Также в последний момент мы разговорились со Львом (zadamantiy) и с его разрешения описали участие в финале.

Лично я являюсь участником движения “A Complaint Free World”, но я перевешу свой браслет на другую руку и буду жаловаться, хоть и в шуточной форме, ведь, с другой стороны, таковы условия конкурса и нужно быть хорошим специалистом, чтобы выиграть в нём и совладать с недочётами! Никаких претензий у нас нет, наоборот — большое спасибо!

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

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


Всего голосов 20: ↑20 и ↓0+20
Комментарии5

Как я библиотеку для сервиса «Яндекс.Музыка» писал

Время на прочтение6 мин
Количество просмотров55K

Введение


Обо мне


Всем привет, я обычный учащийся по специальности "техник-программист". С детства увлекаюсь компьютерами, с класса 7-го начал познавать само программирование. Являюсь владельцем подписки на Яндексу Музыку уже больше года и в целом доволен сервисом (правда сейчас в плейлисте дня сплошные повторы).


Предыстория


Уж не помню точно, из-за чего я решил поискать официальную документацию API данного сервиса, вроде бота хотел для Telegram написать, но столкнулся с тем, что её нет… Спустя некоторое время наткнулся на issue в репозитории yandex/audio-js. Там ребятки задают точно такой же вопрос, как и я: "А где API?". Не многие горят желанием слушать музыку через браузер, они хотят приложение, но приложения под Linux тоже нет! Интегрировать к своему любимому плееру невозможно!


Тут я загорелся идеей сделать это. Естественно, мне нужно как-то работать с сервисом, городить костыли вокруг веб-приложения не вариант. Я понимал, что имея такой сервис, имея мобильные приложения и приложения под Windows (из Microsoft Store) просто невозможно не иметь своё внутреннее API для взаимодействия. Я оказался прав!


Обязательно к прочтению перед основной частью


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

Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии46

Информация

В рейтинге
Не участвует
Откуда
Warszawa, Mazowieckie, Польша
Зарегистрирован
Активность