браузер с открытым исходным кодом для андроид
Браузеры для Android с функцией исследования элемента
Исследование элемента (оно же веб-инспектор) – это полезная функция, которая существует во всех ПК-браузерах и позволяет отлаживать верстку в режиме «Live» без внесения изменений непосредственно в файлы сайта.
Простыми словами – у вас есть сайт, и вы визуально (на своей стороне) можете изменить цвет, например, кнопки или размер шрифта без изменений самого сайта. Помимо этого, вы можете исследовать тот или иной элемент на странице, просмотреть его верстку и ознакомиться с его стилями.
С ПК в принципе все понятно, ведь именно на них идет основная часть всех разработок. Но есть умельцы, кто программирует или создает сайты на смартфонах/планшетах. Казалось бы неким безумием (сами понимаете удобство и возможности смартфонов), но вполне имеет место быть. Признаюсь, я сам на начальном этапе своего обучения пробовал создавать простенькие игры на телефоне с помощью Basic, но сейчас не об этом.
Поискав информацию в Интернете, я нашел несколько браузеров для Android, которые позволяют в некоторой степени исследовать элементы на том или ином сайте, о которых я вкратце и с удовольствием вам расскажу.
HTML/CSS Website Inspector – мощный браузер с веб-инспектором для Android
Многофункциональный браузер, содержащий в себе необходимые инструменты для веб-разработчика.
Отличительными особенностями являются:
Помимо этого, хочется отметить, что на момент написания статьи приложение активно развивалось автором и имело более 1 000 000 установок.
Поддержка Android 4.1+. Интерфейс на английском языке.
Web Inspector (Open Source) – браузер с инструментами разработчика для Android
Это приложение, в отличие от первого, немного проще, менее популярнее (всего чуть более 10 000 установок) и обновлялось несколько лет назад.
Несмотря на это, наделено своими интересными функциями, в числе которых:
Поддержка Android 4.0+. Интерфейс на английском языке.
Droid Web Inspector – браузер с полным набором инструментов разработчика для Android
Это приложение должно было быть первым в списке ввиду своего богатого функционала, но тогда бы вы не обратили внимание на другие, ничуть не уступающие ему браузеры.
Браузер с консолью разработчика, в функции которой входит:
В отличие от приложения Web Inspector (Open Source), на момент написания статьи имело всего чуть более 5 000 установок, но, несмотря на это, активно развивалось автором.
Поддержка Android 5.0+. Интерфейс на английском языке.
Обзор свободного ПО для Android
Не так давно у меня появилось желание написать целую серию статей о безопасности, приватности и анонимности в интернете. Я не хочу тратить время читателей, в очередной раз описывая весьма плачевную ситуацию со сбором персональных данных, все это и так уже было сделано до меня, поэтому давайте сразу перейдём к делу.
И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?
Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
AOSP и LineageOS
Система Android (AOSP ) сама по себе является открытой по лицензии Apache 2.0, но большинство смартфонов и планшетов поступают в продажу с закрытыми Google Play Services, и удалить без рута их нельзя (кроме как на Android One). Также нередко производители устанавливают собственное проприетарное ПО сомнительного качества и функционала. Стоит понимать, что любое приложение, получившие разрешения (а при сборке прошивки можно дать приложению любые разрешения), может собрать огромные массивы информации, поэтому более адекватной альтернативой (для человека, заботящегося о своей приватности) являются сборки основанные на AOSP (Omnirom, NitrogenOS и т.д.) или LineageOS (CrDroid, XenonHD и др.). Код подобных систем обычно полностью открыт (если не считать бинарные блобы, необходимые для компиляции) и поддерживается сообществом.
LineageOS это форк и продолжатель идей старого-доброго CyanogenMod. LineageOS так же как и циан предлагает уникальные фичи, отсутствующие в AOSP:
Основное отличие официальных сборок от неофициальных в том, что их компилируют из подписанных исходников, но не всегда всё так просто, к примеру в проекте LineageOS только собранные на специальном build-сервере ROM’ы подписываются секретным ключём и получают статус «official» (помимо этого у Lineage ещё есть календарь релизов и вполне полноценная поддержка). У некоторых других проектов все немного проще и можно собрать официальный билд на собственном ПК.
О F-Droid
Каталог F-Droid содержит только свободное и открытое ПО (FLOSS ), все приложения собираются и публикуются командой F-Droid. Если в каталоге нет вашего любимого открытого приложения, то вы можете отправить предложение сюда, или самостоятельно написать метадату, но учтите, что при сборке используются только open-source компоненты и библиотеки.
Клиент F-Droid
Каталог приложений с возможностью подключать сторонние репозитории (или свой собственный). Есть также альтернативные клиенты — m-Droid и G-Droid, но они пока что сыроваты для использования.
Безопасность в F-Droid
Приложения
Понятно, что представленные в каталоге приложения далеко не всегда являются полнофункциональной заменой проприетарных программ из Google Play или других аналогов, поэтому я попыталась провести небольшой сравнительный анализ и выяснить какие приложения подходят для повседневного использования, а какие лучше обойти стороной.
1. Т.к. в каталоге F-Droid более 2,5 тысяч приложений, то подробно рассматривать я буду только более-менее неизвестные программы с интересным функционалом, но при этом из категории необходимых пользователю большую часть времени. Все остальные (общеизвестные, или те в которых нет каких-то интересных фишек, или с какими-то критическими, на мой взгляд, недостатками), я буду упоминать с небольшими комментариями.
2. Я буду присваивать приложениям от 1-ой до 3-х звёздочек за удобство использования, это моё субъективное мнение, так что на него можно не обращать внимания.
3. У некоторых приложений нет/неполная/кривая русификация, поэтому я решила не плодить визуальный хаос, и сделать скриншоты на английском (возможно это была неудачная мысль, но я надеюсь, что вы мне это простите).
Yalp и Aurora
Yalp Store | ||
---|---|---|
Исходники: | GitHub | |
Лицензия: | GPLv2 | |
Скачать в F-Droid | Рейтинг: | |
Aurora Store | ||
Исходники: | GitLab | |
Лицензия: | GPLv2 | |
Скачать в F-Droid | Рейтинг: | |
Браузеры
IceCatMobile
GNU IceCat — форк браузера Firefox ESR (Extended Support Release), изначально ответвился от GNU IceWeasel, но в отличие от дебиановского проекта, сосредоточенного на ребрендинге, в IceCat вносились и изменения кода. Мобильную версию поддерживает отдельная команда, которая вернулась к лицензии MPL 2.0. Из новинок, внесённых сообществом выделяется кот с огромным хвостищем на логотипе следующее:
DuckDuckGo Privacy Browser
Браузер от команды разработчиков поисковика DuckDuckGo, сервиса, который позиционируется как альтернатива уважающая приватность пользователей (при этом учтите, что код самого поисковика не открыт). Для рендеринга страниц использует AndroidSystemWebView.
Некоторые особенности браузера довольно интересны:
Privacy Browser
Надстройка над AndroidSystemWebView с фокусом на приватность, правда одна особенность вызвала у меня вопросы: браузер передаёт user agent с параметром PrivacyBrowser/v1.0. Можно представить сколько людей пользуется браузером с таким агентом, а если учесть, что ОС можно легко вычислить по специфичному стеку TCP/IP, то подобное вообще теряет смысл (а ведь есть еще спуфинг по JavaScript, детекция тапов и т.д.), впрочем в настройках можно выставить другой агент. Из особенностей:
Bromite
Форк браузера Сhromium, изменения направлены на повышение приватности и блокировку рекламы. В Bromite были включены патчи из таких проектов как Iridium, Brave, Ungoogled Chromium и Inox patchset.
Особенности:
Ещё варианты (вне рейтинга)
Tor Browser – сборка предоставленная The Guardian Project (необходимо включить репозиторий в настройках). До недавнего времени Tor Project не занимался поддержкой Tor Browser под Android, а приложения позволявшие выйти в сеть Tor – Orfox и Orbot, разрабатывались командой проекта Guardian. В сентябре 2018 года участники проекта Tor объявили о выпуске альфа-версии для системы Android, правда собственного репозитория F-Droid у них до сих пор нет.
FOSS Browser – ещё одна надстройка, в принципе неплохое приложение, но на некоторых прошивках передаёт модель смартфона в агенте (WebView 66-версии, но во многих надстройках это было исправлено). Присутствует блокировщик рекламы, а адресная строка была перенесена вниз.
Firefox Klar – он же Firefox Focus (разница в том, что телеметрия в Klar отключена по умолчанию), приватный браузер разработанный Mozilla, использует GeckoView, есть блокировка трекеров.
▍Интересное в Play Store:
Brave Browser – основан на хромиум, имеется встроенный блокировщик рекламы с локальными списками, HTTPS Everywhere и защита от снятия фингерпринта.
Команда Brave придумала довольно интересный способ монетизации контента: любой пользователь Brave может внести пожертвование, которое затем будет переведено в криптовалюту и распределено между посещаемыми сайтами или блогами зарегистрированными в программе Brave Reward, но в мобильной версии эта фича пока недоступна.
Waterfox – форк XUL-версий (до 57-ой) браузера Firefox, телеметрия и несвободные компоненты удалены.
Мессенджеры
Само собой в каталоге F-Droid вы не найдёте популярные приложения WhatsApp, Viber или Skype, зато там есть клиент Telegram. Но учтите, что в мессенджерах из F-Ddroid не работают push-нотификации, т. к. в Android они завязаны на проприетарный сервис Google’s Firebase Cloud Messaging.
Pix-Art Messenger
Pix-Art это форк Сonversations, мобильного клиента использующего протокол XMPP для связи. В F-Droid есть также Conversations Legacy, сохранивший функционал версий 1.23+ (OTR и кастомные имена для идентификации клиента, но без новинок из версий 2+). Pix-Art Messenger опирается на ветку 2+, но при этом есть интегрированный OTR, а также ежедневные бэкапы, список серверов для регистрации и переработанное меню.
Особенности приложения:
Rocket.Сhat
Корпоративный мессенджер с возможностью использовать собственный сервер (FOSS версия поддерживает до 1000 пользователей). Если вас чем-то не устраивает XMPP (к примеру отсутствие единообразного клиента на всех платформах или 2FA ), то Rocket.Chat не такой уж и плохой выбор:
Riot.im
Командный мессенджер, аналог Slack’a, использует протокол Matrix. Есть сервера поддерживаемые сообществом. Программные сервера в протоколе Matrix делятся на два типа HomeServer (хранит всю переписку и данные аккаунтов) и Identify Server (маппинг email к Matrix User ID, этот сервер используется только если вы привязали почту к аккаунту или прислали инвайт другому пользователю по email). Существуют различные реализации серверов: Synapse (HomeServer на Python/Twisted), Dendrite (HomeServer на Go), Sydent (Identify Server) и mxisd (Identify Server с упором на приватность). Клиент Riot написан на React Native, так что если у вас аллергия на JavaScript лучше воздержаться от употребления. Особенности Riot.im:
Ещё варианты (вне рейтинга)
Telegram – весьма популярный мессенджер, приложение в F-Droid обновляется с задержкой т. к. это по сути форк с вырезанными компонентами. Telegram использует закрытые сервера, на которых хранится история переписки из «несекретных чатов», аккаунт привязывается к номеру мобильного телефона, да и вообще у проекта какая-то странная политика приватности (и я так понимаю, что из-за отсутствия Push, список серверов не сможет обновляться автоматически).
Jami – сиречь VoIP-софтфон Ring, поддерживает сторонние сервисы SIP и IAX и шифрование TLS и ZRTP. Открыт по лицензии GPLv3.
TRIfA – использует протокол Tox, есть аудио/видео звонки, правда пользоваться ими невозможно (может если поднять Tox-ноду, то ситуация изменится), пока что связь обрывается, и клиент периодически падает. Сообщения тоже иногда не доходят.
▍Интересное в Play Store:
Signal – также как и в Telegram аккаунт привязывается к номеру телефона, для связи используется Signal Protocol, а вся переписка хранится на пользовательских устройствах.
Интересный факт: ранее существовала свободная реализация LibreSignal (с удалёнными компонентами Google), но moxie0 был против использования серверов и названия Signal. Я не понимаю чем могли помешать 3,5 анонимуса, использующие LibreSignal, поэтому не буду высказывать своё мнение об этой ситуации.
Wire – ещё один мессенджер использующий Signal Protocol, поддерживает email для регистрации, а также групповые звонки до 10 человек, приложение открыто по лицензии GPLv3 (использует Google Firebase Analytics, Mixpanel, и HockeyApp).
Карты
Оффлайн-карты. Форк приложения Maps.Me, принадлежащего сами знаете какой российской компании на «М». В оригинальном приложении, по данным проекта Exodus, работает 15 различных трекеров аналитики и есть реклама, но в Maps и то и другое было удалено. Несмотря на кажущуюся простоту, в приложении довольно много полезных функций:
OsmAnd
Очень детально и качественно проработанное приложение, есть как подробные оффлайн-карты основанные на OpenStreetMaps так и онлайн-карты для навигации. OsmAnd предлагает большое количество интересных фичей:
Ещё варианты (вне рейтинга)
PocketMaps – ещё одно приложение использующее OpenStreetMaps, но вот с размером карт разработчики явно перестарались, к примеру карта Японии весит 3,1 гб. Также как и в Open Map, сама карта неинтерактивная.
Безопасность и анонимность
В каталоге F-Droid есть множество приложений помогающих защитить свои данные: от программ для шифрования до клиентов анонимных сетей, но не все ПО доступно по умолчанию. Так репозиторий The Guardian Project (проект направленный на создание лёгких в использовании безопасных приложений и открытых библиотек) по умолчанию отключён в настройках.
EDS Lite
Аналог программы VeraCrypt, позволяет создавать зашифрованные контейнеры с файловой системой Fat или exFat. Особенности приложения:
KeePass DX
Java-форк KeePass. Эксперты по компьютерной безопасности рекомендуют использовать разные пароли для каждого сервиса, понятно, что запомнить большое количество сложных паролей невозможно, да это и не нужно, проще использовать менеджер с рандомной генерацией пароля и шифрованием базы, так придётся запомнить всего один мастер-пароль (стандарт NIST рекомендует длинные парольные фразы вида ”SmokeontheWatertheFireintheSky”, которые легко запомнить и сложно подобрать), и то какой файл используется в качестве ключа.
Особенности KeePass DX:
andOTP
Помнится когда-то давно, во времена 4-го Android, я пользовалась приложением Google Authentificator для генерации OTP-кодов используемых в двухфакторной аутентификации. Однажды на мой смартфон прилетело обновление до 5-ой версии и угадайте что? Естественно все слетело к… Но это не важно, потому что в приложении andOTP есть возможность сделать бэкап (как тебе такое Илон Маск Google?) сохраняемый в JSON файл. Помимо этого есть и много других функций:
WireGuard
Конечно OpenVPN и IPSec по прежнему соответствуют стандартам безопасности, но надо понимать, что разрабатывались они для корпоративного использования, а не анонимизации действий в интернете. Поэтому при неправильной настройке клиента/сервера возможны различные утечки (DNS, локального IP, IPv6-адреса и т. д.) и другие проблемы приватности. WireGuard же создавался как простой в настройке и использовании VPN, с основным упором на производительность и безопасность. Особенности:
Ещё варианты (вне рейтинга):
Orbot – приложение использующие системное прокси для перенаправления трафика через сеть Tor.
PixelKnot – позволяет зашифровать сообщение в картинке с помощью алгоритма стеганографии F5.
I2P – клиент анонимной распределенной сети I2P, открытый по лицензии Apache 2.0.
OpenKeychain – реализация стандарта шифрования OpenPGP для системы Android открытая по лицензии GPLv3. Интегрирован во многие упомянутые в этой статье приложения (andOTP, Conversations, K-9 Mail и т.д.)
Ripple — тревожная кнопка (panic trigger), можно использовать в некоторых упомянутых выше приложениях. Исходники.
AFWall+** — фаерволл, надстройка над iptables. Позволяет создавать различные профили, экспортировать/импортировать списки, работает с VPN. Необходим рут.
▍Интересное в Play Store:
KeePass2Android – ещё одна реализация KeePass под Android, есть синхронизация с облачными сервисами.
Полезные приложения из F-Droid
NextCloud – клиент свободного и открытого по GPLv2 облака, есть возможность использовать собственный сервер или подключиться к стороннему провайдеру (есть бесплатные планы, предоставляющие от 2-х до 10-ти гб).
Особенности:
Подведем итоги
По понятным причинам я не в состоянии охватить всё, или даже хоть сколько-нибудь значимую часть всего того, что можно назвать «мобильным open-source». Но всё же могу сказать, что за последние 2-3 года ситуация с открытым ПО под Android стала гораздо лучше, появилось много нового, а некоторые старые проекты значительно выросли в плане качества и функционала. На мой взгляд ребята проделали просто колоссальную работу, причем не требуя ничего взамен. Да есть проблемы и многое приходится настраивать вручную, но разве приватность не стоит небольших неудобств?
* — локализация неполная или отсутствует
** — добавлено по предложениям из комментариев