Приватность на Android
Не так давно у меня появилось желание написать целую серию статей о безопасности, приватности и анонимности в интернете. Я не хочу тратить время читателей, в очередной раз описывая весьма плачевную ситуацию со сбором персональных данных, все это и так уже было сделано до меня, поэтому давайте сразу перейдём к делу.
И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?
Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему Android (iOS по понятным причинам не рассматривается, а из альтернатив только SailfishOS и GNU/Linux, но эти системы можно установить на очень ограниченное число моделей). Всех кто заинтересовался я приглашаю под кат.
AOSP и LineageOS
Система Android (AOSP) сама по себе является открытой по лицензии Apache 2.0, но большинство смартфонов и планшетов поступают в продажу с закрытыми Google Play Services, и удалить без рута их нельзя (кроме как на Android One). Также нередко производители устанавливают собственное проприетарное ПО сомнительного качества и функционала. Стоит понимать, что любое приложение, получившие разрешения (а при сборке прошивки можно дать приложению любые разрешения), может собрать огромные массивы информации, поэтому более адекватной альтернативой (для человека, заботящегося о своей приватности) являются сборки основанные на AOSP (Omnirom, NitrogenOS и т.д.) или LineageOS (CrDroid, XenonHD и др.). Код подобных систем обычно полностью открыт (если не считать бинарные блобы, необходимые для компиляции) и поддерживается сообществом.
Немного об Open Source, слежке и духовности
Вообще факт того, что код программы был опубликован не означает того, что о вас не будут собирать информацию или показывать вам таргетированную рекламу, или того что в приложении нет закладок и бэкдоров (также как и закрытость не свидетельствует об обратном), но в любом случае это лучше чем просто чёрный ящик, коим является обычное проприетарное ПО.
Выбирать, на мой взгляд, стоит программы соответствующие не только букве, но и духу свободного и открытого ПО.
У AOSP и LineageOS есть множество форков и сборок, к сожалению посоветовать что-то конкретное я не могу, т. к. стабильность и работоспособность сильно зависит от модели устройства, компонентов, фазы луны и т. д. Но помимо собственно LineageOS довольно популярны ROM'ы AEX, Resurrection Remix, CandyOS, DotOS и Liquid Remix, думаю с них и стоит начать.
CandyOS 9.0
Отличия LineageOS от AOSP
Основное отличие официальных сборок от неофициальных в том, что их компилируют из подписанных исходников, но не всегда всё так просто, к примеру в проекте LineageOS только собранные на специальном build-сервере ROM'ы подписываются секретным ключём и получают статус «official» (помимо этого у Lineage ещё есть календарь релизов и вполне полноценная поддержка). У некоторых других проектов все немного проще и можно собрать официальный билд на собственном ПК.
Если заблокирован bootloader
Попробуйте получить рут или временный рут через ADB, поставить кастомную систему вы вряд ли сможете, но хотя бы можно удалить мусорное ПО из /system/apps и system/priv-apps (вообще Android модульная система, можно удалить или заменить довольно много компонентов, но само собой можно всё сломать). Если же вы пользуетесь ADB, то можно написать скрипт для автоматизации, благо в Android работают обычные юниксовые команды.
О F-Droid
Каталог F-Droid содержит только свободное и открытое ПО (FLOSS), все приложения собираются и публикуются командой F-Droid. Если в каталоге нет вашего любимого открытого приложения, то вы можете отправить предложение сюда, или самостоятельно написать метадату, но учтите, что при сборке используются только open-source компоненты и библиотеки.
Про сомнительный функционал
Antifeatures это предупреждение о том, что приложение может выполнять какие-то нежелательные действия, например показывать рекламу или собирать данные (это не запрещено правилами F-Droid, но подобные модули должны быть открыты). Самые распространенные это: использование несвободных сетевых сервисов (например DuckDuckGo), оригинальный исходный код содержит закрытые части (в таком случае каталоге будет представлен форк с вырезанными компонентами), зависимость от проприетарного ПО (например приложение не работает без Google Maps) и продвижение несвободных дополнений. Все остальные встречаются довольно редко: уязвимости, приложение стало закрытым и т.д.
Клиент F-Droid
Каталог приложений с возможностью подключать сторонние репозитории (или свой собственный). Есть также альтернативные клиенты — m-Droid и G-Droid, но они пока что сыроваты для использования.
Плюсы:
- Автообновления с настраиваемой частотой
- Возможность выбора соединения (Wi-Fi или mobile data) для закачки
- Привилегированное приложение для автоматической установки/обновления приложений без рута (для установки нужно прошить архив через TWRP)
- Приложения с анти-фичами легко заметить
Минусы:
- Списки приложений обновляются не очень быстро, не всегда подгружаются значки приложений и скриншоты (в m-Droid эта проблема была решена, там загружается не .XML-файл, а JSON сжатый в .gzip)
- Нет рейтингов приложений
Исходники: GitLab
Лицензия:GPLv3Приложение F-Droid
*Zip-архив с привилегированным расширением
Безопасность в F-Droid
- Сборка приложения происходит на изолированной виртуальной машине, которая по окончанию процесса удаляется. Метадата подписывается на отдельной виртуальной машине, подпись состоит из хеша приложения (SHA-256) и ключа (подпись поддерживает временные метки и expiry).
- Публичный ключ для проверки сигнатуры встроен в клиент F-Droid.
- Вся связь между клиентом и сервером происходит по https, но возможно также переключиться на Tor (через Orbot).
Тем не менее команда F-Droid не может гарантировать вам 100% безопасность, поэтому рекомендуется проверять разрешения и обращать внимание на новости о взломах.
Приложения
Понятно, что представленные в каталоге приложения далеко не всегда являются полнофункциональной заменой проприетарных программ из Google Play или других аналогов, поэтому я попыталась провести небольшой сравнительный анализ и выяснить какие приложения подходят для повседневного использования, а какие лучше обойти стороной.
Скрытый текст
1. Т.к. в каталоге F-Droid более 2,5 тысяч приложений, то подробно рассматривать я буду только более-менее неизвестные программы с интересным функционалом, но при этом из категории необходимых пользователю большую часть времени. Все остальные (общеизвестные, или те в которых нет каких-то интересных фишек, или с какими-то критическими, на мой взгляд, недостатками), я буду упоминать с небольшими комментариями.
2. Я буду присваивать приложениям от 1-ой до 3-х звёздочек за удобство использования, это моё субъективное мнение, так что на него можно не обращать внимания.
3. У некоторых приложений нет/неполная/кривая русификация, поэтому я решила не плодить визуальный хаос, и сделать скриншоты на английском (возможно это была неудачная мысль, но я надеюсь, что вы мне это простите).
Yalp и Aurora
Я понимаю, что полный отказ от несвободного ПО невозможен для многих людей. Но, по крайней мере, от Google Play Services на смартфоне вполне можно избавиться не потеряв доступ к магазину Google Play. Приложения Yalp и Aurora позволяют скачивать .apk напрямую c серверов Google, технически оба приложения весьма схожи т. к. Aurora это форк Yalp’a, использующий material design, по стабильности и функционалу особой разницы нет:
- Можно использовать анонимный аккаунт (в обоих приложениях периодически отваливается)
- Возможность скачивать только дельту обновлений
- Списки трекеров в приложениях, предоставленные проектом Exodus Privacy
- Отметки о зависимости от Google Service Framework (то что приложение зависит от GSF не означает, что оно не будет работать без, но может не работать какой-то функционал)
Есть и некоторые различия:
- У Aurora есть привилегированное расширение, но нельзя использовать Tor (Orbot) в качестве прокси
- В Yalp спартанский дизайн и меньшее потребление ресурсов
Про microG
Некоторые приложения из Google Play требуют для работы Google Play Services, существует свободная реализация этих сервисов под названием microG, для того, чтобы скачать их через клиент F-Droid необходимо добавить репозиторий.
Подробнее об установке и настройке microG читайте в этой статье.
Браузеры
Первое, что бросается в глаза это отсутствие знакомых брендов типа Mozilla Firefox или Chromium, но на самом деле не все так плохо, по крайней мере браузер Firefox в каталоге присутствует, хоть и под другим именем, а вот сборка мобильного хромиума, судя по всему, все ещё зависит от Google Play Services, поэтому в каталоге есть только даунлоадеры, которые скачивают .apk со стороннего ресурса. Эта же проблема относится и к браузерам сделанным на основе Chromium, так что в F-Droid представлены в основном надстройки для AndroidSystemWebView и браузеры на движке Gecko.
IceCatMobile
GNU IceCat — форк браузера Firefox ESR (Extended Support Release), изначально ответвился от GNU IceWeasel, но в отличие от дебиановского проекта, сосредоточенного на ребрендинге, в IceCat вносились и изменения кода. Мобильную версию поддерживает отдельная команда, которая вернулась к лицензии MPL 2.0. Из новинок, внесённых сообществом выделяется кот с огромным хвостищем на логотипе следующее:
- Отсутствие систем DRM: Encrypted Media Extensions и гугловский Widevine Content Decryption были удалены
- Сторонние куки не принимаются по умолчанию
- WebRTC сконфигурировано с флагом media.peerconnection.ice.default_address_only = true, что фиксит утечку LAN IP при использовании прокси и VPN
- Телеметрия удалена
- Включён Fingerprinting countermeasures затрудняющий детект по отпечатку браузера
- Аддоны Tor Button, HTTPS Everywhere, Hidden HTML (показывает скрытый HTML код), GNU LibreJS, Searxes Third-party Request Blocker
Касательно GNU LibreJS (блокирует все не open-source скрипты) и Searxes Third-party Request Blocker (блокировка сторонних ресурсов), я советую их удалить т. к. пользоваться ими неудобно — так для того, чтобы добавить сайт в белый список LibreJS нужно либо копировать адрес сайта, либо вводить вручную (разрешены будут все скрипты сразу), а в аддоне TPRB невозможно добавить домен второго уровня целиком к примеру в виде *.wikipedia.org. Вместо этих дополнений можно поставить uBlock Origin, uMatrix или NoScript на выбор. Hidden HTML тоже стоит отключить, т. к. этот аддон будет мешать постоянными запросами. Кстати говоря, страница дополнений была переделана, теперь она ведёт сюда, там уже можно найти ссылку на список рекомендованных расширений, но некоторые ссылки (к примеру на NoScript) сломаны, поэтому я лично пользуюсь обычным сайтом аддонов Firefox.
Плюсы:
- Безопасный браузер на Gecko, основанный на актуальной версии Firefox ESR
- Некоторые фичи повышающие уровень приватности браузера включены по умолчанию
- Полноценные аддоны
Минусы:
- Предустановленными аддонами неудобно пользоваться
- Запутанная страница дополнений
- Оптимизация хуже чем в браузерах использующих Blink/WebKit
- Дополнительные патчи безопасности, к примеру из Tor Project, включаются в проект от случая к случаю (это не недостаток, просто учитывайте, что если нужна повышенная безопасность используйте Tor Browser)
Исходники:GNUЛицензия:MPL 2.0Скачать в F-DroidРейтинг:
DuckDuckGo Privacy Browser
Браузер от команды разработчиков поисковика DuckDuckGo, сервиса, который позиционируется как альтернатива уважающая приватность пользователей (при этом учтите, что код самого поисковика не открыт). Для рендеринга страниц использует AndroidSystemWebView.
Некоторые особенности браузера довольно интересны:
- Система оценок приватности сайтов (рейтинг от A до D и F в адресной строке, где A лучшая оценка, а F худшая)
- Расширение Privacy Protection блокирует рекламные сети и трекеры, а Increase Encryption Protection перенаправляет соединения через https
- Fire Button – удаляет все пользовательские данные в 2 клика
- Вкладки и хранилище очищаются при закрытие (можно настроить)
На мой взгляд главным недостатком является отсутствие истории или хотя бы переключения между режимами инкогнито/обычный (всё-таки подобное должно быть в основном браузере).
Плюсы:
- Довольно простой и удобный браузер
- Блокировка рекламы и трекеров
Минусы:
- Мало настроек
- Реклама блокируется не полностью, возможности подключить списки нет
- Нет истории
Исходники:GitHubЛицензия:Apache 2.0Скачать в F-Droid*Рейтинг:
Privacy Browser
Надстройка над AndroidSystemWebView с фокусом на приватность, правда одна особенность вызвала у меня вопросы: браузер передаёт user agent с параметром PrivacyBrowser/v1.0. Можно представить сколько людей пользуется браузером с таким агентом, а если учесть, что ОС можно легко вычислить по специфичному стеку TCP/IP, то подобное вообще теряет смысл (а ведь есть еще спуфинг по JavaScript, детекция тапов и т.д.), впрочем в настройках можно выставить другой агент. Из особенностей:
- Дополнительные списки для блокировщика рекламы (EasyPrivacy, Fanboy’s annoyance list, UltraPrivacy)
- Кнопка быстрого переключения JavaScript
- Возможность заблокировать все запросы к сторонним ресурсам
- Поддержка Orbot
- Автоматическая очистка при закрытие приложения (можно настроить)
Плюсы:
- Разнообразные настройки
- Потенциально угрозы приватности (Dom Storage, сторонние куки и т. д.) отключены по умолчанию, но их можно легко включить
Минусы:
- Некоторые настройки скорее снижают анонимность, чем повышают
- Нет вкладок и истории
Исходники:stoutner.comЛицензия:GPLv3Скачать в F-DroidРейтинг:
Bromite
Браузер основанный на Сhromium, с изменениями направленными на повышение приватности и блокировку рекламы. В Bromite были включены патчи из таких проектов как Iridium, Brave, Ungoogled Chromium и Inox patchset.
Особенности:
- Блокировщик рекламы (EasyList, PrivacyList и т.д.)
- Поддержка DNS-over-Https
- Переключатель между постоянным режимом инкогнито/обычным режимом
- Удалены компоненты Google
- Защита от fingerprinting (canvas, audio, client rects, WebGL и sensor APIs)
- Воспроизведение видео в фоне
- Импорт/экспорт закладок
Чтобы скачать Bromite необходимо добавить репозиторий.
Плюсы:
- Хорошая оптимизация
- Расширенный функционал
- Дополнительные фичи безопасности и приватности
- Легко перейти с Хрома
Минусы:
- Есть закрытые компоненты (видеокодеки)
Исходники:GitHubЛицензия:GPLv3Репозиторий*Рейтинг:
Ещё варианты (вне рейтинга)
Tor Browser – сборка предоставленная The Guardian Project (необходимо включить репозиторий в настройках). До недавнего времени Tor Project не занимался поддержкой Tor Browser под Android, а приложения позволявшие выйти в сеть Tor – Orfox и Orbot, разрабатывались командой проекта Guardian. В сентябре 2018 года участники проекта Tor объявили о выпуске альфа-версии для системы Android, правда собственного репозитория F-Droid у них до сих пор нет.
Fennec F-Droid – по-сути это FOSS-версия Firefox. Мне так и не удалось найти полный список проприетарных компонентов используемых в актуальных версиях мобильного Firefox, поэтому сложно сказать, что было вырезано помимо трекеров аналитики (AdJust и LeanPlam) и DRM. К примеру в вики написано, что был удален модуль Health Report (телеметрия), но в текущей версии он есть и работает после запуска. Но в любом случае никаких несвободных зависимостей в Fennec нет (иначе его бы не смогли собрать).
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, а также ежедневные бэкапы, список серверов для регистрации и переработанное меню.
Особенности приложения:
- End-to-end шифрование OTR, Omemo и PGP (через OpenKeychain)
- Синхронизация с десктопными клиентами
- Интеграция с контактами (разрешение можно не давать)
- Аватарки, передача картинок, файлов, видео, аудио и местоположения (в Conversations Legacy последние 2 реализованы с помощью плагинов)
- Конференции (или группы)
- Можно настроить удаление сообщений (через 1 день, неделю, месяц или полгода)
- Проверка hostname сервера через DNSSEC
- Поддержка соединения через Tor (Orbot)
Во всех версиях/форках Conversations есть возможность оставить активную службу после закрытия клиента, что по идее не должно дать системе закрыть соединение клиента с сервером, но во многих кастомных сборках настроены жёсткие политики энергосбережения, так что Conversations необходимо добавить в исключения (таким образом реализована замена push-нотификаций).
Плюсы:
- Удобный интeрфейс
- End-to-end шифрование
- Поддержка стандартов XEP (исправление сообщений, проверка доставки и т. д.)
- Дополнительные инструменты для обеспечения безопасности и приватности
- Богатые возможности кастомизации
Минусы:
- Новичкам может быть непонятно как регистрироваться, делать бэкапы и т. д. (в Pix-Art это реализовано немного проще)
Исходники:GitHubЛицензия:GPLv3Скачать в F-Droid*Рейтинг:
Rocket.Сhat
Корпоративный мессенджер с возможностью использовать собственный сервер (FOSS версия поддерживает до 1000 пользователей). Если вас чем-то не устраивает XMPP (к примеру отсутствие единообразного клиента на всех платформах или 2FA), то Rocket.Chat не такой уж и плохой выбор:
- Поддержка комнат и приватных групп
- Публичные каналы
- Аватарки и прочие эмодзи (главное, что их можно отключить)
- Удаление и редактирование сообщений
- Загрузка и передача файлов
- Двухфакторная аутентификация (поддержка LDAP и Active Directory)
Приложение не очень подойдёт простым пользователям, всё-таки оно ориентировано на команды с профессиональным админом.
Плюсы:
- Интеграция с десктопными клиентами (если вас не смущает React Native на ПК, Android-версия написана на Kotlin)
- Установить и настроить сервер довольно легко
- Довольно удобные чаты
Минусы:
- В мобильной версии нет E2E шифрования (есть только TLS до сервера, но внедрение вроде как идёт)
- У FOSS-версии сервера (Community) есть некоторые ограничения
Исходники:GitHubЛицензия:MITСкачать в F-DroidРейтинг:
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:
- E2E шифрование Olm
- Аудио/Видео звонки
- Синхронизация истории и нотификаций с другими клиентами и браузерной версией
- Комнаты (Rooms)
- Пермалинки на сообщения
- Поиск по истории чатов
- Передача файлов (можно расшарить на комнату)
Плюсы:
- Хорошая масштабируемость (подойдет как для дружеской переписки 1 на 1, так и для тысяч человек в сотнях комнат)
- Приятный дизайн, чатами довольно удобно пользоваться.
- Так же как и у Pix-Art есть активная служба в уведомлениях, так что соединение не обрывается
- Не требует телефона или почты для регистрации (но их можно добавить)
Минусы:
- Зависит от несвободного Identify-сервера Vector.im, причём можно очистить поле ввода Identify Server, но всё равно будет использоваться Vector.im, а вот если поднять свой сервер mxisd, то всё работает нормально (но не работает с Sydent, такие дела).
Исходники:GitHubЛицензия:Apache 2.0Скачать в F-Droid*Рейтинг:
Ещё варианты (вне рейтинга)
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).
Карты
Пожалуй главным недостатком open-source карт является отсутствие кроссплатформенных приложений, и интеграции этих приложений с онлайн-сервисами. К примеру, есть онлайн-карты на сайте www.openstreetmap.org, но вы не сможете перенести запланированный маршрут из браузера на ПК в свой смартфон (по крайней мере мне не удалось, при попытке экспортировать карту в .osm файл все маршруты пропадают). С другой стороны, есл�� вас не волнует проблема синхронизации, то все не так уж и плохо.
Maps
Оффлайн-карты. Форк приложения Maps.Me, принадлежащего сами знаете какой российской компании на «М». В оригинальном приложении, по данным проекта Exodus, работает 15 различных трекеров аналитики и есть реклама, но в Maps и то и другое было удалено. Несмотря на кажущуюся простоту, в приложении довольно много полезных функций:
- Прокладка пути (на машине, пешком, транспорте и велосипеде)
- Закладки
- Значки различных объектов (достопримечательности с ссылкой на Википедию, отели с сcылкой на Booking, рестораны с часами работы и телефоном, парковки и остановки транспорта, а также больницы, магазины и аптеки)
- Возможность вносить изменения в проект OSM
- Есть функция поиска ближайших ресторанов и достопримечательностей
- В целом карты довольно подробные, хоть и уступают OsmAnd~
Плюсы:
- Хорошая оптимизация
- При приближение к какой-нибудь области появляется предложение скачать карту
- Небольшой вес карт
Минусы:
- Описания объектов не очень подробные
- Мало настроек, нет альтернативных карт
Исходники:GitLabЛицензия:Apache 2.0Скачать в F-DroidРейтинг:
OsmAnd~
Очень детально и качественно проработанное приложение, есть как подробные оффлайн-карты основанные на OpenStreetMaps так и онлайн-карты для навигации. OsmAnd предлагает большое количество интересных фичей:
- Оффлайн и онлайн навигация (с голосовым помощником, автоповоротами и построением маршрута в реальном времени)
- Кастомные карты, к примеру карты топологий или Ski maps, на которых обозначаются подъёмники, спуски и лыжные маршруты
- Также как и в Maps, есть объекты и возможность контрибьютить напрямую в проект OpenStreetMap
- Аудио и видео заметки
- Travel guides – плагин использующий оффлайн базы Wikivoyage (проект созданный Wikimedia для путешественников), можно вывести интересные точки на карту или просто почитать о городе в котором вы находитесь
- Mapillary – обзорные фотографии
- Транспортные и дорожные карты
Приложение открыто по лицензии GPLv3, но не все предлагаемые сервисы являются свободными.
Плюсы:
- Большое количество настроек и плагинов
- Весьма разнообразный функционал
- Объекты с подробным описанием (время работы, ссылки, фотографии и т. д.)
- Можно отключить отображение ненужных объектов
- Подробные карты дорог, вплоть до состояния покрытия
Минусы:
- Работает медленнее чем Maps, карты занимают больший объем
Исходники:GitHubЛицензия:GPLv3Скачать в F-DroidРейтинг:
Ещё варианты (вне рейтинга)
Open Map – онлайн-карты, правда в отличие от предыдущих неинтерактивная, и c обычными картинками в формате .jpeg, вместо векторного рендеринга.
PocketMaps – ещё одно приложение использующее OpenStreetMaps, но вот с размером карт разработчики явно перестарались, к примеру карта Японии весит 3,1 гб. Также как и в Open Map, сама карта неинтерактивная.
Безопасность и анонимность
В каталоге F-Droid есть множество приложений помогающих защитить свои данные: от программ для шифрования до клиентов анонимных сетей, но не все ПО доступно по умолчанию. Так репозиторий The Guardian Project (проект направленный на создание лёгких в использовании безопасных приложений и открытых библиотек) по умолчанию отключён в настройках.
EDS Lite
Аналог программы VeraCrypt, позволяет создавать зашифрованные контейнеры с файловой системой Fat или exFat. Особенности приложения:
- Контейнеры совместимые с TrueCrypt, Veracrypt, LUKS или EncFS на выбор
- Шифрование AES-256, TwoFish и Serpent (но в отличие от VeraCrypt не поддерживается комбинированное шифрование)
- Для контейнера LUKS также есть поддержка шифрования ГОСТ Р 34.10-2012
- Поддерживает режим шифрования XTS (TrueCrypt, Veracrypt, LUKS)
- Алгоритмы хеша SHA-512, RIPEMD-160 и Whirlpool
- Не поддерживает key-файлы
В Play Store также есть платная версия этого приложения с расширенным функционалом сходным с VeraCrypt и LUKS, но EDS Full содержит проприетарные компоненты.
Плюсы:
- Надёжные алгоритмы шифрования
- Совместимость с программами на ПК
Минусы:
- Некоторые функции безопасности вырезаны из open-source версии
- Интерфейс не очень интуитивно понятен
Исходники:GitHubЛицензия:GPLv2Скачать в F-DroidРейтинг:
KeePass DX
Java-форк KeePass. Эксперты по компьютерной безопасности рекомендуют использовать разные пароли для каждого сервиса, понятно, что запомнить большое количество сложных паролей невозможно, да это и не нужно, проще использовать менеджер с рандомной генерацией пароля и шифрованием базы, так придётся запомнить всего один мастер-пароль (стандарт NIST рекомендует длинные парольные фразы вида ”SmokeontheWatertheFireintheSky”, которые легко запомнить и сложно подобрать), и то какой файл используется в качестве ключа.
Особенности KeePass DX:
- Поддержка баз .kdb и .kdbx с шифрованием AES-256, TwoFish, ChaCha20 и Argon2
- Совместимость с KeePass, KeePassX и KeePassXC
- Быстрое копирование пароля и открытие URL
- Возможность открыть базу с помощью отпечатка пальца (удобно, но не очень безопасно)
- Автозаполнение полей и MagicKeyboard (позволяет быстро заполнять поля)
Разработчики KeePass DX не хотят усложнять код приложения добавлением облачной синхронизации (правда подумывают форкнуть какой-нибудь файл менеджер для упрощения доступа к удаленным ресурсам), вместо этого рекомендуется воспользоваться клиентом любого облачного сервиса (к примеру NextCloud со свободными клиентом/сервером), базу можно поместить в директорию с настроенной синхронизацией.
Плюсы:
- Сильные алгоритмы шифрования базы паролей
- Множество настроек и приятный интерфейс
- Настраиваемый генератор паролей (вплоть до 64 символов, поддержка специальных символов, ASCII и т. д.)
- Есть несколько вариантов автоматизации заполнения форм
- Полная совместимость с программами на ПК
Минусы:
- Надоедливые подсказки (можно отключить в настройках)
Исходники:GitHubЛицензия:GPLv3Скачать в F-DroidРейтинг:
andOTP
Помнится когда-то давно, во времена 4-го Android, я пользовалась приложением Google Authentificator для генерации OTP-кодов используемых в двухфакторной аутентификации. Однажды на мой смартфон прилетело обновление до 5-ой версии и угадайте что? Естественно все слетело к… Но это не важно, потому что в приложении andOTP есть возможность сделать бэкап (как тебе такое Илон Маск Google?) сохраняемый в JSON файл. Помимо этого есть и много других функций:
- Поддержка Time-based One-time Passwords (TOTP) и HMAC-Based One-Time Passwords (HOTP)
- Защита приложения с помощью пин-кода или пароля
- Файл бэкапа можно зашифровать с помощью OpenPGP (нужен OpenKeychain) или алгоритма AES
- Возможность скрыть содержимое OTP-токенов
- Синхронизация бэкапа через Android Sync
- Panic Trigger (удаление аккаунтов или удаление всех данных приложения, нужна тревожная кнопка)
Плюсы:
- Возможность сделать зашифрованный backup
- Дополнительные функции безопасности
- Возможность тонкой настройки
Минусы:
- Нет возможности выбрать облачный сервис для синхронизации
Исходники:GitHubЛицензия:MITСкачать в F-DroidРейтинг:
WireGuard
Конечно OpenVPN и IPSec по прежнему соответствуют стандартам безопасности, но надо понимать, что разрабатывались они для корпоративного использования, а не анонимизации действий в интернете. Поэтому при неправильной настройке клиента/сервера возможны различные утечки (DNS, локального IP, IPv6-адреса и т. д.) и другие проблемы приватности. WireGuard же создавался как простой в настройке и использовании VPN, с основным упором на производительность и безопасность. Особенности:
- Использует алгоритм Curve25519 для обмена ключами, СhaCha20 и Poly1305 для имитозащиты и Blake2s для хеширования
- Поддерживает IPv4 и IPv6
- Кодовая база 4000 строк (против 400000 у OpenVPN и 600000 у IPSec), что облегчает поиск багов и поддержку кода
- Может работать нативно в ядре Linux
Представители University of London провели аудит безопасности протокола WireGuard.
Плюсы:
- Быстрые современные алгоритмы шифрования
- Относительно легко установить и настроить сервер
- Высокая производительность
Минусы:
- Есть определённый порог вхождения для настройки собственного сервера, да и маловероятно, что этот протокол быстро появится у провайдеров VPN
Исходники:zx2c4.comЛицензия:GPLv2Скачать в F-Droid*Рейтинг:
Ещё варианты (вне рейтинга):
Orbot – приложение использующие системное прокси для перенаправления трафика через сеть Tor.
PixelKnot – позволяет зашифровать сообщение в картинке с помощью алгоритма стеганографии F5.
OpenVPN for Android – реализация клиента самого популярного протокола VPN.
I2P – клиент анонимной распределенной сети I2P, открытый по лицензии Apache 2.0.
OpenKeychain – реализация стандарта шифрования OpenPGP для системы Android открытая по лицензии GPLv3. Интегрирован во многие упомянутые в этой статье приложения (andOTP, Conversations, K-9 Mail и т.д.)
Ripple — тревожная кнопка (panic trigger), можно использовать в некоторых упомянутых выше приложениях. Исходники.
▍Интересное в Play Store:
KeePass2Android – ещё одна реализация KeePass под Android, есть синхронизация с облачными сервисами.
Полезные приложения из F-Droid
Scarlet Notes FD – неплохой редактор записок, есть возможность создавать списки, вставлять фотографии, поставить напоминалку, выбрать цвет записки, теги и т. д. Можно включить облачную синхронизацию.
Пожалуй единственный минус это то, что нельзя расшарить записку как в Google Keep.
Исходники:GitHubЛицензия:GPLv3Скачать в F-Droid
NextCloud – клиент свободного и открытого по GPLv2 облака, есть возможность использовать собственный сервер или подключиться к стороннему провайдеру (есть бесплатные планы, предоставляющие от 2-х до 10-ти гб).
Особенности:
- Сервер поддерживает шифрование AES
- Можно делиться файлами
- Синхронизация папок и фaйлов
Исходники:GitHubЛицензия:GPLv2Скачать в F-Droid
DAVx5 – синхронизация контактов и календаря (можно настроить для работы с NextCloud).
Также поддерживается синхронизация редактора записок Tasks.
Исходники:GitLabЛицензия:GPLv3Скачать в F-Droid
K-9 Mail – почтовый клиент c простым интерфейсом поддерживающий POP3, IMAP, Push IMAP и шифровние OpenPGP (нужен OpenKeychain).
Исходники:GitHubЛицензия:Apache 2.0Скачать в F-Droid
NewPipe – неофициальный клиент YouTube c поддержкой воспроизведения в фоне. Региональный топ пока отсутствует (но возможно, что лучше туда и не заглядывать).
Исходники:GitHubЛицензия:GPLv3Скачать в F-Droid
oandbackup — утилита для бэкапа, можно сделать слепок системы или бэкап отдельного приложения (данных или .apk, или всё вместе). Для работы нужен рут.
Исходники:GitHubЛицензия:MITСкачать в F-Droid
Forecastie — погодное приложение, использующие API OpenWeatherMap. Есть прогнозы на 5 дней вперед, графики температуры, дождей, давления и скорости ветра. А также глобальная карта ветров, осадков и температуры.
Исходники:GitHubЛицензия:GPLv3Скачать в F-Droid*
AntennaPod — менеджер подкастов с возможностью слушать онлайн-стримы и скачивать записи (есть настройки закачки по расписанию: с интервалами, по времени, выбором сети и т.д.).
Можно добавить собственный каталог подкастов.
Исходники:GitHubЛицензия:MITСкачать в F-Droid
Подведем итоги
По понятным причинам я не в состоянии охватить всё, или даже хоть сколько-нибудь значимую часть всего того, что можно назвать «мобильным open-source». Но всё же могу сказать, что за последние 2-3 года ситуация с открытым ПО под Android стала гораздо лучше, появилось много нового, а некоторые старые проекты значительно выросли в плане качества и функционала. На мой взгляд ребята проделали просто колоссальную работу, причем не требуя ничего взамен. Да есть проблемы и многое приходится настраивать вручную, но разве приватность не стоит небольших неудобств?