подвеска с кодом spotify
Как спрятать мусор в базе Spotify и превратить это в квест
Введение
Одной бессонной ночью мы с приятелем разговорились о Spotify-кодах.
Это такие картинки, которые можно отсканировать приложением и попасть на нужный трек/альбом/плейлист. Придуманы они, чтобы люди могли делиться музыкой в социальных сетях или в оффлайне.
Пример. Такая грусть у меня играет прямо сейчас.
Мы решили разобраться, как же Spotify кодирует в них ссылки.
Как работают коды?
Выяснилось, что помимо меню «Поделиться» в приложении, есть официальный сайт Spotify Codes, который генерирует такие коды.
Прекрасно! Динамическая ссылка, которая принимает на вход ID трека и возвращает изображение с баркодом — самое то для наших экспериментов.
Очень удобно, что генератор может рисовать коды и в SVG. Это позволило без головной боли понять, что столбики бывают восьми разных высот.
Числа в поле height — высоты столбиков
Первый и последний столбик всегда минимального размера, так что он, видимо, используется для ориентирования при сканировании, как и логотип Spotify, который на картинке всегда слева. Без них ничего не работает.
Важные данные выделены красным
Получив число 556205622371746371156, приложение превращает его в 58992959842 с помощью таблицы Грея. Именно это делает распознаванием таким быстрым и устойчивым к ошибкам. Как узнали? К этому моменту мы уже набрели на патент Spotify, описывающий принцип работы таких кодов.
Остался последний вопрос: как же приложение превращает лаконичное 58992959842 в spotify:track:5jxN9knH0vlfpN2Ft7a5xi?
Очевидно, такое число не может вместить в себя все комбинации длинного цифро-буквенного ID, а значит никакого алгоритма нет и соответствие между кодом и ID трека хранится где-то в базе.
Сработало. Печально, а ведь было интересно научиться кодировать/раскодировать такие картинки полностью самостоятельно.
Решила проверить обмен приложения с сервером в момент распознавания и догадка подтвердилась:
На сервер уходит 58992959842, а возвращается трек 5jxN9knH0vlfpN2Ft7a5xi
Скука: дальше всё происходит за ширмой бэкенда. Расходимся?
Оченьдлинныймусор
Стоп, что? Генератор сделал картинку для оченьдлинногомусора?
Вероятно, он не проверяет реальность входных данных и бережно складывает наш мусор в базу, присваивая ему 11-значный числовой ID.
Картинка с мусором из примера выше
А что будет, если считать такой код приложением?
Будет ошибка
Это ожидаемая реакция. Наверное, сервер уже проверил и инвалидировал некорректный код. Интересно посмотреть, как выглядит такая ошибка, поэтому загляну в трафик ещё раз:
Эм, что?
Великолепно. Spotify складывает в базу всё, что мы укажем в запросе к генератору, хранит это там, а при сканировании отдаёт обратно в первозданном виде, никак не валидируя.
Идея сделать из этого квест для любителей реверс-инжиниринга возникла уже где-то здесь, но он получился бы слишком скучным: ошибка при сканировании сразу наводила на мысли.
Всё лучше под музыку
Чтобы всё было аккуратно, нужно заставить приложение играть музыку, несмотря на чужеродные данные в ID трека.
Я уже собралась реверсить обфусцированный код Android-приложения, чтобы узнать, как работает парсер, но приятель предложил попробовать разделять музыкальный ID и нашу полезную нагрузку знаком вопроса. Идея сработала, но знак пришлось дважды пропустить через urlencode. Например, spotify:track:2ctvdKmETyOzPb2GiJJT53%253Fhi,habr!, выглядит вот так:
Код с двойным дном
Такой код приложение считает как положено и включит песню, а посмотрев в трафик можно достать спрятанные данные, что и стало корнем моего квеста. Для удобства можно закодировать данные в Base64, влезет в URL их немало.
Выводы
Почему Spotify позволяет хранить в базе мусор? Вероятно, потому что генерацией и распознаванием кодов занимается отдельный микросервис, который должен отвечать моментально. Проверка на существование трека потребовала бы обращения к основному бэкенду, а это ресурсоёмкая задача.
Навредит ли это Spotify? Теоретически эта особенность позволяет заполнить таблицу соответствий кодов и исчерпать всю ёмкость, сломав генерацию картинок для настоящих треков, но на практике это займёт очень много времени. Я посчитала.
Полезно ли это на практике? Не знаю, как это использовать. Можете прятать номера телефонов любовниц в кодах с Егором Летовым и обклеивать ими стены, тогда ваша законная женщина покинет вас, сочтя сумасшедшим, будете свободны. Только имейте в виду, что запрос к API для считывания кода, к сожалению, требует авторизационный токен Spotify-аккаунта, в отличие от запроса для генерации картинки.
Оригинальный квест был здесь, послание было в Base64. Кто-то прошёл его за 42 минуты. На большее я не рассчитывала: имеющие привычку лезть в трафик приложений догадались бы сразу.
Помогал думать, предполагал хранение кодов в базе и решил добавить в ID знак вопроса приятель Эль.
UPD: утром 15 сентября, то есть спустя всего сутки после публикации, Spotify исправил ошибку.
Больше генератор кодов не принимает мусор, теперь работают только подходящие по формату ID.
Это очень обидно, потому что я думала, что им плевать и они сочтут это фичей. Могла бы в Bug Bounty податься 🙁
Как получить премиум-аккаунт Spotify в России за 5 минут
Споры о том, какой музыкальный сервис лучше, никогда не стихнут. Это как война между поклонниками Windows и macOS, как противостояние пользователей iOS и Android.
Если использовать основные стриминговые сервисы в России и близлежащих странах можно без проблем, то со Spotify придется повозиться.
Кому нужен Spotify
Для начала следует понимать, что компания родом из Швеции является первой на рынке музыкальных стримминговых сервисов. За почти десятилетнюю историю создатели Spotify отточили работу своего проекта почти до идеала.
На данный момент существуют клиенты сервиса для всех актуальных мобильных и настольных ОС, а пользовательская аудитория на конец 2017 года превысила 140 млн человек (для сравнения Apple Music может похвастаться лишь 40 миллионами активных слушателей).
Spotyfy любят и ценят за один из самых больших музыкальных каталогов и лучший сервис по подбору похожей музыки. Сам с удовольствием открыл для себя несколько малоизвестных групп и композиций, когда просил воспроизвести похожие записи на треки из моей подборки.
Ложкой дегтя в Spotify является довольно консервативная модель расширения географии. Перед выходом на новый рынок аналитики несколько раз взвешивают все за и против, а лишь потом решают предоставить доступ к сервису в той или иной стране.
Еще в 2014 году ходили слухи о скором появлении Spotify в России, но позже планы руководства компании поменяться и мы снова остались без одного из самых лучших музыкальных стримминговых сервисов.
Какие варианты использования Spotify сейчас доступны
Сервис имеет два вида учетных записей: бесплатную и премиум. Есть еще семейные подписки, но это тема для отдельного разговора.
Первая (бесплатная) позволяет получить доступ ко всему музыкальному каталогу, слушать радио и подборки, искать треки и добавлять их в списки воспроизведения. При этом количество пропусков треков ограничено, пользователь периодически будет слушать рекламу и сможет слушать плейлисты лишь в режиме случайного воспроизведения (Shuffle).
Премиум аккаунт дает такие привилегии:
Вся эта радость доступна для пользователей большинстве стран Северной и Южной Америки, во многих европейских странах, Австралии и некоторых государствах Азии.
Как пользоваться Spotify в России
К сожалению, без «танцев с бубном» в России не подключить ни обычный аккаунт, ни премиальный.
Для начала нужно установить приложение. На Mac, Windows и Android можно без проблем скачать программу вне зависимости от региона. На iPhone делаем так:
Имейте ввиду, что при смене учетных записей отключается медиатека iCloud, что чревато удалением скачанных треков в Apple Music
Простую учетку можно получить при помощи любого VPN-сервиса или PROXY.
1. Запускаем любой клиент VPN или PROXY для «перемещения» в страну с работающим Spotify, например, США.
2. Регистрируемся с указанием реальной почты и фейкового почтового адреса (можно найти в сети).
3. Активируем учетку и слушаем музыку бесплатно.
Кроме упомянутых выше ограничений Free-версии есть еще одна неприятная особенность. Каждые 14 дней приложение будет проситься домой. Для продления срока использования в другой стране нужно снова включать VPN/PROXY и авторизоваться.
Как получить Premium-аккаунт
Несколько лет назад оплатить подписку в США или другом регионе можно было при помощи некоторых отечественных платежных сервисв или банковских карт. Потом лазейку прикрыли и для активации премиум начали требовать привязку местной банковской карты.
Сейчас многие пользователи практикуют регистрацию семейных аккаунтов на несколько человек, один из которых обладает нужной физической или виртуальной картой. Так и получить премиум можно и сэкономить на стоимости сервиса получится.
Чтобы не искать такую «семью» и не зависеть от прихотей других её членов, лучше купить премиум самостоятельно. Сделать это проще и выгоднее не в США, а в другом регионе.
При регистрации американской учетки премиум обойдется в немалые $9.99 ежемесячно. Самыми доступными ценами отличаются Малайзия и Филиппины. В первом случае премиальная учетка обойдется примерно в 180 а во втором – в 270 руб.
Региональные каталоги имеют незначительные отличия, большинство меломанов их не заметят.
Вот, что нужно сделать для прослушивания музыки по приятной цене:
1. Сменить страну в существующем аккаунте на Малайзию или Филиппины. Для этого нужно зайти в настройки учетной записи, выбрать пункт Edit Profile и изменить поле Country.
Просто так нужное государство там не появится. Нужно «переместиться» в регион через VPN/PROXY. Удобнее это делать на компьютере через замену PROXY. Здесь можете найти нужные адреса.
Найти бесплатный VPN с серверами в указанных странах будет сложновато.
2. Перейти на сайт сервиса Seagm и зарегистрироваться. VPN и PROXY уже можно отключать, при регистрации следует указывать текущую страну пребывания для удобства оплаты.
3. На сайте сервиса в поиске ищем Spotify и выбираем карты для нужного региона: Малайзию (MY) или Филиппины (PH).
4. Выбираем срок подписки (один, три или шесть месяцев) и приобретаем карту.
На выбор доступны такие способы оплаты:
Для каждого способа оплаты есть небольшая комиссия. Существует возможность оплатить через WebMoney без комиссии, но операция происходит в ручном режиме, придется совершать платеж на указанные реквизиты и писать в службу поддержки, чтобы они подтвердили факт оплаты, а после выслали код активации.
Лучше не жалеть лишние 20 рублей, чтобы платеж прошел автоматически.
5. Через несколько минут после оплаты в личном кабинете получаем карточку с кодом для активации премиум-подписки.
6. Переходим сюда и активируем полученный код.
Все! Наслаждаемся преимуществами премиум-аккаунта.
Что дальше
К сожалению, карты с кодами в магазине есть не всегда. Если увидите полугодовую на филиппинский аккаунт – сразу же покупайте.
Когда срок подписки будет подходить к концу, просто купить очередной код на сайте Seagm.
Никаких PROXY или VPN больше не потребуется, кроме этого Spotify не будет каждые две недели требовать подключения из родной страны.
10 скрытых функций Spotify, которые должен знать каждый
Spotify уже два месяца доступен в России, и многие пользователи с удовольствием перешли на этот сервис. Неудивительно, учитывая, что в Spotify продвинутые рекомендации и хорошие приложения на всех платформах.
При этом в Spotify есть много мелких и часто незаметных функций. Я вспомнил всё, что узнал о Spotify за почти четыре года использования. Теперь делюсь с вами.
Если я про что-то забыл рассказать, пишите в комментариях. Попробуем собрать самый большой сборник лайфхаков Spotify.
1. Блокировка исполнителей в рекомендациях
Spotify постоянно анализирует ваши действия, чтобы предлагать наиболее подходящую музыку. Иногда в рекомендации попадают исполнители, которых вообще не хочется слушать. Кнопка дизлайка не всегда помогает, ведь в следующей подборке этот артист может оказаться снова, но с другой композицией.
К счастью, в Spotify можно заблокировать исполнителей, чтобы их музыка больше не появлялась в рекомендациях. Делается это просто:
1. Открываете профиль артиста
2. Нажимаете на три точки под фото
3. В меню выбираете Заблокировать этого исполнителя
Чтобы разблокировать артиста, нужно перейти в раздел Моя медиатека → Исполнители и пролистать список до конца.
2. Сортировка плейлистов в десктопной версии
Сохраненные плейлисты в Spotify на Mac и PC сортируются по дате добавления (от новых к старым). В этом нет никакой проблемы, если плейлистов немного. Но если их хотя бы больше 10 штук, то постоянно прокручивать список не очень удобно.
Разработчики предусмотрели это и разрешили вручную перетаскивать плейлисты с помощью удержания левой кнопки мыши.
1. Нажимаем правой кнопкой мыши в области плейлистов
2. Выбираем Создать папку
3. Перетягиваем плейлисты в папки
Все изменения синхронизируются с приложениями Spotify на других платформах.
3. Возвращаем нормальную громкость
Пользователи Apple Music и других сервисов могли заметить, что треки в Spotify играют заметно тише, особенно в наушниках. Дело в том, что Spotify уменьшает максимальную громкость, чтобы все композиции звучали на одном уровне.
Как отключить эту функцию:
1. Открываем Настройки → Воспроизведение
2. Выключаем тумблер рядом с пунктом Включить нормализацию звука
В Apple Music тоже есть такая опция (Настройки → Музыка → Коррекция громкости), но по умолчанию она отключена.
4. Восстанавливаем случайно удаленные плейлисты
Иногда бывают ситуации, когда пользователи случайно удаляют свои плейлисты. Что делать в таком случае? В других сервисах вариант один: создать новый плейлист и добавлять в него треки.
Но разработчики Spotify подумали даже о такой нестандартной ситуации и разрешили восстанавливать удаленные плейлисты.
Перейдите на сайт Spotify под своим аккаунтом и в меню выберите Восстановление плейлистов. Затем найдите нужный плейлист и нажмите кнопку Восстановить.
Функция работает только с собственными плейлистами.
5. Что слушают друзья
В Spotify можно в реальном времени следить за тем, какую музыку слушают друзья. Для этого к аккаунту Spotify надо привязать Facebook. Как это сделать:
1. В правой колонке (если её нет, увеличьте окно приложения) нажмите кнопку Найти друзей
2. В появившемся окне надо нажать на кнопку Привязать аккаунт Facebook
3. Выберите друзей, на которых хотите подписаться
После этого справа будет показываться список друзей и песня, которую они слушают в данный момент или последний проигрываемый трек.
Друзья тоже могут на вас подписаться и следить за вами. Если вы хотите скрыть от них информацию, воспользуйтесь настройками.
На Mac и PC
1. Нажмите на стрелку рядом с профилем
2. Перейдите в Настройки
3. Выключите тумблер рядом с пунктом Показывать, что я слушаю в Spotify
На iPhone
1. Перейдите в Настройки → Приватность
2. Выключите тумблер рядом с пунктом Моя активность
Теперь никто не сможет посмотреть, какие песни вы слушаете. На качество рекомендаций это не влияет.
6. Интеграция с Google Картами
Окно с плеером Spotify можно вывести прямо в Google Карты во время навигации. Делается это следующим образом:
1. Откройте Настройки → Сторонние приложения
2. Нажмите кнопку Подключить рядом с Google Картами. Нужно будет войти в аккаунт Google
3. Откройте Google Карты
4. Нажмите на иконку профиля и перейдите в Настройки → Навигация → Приложение для воспроизведения
5. Выберите Spotify
Теперь в Google Картах можно перелистывать треки Spotify, ставить их на паузу и включать плейлисты.
Жаль, что в Яндекс.Навигаторе и 2ГИС не работает.
7. Плейлист для вашего питомца
Да-да, в Spotify можно создать плейлист для домашнего животного на основе ваших интересов. Для этого надо перейти на специальный сайт Spotify под своим аккаунтом, выбрать питомца и ответить на несколько вопросов.
В случае с кошкой спросят насколько она энергичная и дружелюбная. На обложку плелийста можно добавить фото питомца и его имя в название.
8. Интеграция с Siri
Spotify один из немногих музыкальных сервисов, поддерживающих Siri. Вы можете попросить голосового помощника включить трек или найти артиста в Spotify. Главное, в конце предложения четко сказать В Spotify, иначе Siri откроет Apple Music.
Например, Включи песни Bon Jovi в Spotify или Включи альбом 7 Rings.
Использовать Siri можно только на iPhone. С Apple Watch, HomePod и Mac функция не работает.
9. Горячие клавиши на Mac и PC
Spotify поддерживает горячие клавиши на Mac и PC. С их помощью можно быстро создать плейлист, выбрать все треки, удалить их, перемешать и ещё много чего.
Список основных клавиатурных сочетаний выше. Полный список можно посмотреть на сайте Spotify.
10. Как подружить Spotify и Shazam
Если вы сейчас найдете трек в Shazam, вероятнее всего, он предложит послушать его в Apple Music. Не зря же Apple купила Shazam.
Но вместо Apple Music можно использовать Spotify. Вот как это сделать:
1. Откройте Shazam
2. На вкладке Библиотека нажмите на иконку настроек в левом верхнем углу
3. Нажмите кнопку Подключить рядом со Spotify (появится предупреждение, надо подтвердить действие)
4. Отроется Spotify и окно с соглашением, нажмите кнопку Принимаю
Вернитесь в Shazam. Если все сделали по инструкции, то вместо Apple Music будет использоваться Spotify. Тут же можно включить синхронизацию шазамов со Spotify.
Промокоды Spotify
Лучшие промокоды Spotify
Лучшие скидки Spotify от нашего сообщества
сейчас при переходе к скидке только 4 месяца
А как думаете они потом не выкатят счёт?) Не шлют писем на электронную почту с призывами оплатить?)
Взял, спасибо. Послушаю 3 месяца и удалю подписку. Так, конечно, на постоянке слушать не буду. Для этого есть бесплатный CoundCloud.
Криво написано, да и в самом предложении не понятно. Почитал полные условия. Суть сводится к тому, что если у тебя ранее был премиум и ты его отменил в любой момент до 30 июля, то можно воспользоваться этим предложением. То есть не должно быть премиум подписки 40 дней и более, на момент публикации этой скидки.
Что-то не понял в заголовке одни условия, в описании другие
Можно то можно, но от этого оно не станет высоким, а будет таким же урезанным, это уже давным давно все знают, кто сидит в теме на пда.
Капец. Человек любит слушать музыку, но не ценит труд музыкантов. Некоторые из-них только на стриминге и гост.продакшне зарабатывают, а вы зажали 50 рублей на подписку. Можно легко собрать «семью» и платить копейки, при этом своими стримами пождерживать исполнителя. (annoyed)
Качество-то всё равно урезанное, как у бесплатного акка, на любых модах.
Совпадение? (skeptical) Это как было с 50 баллов в фикспрайсе после выхода видоса о сабже на канале «Все работы хороши» XD
На старый аккаунт НЕ работает, если хоть раз был активный премиум. Печаль.
Я сейчас на Сбере пока) А что там почем?
Создаю такую семейку ))
Теперь все так делают. А то взяли моду отключать. Ишь ты.
Пожалуйста помогите в лс подключить спотифай US 🙏
Deezer немного другое, чем Spotify) Но если о нем говорить, то кроссплатформы также не будет, flac тоже врядли
Есть Deezer, официальное приложение. А есть freezer. Входить по акку Deezer, можно слушать и скачивать в любом качестве. Кстати кроссплатформа
И не надо тут картинки такие постить, нас не проведешь)
Оооо 159укрф пошла одмен пепера это однозначно бан сразу по железу аффтору
Ищи лохов, в найке уже развели теперь мы умные, не поведемся)))
Вы можете, а тот, кто создал и пригласил, в течение года не может создать повторно «семью»
Скорее всего анализируются геоданные, собираемые программой, и затем сопоставляются с остальными членами одной подписки. В YouTube Premium это так работает. На форуме читал случаи, когда родственники переезжали в другой город и через несколько месяцев подписку аннулировали.
Я прочитал, но до конца всё равно не понял в чём смысл этого ограничения. Если я сейчас нахожусь в семье, но хочу выйти и создать свою, смогу ли я это сделать? То есть у меня после создания семьи есть 5 приглашений на год?
А про какое приглашение раз в год идёт речь?
eBay., 300р годовой аккаунт
Можешь в личку написать. У меня просьба есть к тебе.
теперь не советую это делать, меня неделю назад за это забанили навсегда. пришлось создавать новый акк и покупать место в филиппинской семье за 130р в месяц. если надо, то могу скинуть ссылку
Подскажите, как этом одно сделать?) Буду, очень благодарен вам.
Полностью согласен. Забавно, дети с дуру пишут) «упёрлись в ти*ьки» и думают, что правы)).
Вроде в этом году собирались
А как скачать спотифай на айфон который в рф?
Заплачу 500 рублей, кто зарегится! Никак не пойму как зарегестрироваться самому
Даааа беда, а русский то Конрад?
Я в основном слушаю металкор, грув-метал, индастриал, чуть реже d’n’b, electronic rock и в таком духе. Иногда могу послушать Noize MC или Хаски под настроение, но в целом мои вкусы понятны и Spotify их угадывает. А вот Яндекс Музыка мне умудрялась подсовывать в персонализированных плейлистах какую-то российскую попсу, которую я как-то не очень или что-нибудь из классического рока, что я в принципе слушаю, но все таки это немножко дальше от того, что я слушаю обычно. Дизер не пробовал
У дизера мне не понравились рекомендации. На мой вкус самые точные у я музыки. Но споти удобнее и больше исполнителей
Deezer лучше. У Дизера чумовая реализация системы рекомендаций. Но, правда, Боже упаси лайкать музыку, они сразу ломаются и не удивляют больше,если лайков мало. У Дизера есть нативные клиенты, если это важно. У Дизера внятная организация библиотеки. У Дизера есть отсутствие геморроя с оплатой, есть бесплатный тариф, есть и тариф всего за 320 (если не путаю) рублей с возможностью слушать lossress-музыку без сжатия (flac). Яндекс Музыка тоже подтянулась сильно, всё зависит от того, как давно ты слушал. Как-то однажды она начала удивлять своими рекомендациями. И это точно не из-за количества прослушанного, пользуюсь пару-тройку лет, но скачок был не так давно. Я даже устроил битву за кошелёк, но окончилось ничьей. Хотя спотифая там не было, зачем геморрой, если есть нормальные сервисы, которые не игнорят Русь-матушку годами.