Как стать автором
Обновить

Обзор свободного ПО для Android

Время на прочтение 22 мин
Количество просмотров 127K


Привет Хабр.

Не так давно у меня появилось желание написать целую серию статей о безопасности, приватности и анонимности в интернете. Я не хочу тратить время читателей, в очередной раз описывая весьма плачевную ситуацию со сбором персональных данных, все это и так уже было сделано до меня, поэтому давайте сразу перейдём к делу.

И так, можно ли пользоваться мобильным устройством без серьёзного ущерба для приватности?

Ответ — да, можно, но для этого необходимо избавиться от ПО и сервисов, бесконтрольно собирающих данные. Для этого понадобится желание что-то изменить и любое устройство на которое можно установить кастомную систему 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, Candy, DotOS и Liquid Remix, думаю с них и стоит начать.
DotOS 3.0 *скриншоты кликабельны

Отличия LineageOS от AOSP
LineageOS это форк и продолжатель идей старого-доброго CyanogenMod. LineageOS так же как и циан предлагает уникальные фичи, отсутствующие в AOSP:

  • Custom Button Placement – позволяет переназначать сенсорные кнопки, а также вывести на дисплей дополнительные кнопки.
  • System Profiles – даёт возможность активировать различные профили как вручную, так и по программируемому триггеру.
  • Expanded Desktop – позволяет открывать в полноэкранном режиме приложения не поддерживающие ”immersive mode”.
  • LiveDisplay — меняет температуру цвета дисплея в зависимости от времени суток.
  • Trust – интерфейс позволяющий просмотреть настройки приватности и безопасности системы, а также узнать как исправить возможные проблемы (с версии 15.1).
  • Protected Apps – скрывает приложения из лаунчера, можно создать специальные безопасные папки для быстрого доступа, на которые можно поставить графический пароль.
  • PIN scramble – перемешивает расположение цифр на экране ввода пин-кода, что затрудняет возможность подглядеть код или попытки вычислить цифры кода по отпечаткам пальцев на экране.
  • Custom pattern sizes – добавляет возможность использовать поля 4x4, 5x5 и 6x6 для графического пароля.
  • Styles – светлый и тёмный стиль для системы, может работать автоматически в зависимости от обоев или времени суток.
  • Call recorder – записывает аудиозвонки (может быть недоступно в некоторых странах).


Основное отличие официальных сборок от неофициальных в том, что их компилируют из подписанных исходников, но не всегда всё так просто, к примеру в проекте 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)
  • Нет рейтингов приложений


Безопасность в 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 читайте в этой статье.

Yalp Store
Исходники: GitHub
Лицензия: GPLv2
Скачать в F-Droid Рейтинг:
Aurora Store
Исходники: GitLab
Лицензия: GPLv2
Скачать в F-Droid Рейтинг:

Браузеры


Первое, что бросается в глаза это отсутствие знакомых брендов типа 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 файл все маршруты пропадают). С другой стороны, если вас не волнует проблема синхронизации, то все не так уж и плохо. Стоит заметить, что навигация не будет работать без установленного UnifiedNLP или GmsCore из сервисов microG.

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, сама карта неинтерактивная.

UnifiedNlp** — провайдер геолокации из пакета microG (интегрирован в GmsCore). Предоставляет 7 различных бэкэндов для геолокации. UnifiedNlp легко устанавливается на большинство современных Rom'ов, но на некоторых сборках придётся скопировать .apk в /system/priv-apps вручную.

Безопасность и анонимность


В каталоге 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), можно использовать в некоторых упомянутых выше приложениях. Исходники.

AFWall+** — фаерволл, надстройка над iptables. Позволяет создавать различные профили, экспортировать/импортировать списки, работает с VPN. Необходим рут.

AppOpsX** — тонкий контроль над разрешениями приложений, для полноценной работы (например запрета normal permissions) нужен рут.

Интересное в 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 стала гораздо лучше, появилось много нового, а некоторые старые проекты значительно выросли в плане качества и функционала. На мой взгляд ребята проделали просто колоссальную работу, причем не требуя ничего взамен. Да есть проблемы и многое приходится настраивать вручную, но разве приватность не стоит небольших неудобств?

* — локализация неполная или отсутствует
** — добавлено по предложениям из комментариев

Статья открыта по лицензии CC BY-SA 4.0
Теги:
Хабы:
+64
Комментарии 82
Комментарии Комментарии 82

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн