Расширения для браузера, если он построен на программном движке Chromium, – это целый мир средств и приятных мелочей, которые могут упростить жизнь пользователя, сделать ее комфортнее. Расширения могут убрать языковой барьер, выдавать меню для дополнительных действий, вставлять расписание, будильники и многое другое, что в итоге превращает браузер в некую специализированную операционную систему. Но все это не будет работать в фирменном приложении Chrome, потому что компания Google просто этого не хочет. Также на днях мне на глаза попалась неплохая статья по этой теме, привожу ее в полном виде, а потом предлагаю обсудить.
Оригинальная статья Джерри Хильденбранда (androidcentral)
Почти все пользователи смартфонов используют Google Chrome в качестве основного веб-браузера. Да, я знаю много людей, которые этого не делают, и я сам время от времени использовал разные браузеры, но суть остается неизменной: Chrome – ведущий в мире браузер как для настольных, так и для мобильных устройств, что делает его самым распространенным веб-браузером для Android.
Основная причина такого положения вещей заключается в том, что он установлен по умолчанию. Если вы решите купить самый лучший Android-смартфон, то после первого включения вы увидите значок Chrome в центре рабочего стола. Вы сразу понимаете, что маленький разноцветный шарик предназначен для просмотра веб-страниц. Но верно и то, что Chrome сам по себе является достойным веб-браузером и имеет хороший набор функций, среди которых те, которые отвечают за безопасность данных, – одни из лучших в отрасли. (Помните, что между безопасностью и конфиденциальностью есть разница, так что не «хейтите» меня!)
Однако у многих людей, в том числе и у меня, есть одна большая проблема, когда дело доходит до Chrome в Android, — это отсутствие поддержки расширений. Есть множество других браузеров, даже построенных на исходном коде Chromium, которые поддерживают расширения, так почему же Chrome не может? Поддержка Google не поможет, потому что, если вы ее спросите, вы получите тот же ответ, который команда Chrome поместила в FAQ для разработчиков :
Приложения и расширения Chrome в настоящее время не поддерживаются в Chrome для Android. Мы не планируем анонсировать поддержку расширений в дальнейшем.
Это бесполезная информация. Мы знаем, что они не поддерживаются, но мы хотели бы знать, почему они не поддерживаются.
Программное обеспечение для блокировки рекламы в Chrome не повредит бизнесу Google в мобильных устройствах. Это может затруднить жизнь отдельным веб-сайтам, которые зависят от доходов от рекламы, но Android — это экосистема, управляемая приложениями. Google может собрать более чем достаточно данных о вас и ваших привычках с помощью всех приложений, которые вы используете, поэтому отсутствие дополнительных данных через Chrome, на самом деле, не сильно повлияет на бизнес Google.
Правила разрешений и доступа к файлам Android немного запутанны, но это не значит, что нет безопасного способа включить поддержку расширений браузера. Это всего лишь означает, что есть два способа сделать это – правильный и неправильный. Большинство веб-браузеров, которые включают расширения, вероятно, делают это неправильно. Я говорю «вероятно», потому что не так много документации о частных API-интерфейсах, которые могут использоваться расширениями, или о том, как модель разрешений для расширений вписывается в общие разрешения операционной системы Android. Однако одна компания делает это правильно и находит время, чтобы все полностью задокументировать, и это Mozilla.
Firefox для Android – это не лучший браузер. Ненавижу говорить это так же, как многие из вас ненавидят это слышать, но это правда. Firefox использует свой собственный движок рендеринга, поэтому отображение веб-сайта может быть немного «шатким», приложение может работать медленно, а его настройки так же запутаны, как и настройки Chrome. Но Firefox действительно включает расширения безопасно и продуманно.
Расширение браузера не может воздействовать на операционную систему так же, как и сам браузер. Для браузеров используется та же модель разрешений ОС Android, что и для игр. Если вы откажете Firefox в доступе к вашим файлам и папкам, то расширение, предназначенное для поиска и сохранения мемов, не будет работать, потому что оно не может получить доступ ни к чему, кроме папок личных данных Firefox, которые не может прочитать ни одно другое приложение. Это все равно что запереть ящик с чем-то важным, а затем выбросить ключ в океан.
Удивительно, но браузер Chrome, будучи системным, все равно запрашивает довольно широкий спектр разрешений после первого включения. У него есть полные права администратора (глядя на вас, интернет-браузер Samsung), поэтому, теоретически, легальное расширение (из магазина Chrome), которое остается в этих границах, сможет работать так, как должно.
Тем не менее, в сторонних браузерах расширения прекрасно работают, особенно те из них, которые всего лишь изменяют настройки самого браузера (например, блокировщики рекламы, которые действительно нужны всем). Для решения своих задач указанные выше расширения используют частные API браузера – правила и инструкции, которые браузер и только браузер должен поддерживать всегда и везде. И это пример «неправильного использования расширений», о которых я писал вше.
Этим и отличается Firefox. Mozilla имеет свою собственную программу рекомендованных расширений, которые, по мнению компании, заслуживают вашего внимания. Часть требований, которые должны быть выполнены для попадания в список рекомендуемых для Firefox, заключаются в том, что ваше расширение не должно пытаться делать что-либо сомнительное и обязано работать в точности так, как указано в описании. Увидеть исходный код расширения браузера несложно, поэтому проверка на наличие вредоносного намерения также очень проста.
Не все расширения в этой программе будут работать с Firefox для Android, потому что не все Firefox API включены в Firefox для Android. В Chrome то же самое – кодовая база для Chrome на Mac, ПК с Windows или смартфоне одинакова, но в зависимости от того, для какого вида устройств оно было создано, конечный продукт может немного отличаться.
Что делает Mozilla, так это позволяет пользователям устанавливать совместимые расширения, которые входят в ее рекомендуемый список. Пользователь может быть уверен, что эти расширения работают так, как указано в описании, и им можно доверять. Возможно, в других браузерах есть аналогичный способ контроля над расширениями, но Mozilla позволяет очень легко найти документацию о том, как все это работает. Я не говорю, что Brave — это плохо или «Яндекс» — это плохо. Я говорю, что Firefox дает мне информацию, чтобы я знал, как все это работает.
Нет причин, по которым Chrome для Android не может работать так же. Фактически это должно работать так же, если Google действительно заботится о безопасности браузера, то он должен предоставить пользователям Chrome доступ к безопасным расширениям. Это отвлечет пользователей от продуктов, которые могут быть не такими безопасными, как Chrome. Это более чем решаемо, и мы видим отличный пример работы Firefox Mozilla.
Вместо этого Google делает все возможное, чтобы расширения не работали на мобильных устройствах. Это написано прямо в make-файле браузера Google Chrome (Linux-часть программного кода приложения):
declare_args()
enable_extensions = !is_android && !is_ios && !is_fuchsia
Это означает включение расширений, кроме случаев, когда целью является Android, iOS или Fuchsia. И поэтому никаких расширений в Chrome для следующей операционной системы Google тоже не будет. Разработчик, создающий веб-браузер на основе Chromium для Android, должен найти этот фрагмент кода и изменить его, прежде чем создавать приложение, если он хочет включить поддержку расширений на любом уровне.
Теперь, когда мы видим, что можно безопасно включить поддержку расширений для Chrome на мобильных устройствах, мы возвращаемся к вопросу, почему Google этого не делает. Мы, вероятно, никогда не узнаем настоящего ответа на этот вопрос.
Мнение
Большинство более-менее продвинутых пользователей давно уже решили проблему рекламных баннеров, которые постоянно и назойливо лезут в глаза, вызывая только негатив (хорошо, что это не про Mobile-Review). Для кого-то таким решением стало использование браузера Opera или Kiwi с расширениями, другие смогли рутировать свой смартфон и воспользоваться ныне официально запрещенными приложениями, третьим хватает «лайт-режима», который заключается в прописывании собственного DNS. Последний способ работает только для сторонних приложений (на системном Google Chrome может не сработать), но очень прост, необходимо пройти в Настройки > Беспроводные сети > Частный DNS > Настройка частного DNS > и прописать dns.adguard.com (проверено на Huawei P30). В этом случае установка самого приложения AdGuard не требуется, но и реклама убирается не вся.
В своей статье Джерри Хильденбранд делает упор на то, что нет решительно никаких причин для отсутствия поддержки расширений в Google Chrome. Но все ли причины он указал? Не является ли еще одной причиной то, что расширение, которое не ориентировано на мобильный интерфейс, может просто-напросто сломать отображение сайта? Или бесконтрольно для Google показывать уже свою рекламу, что чревато потерей монополии? Не в этом ли кроется основная причина?
И тем острее встает старинный вопрос «почему я должен покупать телефон с рекламой от Google и не могу купить телефон без рекламы от Google?». И теперь этот вопрос встает уже в западной части мира, о чем и свидетельствует само наличие статьи Джерри. Пользователи не хотят, чтобы им навязывали дополнительные услуги, а аргументы Google, которые звучат в итоге как «мы не сможем делать Android, если не будем навязывать вам рекламу», являются примером адской инфернальной софистики, вызванной жаждой наживы. И только.
Друзья, расскажите, какие расширения вы используете, и как боретесь с рекламой. Или уже сдались и перешли на платную подписку на все и вся?
kiwi browser +софт для выкачки видео/аудио отдельно. или надо еще root(а у меня его нет, хуавей поновее на своих процах).на ios 15 уже safari с расширениями. хаха, ть. проклятый дроид с гуглом тянули тянули… и уже конкурент с расширеними. у тех всё ещё мало оперативки в смартфонах, но и ОС несколько менее жрущая. +чуть не в разы круче SoC внутри смартфонов, вот там уж точно кеша и всего и вся внутри не жалели. проклятые монополии квалков, гугла и тп.
Яндекс браузер+расширение Adguard. Android 12.
Смысл статьи был сделать обзор мобильных браузеров с поддержкой в режиме разработчика сторонних расширений, а автор налил воды по яйца без толку
Че привязались к блокировщикам? Мне например до жо..ы нужно расширение Proxy SwitchiOmega.