This page looks best with JavaScript enabled

Yandex cookies и Firefox

 ·  ☕ 4 min read

История неуспеха

Yandex в рунете что-то вроде Карабаса-Барабаса.

  • К кому идти на поклон за почтой? - К Яндексу
  • К кому идти на поклон за облаком? - К Яндексу (крайне хреновая идея, к слову)
  • К кому идти за рекламой? - В директ
  • Как вызвать такси? - в Go
  • Где заказать пиццу? - В Еде
  • Где посмотреть сериалы? - В kino.pub Кинопоиске

Ну вы поняли…

Короче говоря, на фоне практически зачищенной поляны, отвертеться от услуг сей прекрасной конторы практически невозможно. Однако при всем моем уважении к ребятам, которые пилят там разной степени качества продукты лично меня крайне бесит, что при тех деньгах, которые с меня они имеют на примерно трех подписках (“примерно” потому что я понятия не имею сколько их и просто раз N времени с разных карт у меня происходят списания) мне же еще накидывают рекламу и трекеры разной степени сомнительности. Кому интересно - откройте приложение яндекс погоды на Andorid или почту в браузере с открытой консолью. Запросов для отображения рекламы там раза в два больше, чем полезной нагрузки. И, что характерно, отключить ее просто по домену невозможно (домен тот же самый, с которой работает сама почта).

Adblockеры разного рода и калибра не помогают. По крайней мере ни один испробованный мной Adblock не сработал. Посему я решил ознакомиться с первоисточником и узнать что же работает под капотом у Яндекса. Спойлер - Яндекс не сильно распространяется про детали реализации, но одно из ключевых условий работы персонализированной рекламы является простановка cookies. Долго ли коротко ли я решил проверить гипотезу:

Что если для сайта тупо запретить в браузере простановку cookies?

Понятно, что что-то сломается (может быть даже в авторизации), но интересно же? И оказалось, что куки таки действительно важны, а также что яндексоиды таки в курсе таких персонажей как я. При заходе на mail.yandex.ru без наличия cookies сразу происходит 301 редирект
на 360.yandex.ru. Тут конечно прекрасно все, но в первую очередь тот факт, что мне предлагается сразу купить еще одну из бесконечного числа подписок если видят, что я пытаюсь схитрить с куками.
Однако вылезла одна непредвиденная проблемка - firefox в интерфейсе предлагает менять настройки разрешений для сайта только в одном месте - непосредственно на самом сайта в поисковой строке при нажатии на символ замочка. В чем тут проблема? А в том, что меня сразу перекидывает на 360.yandex.ru и я просто не могу включить куки обратно.

Решаем свежесозданные проблемы

Недолгий поиск по интерфейсу показал, что никаких возможностей для возврата настроек конкретного сайта к дефолту не зайдя на этот сайт не существует. Ну нет такого диалогового окна (или я не смог найти его). Однако логика подсказывала, что где-то таки эти настройки хранятся. Или в файле или в базе, но где-то они точно есть. Короче говоря недолгий поиск показал, что Firefox показывает место хранения настроек на диске в about:support. В моем случае в ~/snap/firefox/common/.mozilla/firefox/l8rgt1gd.default. Дальше у нас 2 варианта:

  1. Снести вообще все настройки запустить все заново.
  2. Попробовать поковырять и аккуратно подкорректировать только нужное.

Я выбрал второй вариант, благо выяснилось, что с неймингом ребята из Mozilla не сильно заморчаивались и поместили разрешения для сайтов прямо в базу permissions.sqlite. Да и вообще много чего они хранят в sqlite базах:

$:~/snap/firefox/common/.mozilla/firefox/l8rgt1gd.default$ ls -1 | grep sqlite
bounce-tracking-protection.sqlite
content-prefs.sqlite
cookies.sqlite
cookies.sqlite-wal
domain_to_categories.sqlite
domain_to_categories.sqlite-journal
favicons.sqlite
favicons.sqlite-wal
formhistory.sqlite
permissions.sqlite
places.sqlite
places.sqlite-wal
protections.sqlite
storage.sqlite
storage-sync-v2.sqlite
storage-sync-v2.sqlite-shm
storage-sync-v2.sqlite-wal
webappsstore.sqlite
webappsstore.sqlite-wal

Дальше дело техники:

sudo apt install sqlite3
sqlite3 permissions.sqlite
sqlite> .headers on
sqlite> select * from moz_perms limit 2;
id|origin|type|permission|expireType|expireTime|modificationTime
10|moz-extension://47c531fa-9ea8-4e8b-ab12-c014f884c00b|WebExtensions-unlimitedStorage|1|0|0|1713087579160
11|moz-extension://47c531fa-9ea8-4e8b-ab12-c014f884c00b|persistent-storage|1|0|0|1713087579160
sqlite> select * from moz_perms where origin like "%mail.yandex.ru%";
id|origin|type|permission|expireType|expireTime|modificationTime
2107|https://mail.yandex.ru|storageAccessAPI|1|2|1740490388250|1736602388250
2907|https://mail.yandex.ru|cookie|2|0|0|1736602522372
sqlite> DELETE from moz_perms where id=2907;

Собственно так и решилась моя проблема.

Выводы

Да какие тут выводы? Моя борьба с трекерами и рекламой в отдельно взятом хозяйстве продолжается. Мне очень хочется сказать, что Яндекс контора жадных негодяев и так оно и есть. Однако они являются компанией, который занимается извлечением прибыли из своей деятельности и рынок сейчас позволяет им делать то, что они делают, а значит ругаться тут бесполезно. С другой стороны благодаря их жадности у меня появился повод поковырятся в браузере и его работе.


2k600
WRITTEN BY
2k600
Путевые заметки о всяком и об IT