Что найдём?

Статьи, заметки и находки из моего блога.

Все статьи

Чистая Яндекс Почта

Надоело искать расширения, плагины и скрипты для Tampermonkey, чтобы просто убрать бесячую рекламу из Яндекс Почты. Открываешь почту посмотреть письма, а там баннер сверху и рекламная колонка справа. Очень нужные вещи, конечно.

При этом я плачу за Яндекс Плюс. Могли бы уж и не показывать мне рекламу в собственной почте.

Демонстрация Яндекс Почты без верхнего баннера и правой рекламной колонки
Почта без рекламы. Демонстрационный пример с вымышленными письмами.

В какой-то момент решил: хватит искать, напишу своё. Благо сейчас с Claude или Codex такую небольшую штуку можно сделать без знания JavaScript и примерно за полчаса. В этот раз делал с Codex.

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

Ну вот и первая доработка.

В 1.0.1 расширили список правил: добавили варианты верхнего баннера с DirectLine в названии класса, старый блок b-direct-stripe и ещё одну рекламную обёртку над списком писем. Первая идея была простой: знаем, как называется рекламный блок, — скрываем его стилями. Но для оставшегося баннера известных названий не хватило.

Пришлось открыть «Просмотреть код» и скопировать HTML именно этого блока. Там оказались имена классов вроде zIy6aAIirund3Tg-portal. Очень удобно, спасибо. Просто вписать такое название в правило — решение до следующей смены имени.

В 1.0.2 добавили небольшой JavaScript, который узнаёт рекламную обёртку по её устройству и техническим атрибутам. В частности, внутри есть атрибут с началом data-r-i-, связанный с ID контейнера. Конкретные случайные имена больше не нужно прописывать вручную. Заодно предусмотрели повторное появление блоков при изменении страницы и снятие скрытия, если контейнер переиспользовали под другое содержимое.

То есть сначала не хватило правил для разных вариантов рекламы, а потом выяснилось, что один только список CSS-селекторов мой баннер не ловит. Скриншот помог показать проблему, кусок HTML — разобраться с ней. Проверку на присланной разметке версия 1.0.2 уже прошла.

Получилась «Чистая Яндекс Почта». Небольшое расширение для настольной веб-версии почты: скрывает верхний баннер и правую рекламную колонку, освобождая место под письма. Тексты писем не извлекает, данные никуда не отправляет, аналитики нет. Подробности есть в политике конфиденциальности.

Это именно скрытие рекламных блоков на странице: загрузку рекламных ресурсов самой почтой расширение не блокирует. Если Яндекс поменяет разметку, возможно, придётся снова поправить правила (если такое случится — напиши в ФОС, мы с Кодексом поправим).

Дальше уже отдельно занялся оформлением: значок, скриншот для магазина, политика конфиденциальности, страница проекта. Со значком получилась версия 1.0.3, которая теперь доступна в Chrome Web Store. На странице проекта есть описание и инструкция для Vivaldi и Chrome, а ZIP оставил для ручной установки.

Полчаса — это про само расширение с доработками под мой баннер. С оформлением и публикацией возни получилось больше. Но всё равно мне нравится, что такую мелкую раздражающую вещь теперь можно взять и починить под себя: описать задачу обычными словами, проверить результат и показать, что осталось доделать.

Теперь у меня есть своё расширение для почты. Если реклама останется или исчезнет что-нибудь лишнее — напишите, посмотрим.