Настоящий калькулятор
Работает как обычный: арифметика, проценты, память, история. Проходит визуальную проверку — снаружи это просто калькулятор, а не иконка «скрытой галереи».
Первый продукт · Калькулятор
Снаружи — обычный калькулятор: считает как любой стандартный. Внутри — зашифрованный мессенджер с голосовыми и видеозвонками. Доступ открывается только известной вам последовательностью действий и PIN-кодом.
Полноценный калькулятор, который реально считает. Внутри — личный мессенджер со сквозным шифрованием, звонками, вложениями и аккуратным механизмом входа.
Работает как обычный: арифметика, проценты, память, история. Проходит визуальную проверку — снаружи это просто калькулятор, а не иконка «скрытой галереи».
Очистка истории + код 3826 на экране калькулятора активирует скрытый режим. Далее — ваш персональный PIN из четырёх цифр для открытия чата. Код 444= — полное стирание локальных данных.
Текст, голосовые, фото, видео, документы. Вложения шифруются на устройстве перед отправкой. Превью и миниатюры создаются локально.
P2P-звонки через WebRTC с DTLS-SRTP. Ключи согласуются напрямую между устройствами, сервер помогает только установить соединение.
Регистрация по адресу почты: код приходит письмом. Вход по паролю. Сервер не видит ни PIN, ни содержимое сообщений.
Комбинация 444= на калькуляторе удаляет локальную базу, ключи и кэш. Через секунду устройство выглядит как свежеустановленное приложение.
Нет рекламы, нет трекеров, нет аналитики. Нет доступа к контактам «на всякий случай». Приложения из магазинов сверяются с нашей подписью.
iPhone, iPad, Android, Windows и Linux. Одна учётная запись — одна и та же переписка везде.
Честно: всё, что стоит знать о том, как устроена безопасность. Никаких «военных уровней шифрования» в маркетинговом смысле — конкретные алгоритмы и где они применяются.
Протокол на базе X3DH + Double Ratchet (как в Signal). Forward-secrecy: даже если сервер будет скомпрометирован, прошлые сообщения не раскроются. Ключи никогда не покидают устройство.
AES-256-GCM для сообщений, вложений и базы. На устройствах без аппаратного AES (некоторые бюджетные Android) — ChaCha20-Poly1305. Каждое сообщение — свой nonce.
X25519 для согласования ключей (ECDH), Ed25519 для подписи identity-ключа. Короткие, быстрые, с проверенной стойкостью.
База сообщений зашифрована AES-256 в SQLCipher. Мастер-ключ хранится в Android Keystore / iOS Keychain / Windows DPAPI / Linux libsecret. PIN разблокирует ключ из защищённого хранилища.
Файл шифруется случайным ключом перед загрузкой на сервер. Сервер хранит только зашифрованный блок и не знает, ни что это, ни от кого, ни кому. Ключ вложения передаётся внутри E2E-сообщения.
Медиа-поток защищён SRTP, ключи — DTLS. Отпечаток ключа (safety number) можно сверить визуально внутри звонка — защита от MITM.
Только факт «A отправил что-то B» и размер зашифрованного пакета. Никакого содержимого, никакого списка контактов, никаких групп в открытом виде. Доставка по relay, логи минимальны.
Пароль аккаунта растягивается Argon2id (memory-hard) — брутфорс требует гигабайты памяти. На сервер уходит только верификатор, не пароль.
Автоматических облачных бэкапов нет. Хотите перенести переписку — экспорт шифруется вашим паролем и переносится вручную. Забыли пароль — данные не восстанавливаются никем. Это осознанный компромисс в пользу приватности.
Комбинация 444= затирает мастер-ключ в Keystore и удаляет базу. Без ключа зашифрованная база бесполезна даже при физическом извлечении памяти.
Используются общепринятые криптобиблиотеки: libsodium, OpenSSL (LTS), SQLCipher. Своя криптография не придумывается — это принципиально.
APK и desktop-сборки подписаны одним ключом. Приложение проверяет подпись перед обновлением — подменённую сборку вы не установите.
Для iPhone требуется приложение TestFlight от Apple (бесплатно). Прямые APK/Windows/Linux-файлы можно забрать прямо сейчас.
Установка вручную из файла. Обновления проверяются внутри приложения. Подпись сборки сверяется при установке обновления.
Установка через TestFlight (бесплатно). Шаг 1: установите TestFlight из App Store. Шаг 2: нажмите любую кнопку ниже и примите приглашение.
Сборка Калькулятор v2.1.x для Windows — в процессе CI. Пока доступна предыдущая версия мессенджера Go+++.
Сборка Калькулятор v2.1.x для Linux — в процессе CI. Пока доступна предыдущая версия мессенджера Go+++.
Второй продукт · Наблюдатель · v0.3.0 release
Показывает, какие приложения отправляют данные в сеть и когда включается микрофон или камера. Локальный движок корреляции с учётом контекста: во время звонка или VoIP алертов нет. Всё на устройстве, без облака. В версии 0.3 — production-grade сборка: полная обработка ошибок, push-уведомления, память под LRU, дедупликация алертов, корректный lifecycle. Android / macOS / Windows / Linux.
Живой список соединений с именем процесса и адресом назначения. Индикаторы активного микрофона и камеры. Контекстный движок, который не шумит во время звонка. Готовые правила-шаблоны и шесть профилей безопасности.
Живая лента TCP/UDP соединений с именем приложения, доменом, IP, портом и протоколом. Резолвинг UID процесса в имя пакета через ConnectivityManager и PackageManager.
Отслеживание через AudioManager.AudioRecordingCallback и CameraManager.AvailabilityCallback. Отдельные карточки для записи экрана. Реакция в реальном времени.
Определяет, идёт ли звонок (TelephonyManager), активен ли VoIP-режим (AudioManager.mode), какое приложение на переднем плане (UsageStats). Не алертит на «микрофон», если вы сами говорите в Telegram или по сотовой связи.
«Микрофон активен + сеть того же процесса в окне 10 секунд» = CRITICAL. Камера на заблокированном экране — отдельный красный алерт. Журнал с подтверждением и фильтром по severity.
Блок трекеров (GA, Facebook, AppsFlyer, Adjust, Mixpanel, Branch, Amplitude, Kochava), блок рекламы, алерты mic/cam, запрет фоновой передачи, расписание «рабочие часы» и «ночной режим». Плюс свои правила.
Одним переключением меняется чувствительность, DNS-фильтр, политика незнакомых сетей, лимиты mobile-трафика и строгость корреляции.
Четыре режима: выкл / блок трекеров / строгая (трекеры + реклама) / свой список. Выбор провайдера: Cloudflare 1.1.1.1, Quad9, Google, AdGuard или собственный сервер.
Ничего не уходит с устройства. SQLCipher для журнала. PIN на запуск. Телеметрия отключена по умолчанию. На Android — VpnService как локальный наблюдатель, трафик никуда не перенаправляется.
Главное отличие от обычных network-мониторов: движок учитывает, что вы делаете прямо сейчас. Ни один параноидальный алерт не сработает, если вы явно сами звоните, записываете голос или пользуетесь камерой.
CALL_STATE_OFFHOOK или CALL_STATE_RINGING — микрофон ожидаемо активен. Алерты по микрофону автоматически подавляются. В профиле «Параноик» подавление можно отключить.
MODE_IN_COMMUNICATION ловит WhatsApp, Telegram, Zoom, Teams, Skype, Meet, Viber, Discord. Контекст — «активный VoIP-звонок», шум подавлен.
Если источник — приложение на переднем плане (камера, диктофон, мессенджер из белого списка), алерт не поднимается. Доверенные приложения выставляются в настройках.
Отдельная обработка «экран выключен» (повышает severity для камеры до критического) и «Не беспокоить» (тишина кроме критических). Критические всегда проходят даже в DND.
Сгруппированные inset-списки, тумблеры, bottom-sheet пикеры. Полный контроль над алертами, сетью, устройствами и приватностью.
От «только явные утечки» до «алерт на любое исходящее соединение». Выбор отражается в движке корреляции немедленно.
Три стиля алертов: сдержанный, стандартный, настойчивый. Отдельный тумблер «критические в обход DND». Snooze: 15 минут, 1 час, до утра.
Незнакомая сеть: разрешать / предупреждать / блокировать. Запрет фоновой передачи. Ограничение на mobile. Предупреждения о серверах в чувствительных юрисдикциях.
Доверенные приложения (10 предустановок: WhatsApp, Telegram, Zoom, Teams…), блок-лист приложений, доверенные домены, блок-домены (трекеры уже внутри), доверенные Wi-Fi.
Зелёная/оранжевая точка поверх экрана, как в iOS 14+. Отдельный алерт на включение камеры при заблокированном экране.
Выбор срока: 7 дней, 30 дней, 3 месяца, 1 год. Шифрование базы (SQLCipher). PIN при запуске. Автоматическое истечение старых записей.
Наблюдатель — локальный аудит вашего устройства. Сканирует сетевые соединения, следит за микрофоном и камерой, сопоставляет события и предупреждает, когда что-то выглядит как утечка. Ни один байт не уходит с телефона.
Весь анализ — на устройстве. Никакой телеметрии от нас, никаких логинов и аккаунтов. Исходник можно собрать самостоятельно из прилагаемого keystore + pubspec.lock.
runZonedGuarded + FlutterError.onError, обработка ошибок на каждом стриме, LRU-ограничения на мапы корреляции, дедуп алертов 30 сек, throttle rebuild 100ms, корректный stopVpn при выходе.
Локальный VpnService читает заголовки IP-пакетов, резолвит UID через getConnectionOwnerUid() (Android 10+), достаёт имя пакета через PackageManager. Пакеты никуда не перенаправляются.
Три канала: info / alert / critical. Критические проходят в обход DND, с вибрацией и красным LED. Алерты видны, даже когда приложение закрыто.
Android — release-сборка v0.3.0. Подписан ключом Nushik, SHA-256 можно сверить (см. раздел «Поддержка»). Вес — от 7,7 МБ (было 143 МБ в debug-сборке).
Один APK для всех архитектур. Минимум раздумий: скачали — установили. ~22 МБ. Android 8.0+ (API 26), протестировано на Pixel, Samsung, Xiaomi.
Большинство устройств после 2016 года (Pixel 3+, все флагманы Samsung/Xiaomi). Самый компактный и быстрый вариант.
32-битный ARM — для телефонов до 2016 года, часть бюджетных моделей. Если сомневаетесь — берите universal.
Для Android-x86, BlueStacks, Waydroid, Chromebook с поддержкой Play Store.
Flutter GUI + lsof для соединений, AVCaptureDevice для микрофона/камеры. Скелет Flutter уже в проекте.
Flutter Windows + PowerShell-агент: Get-NetTCPConnection, CapabilityAccessManager\ConsentStore для mic/cam.
Flutter Linux + ss/fuser для соединений, /dev/snd и /dev/video* для устройств. Один файл, запускается без установки.
Наблюдатель специально нетребователен. Не нужен root, Xposed или Magisk. Не нужен аккаунт.
Полный функционал — от Android 10 (API 29): contextual mic-callback, getConnectionOwnerUid, camera2 AvailabilityCallback. На 8.0–9 будет работать без точных имён процессов.
Сам APK — 8–22 МБ. Ещё ~30 МБ под локальный журнал алертов (настраивается: 7 дней / 30 дней / 3 мес / 1 год).
BIND_VPN_SERVICE — диалог системы при первом запуске мониторинга.
POST_NOTIFICATIONS — для алертов (Android 13+).
READ_PHONE_STATE — контекст звонка, чтобы не шуметь.
PACKAGE_USAGE_STATS — из настроек, опционально (распознавание foreground-приложения).
ACCESS_NOTIFICATION_POLICY — чтобы уважать «Не беспокоить».
VPN-сервис работает как foreground-service. Расход — ~2–4% в сутки при обычном использовании. Отключение «оптимизации батареи» для Наблюдателя рекомендуется, чтобы система не усыпляла его при уходе в фон.
Пошагово. Если что-то не получилось — напишите на почту из раздела «Поддержка», пришлём отдельную сборку.
Нажмите «Скачать APK» выше. В большинстве телефонов файл попадёт в Download/. Если Chrome предупреждает об APK — это нормально: установка из стороннего источника, не Play Store.
Откройте файл через файловый менеджер. Android попросит разрешить «устанавливать из этого источника» — нажмите «Разрешить». После установки тумблер можно выключить обратно.
На первом экране — Dashboard. Нажмите «Начать мониторинг». Система покажет диалог «Разрешить VPN» — нажмите «OK». Это локальный VPN, трафик никуда не перенаправляется.
Откройте Настройки → Доверенные приложения. По умолчанию уже добавлены WhatsApp, Telegram, Zoom, Teams, Dialer — они не будут триггерить алерты по микрофону. Добавьте свои любимые.
Чтобы Наблюдатель понимал, какое приложение сейчас на экране (и не алертил на легитимное использование), зайдите в Настройки → Разрешения → Доступ к данным об использовании и включите Наблюдатель.
Настройки телефона → Батарея → Оптимизация → Наблюдатель → «Не оптимизировать». Это не даст Android усыплять сервис через 1–2 часа в фоне.
Нам важно, чтобы вы понимали, чего программа не умеет. Никакого маркетинга.
Android ограничивает доступ к UID-таблице без root. Мы используем публичный API `getConnectionOwnerUid` (Android 10+). На 8.0–9 имена могут отсутствовать — только IP и порт.
Наблюдатель видит только метаданные: к какому хосту, на какой порт, сколько байт. Содержимое пакетов не читается и не логируется — ни HTTPS, ни HTTP. Это принципиально: никакого MITM.
Android 10+ сообщает «микрофон активен + AudioSessionId», но не всегда — пакет инициатора. Мы коррелируем с foreground-приложением и сетевым трафиком того же UID, но в краевых случаях возможна ошибка.
Android разрешает только один VpnService одновременно. Если у вас уже запущен NordVPN / ProtonVPN / AdGuard — Наблюдатель не сможет подняться параллельно. Отключите один из сервисов.
Фильтрация трекеров работает пока идёт мониторинг. При выключении VPN — блокировка снимается. Это сознательное решение: приложение не должно тихо вмешиваться в сеть.
Flutter-скелет готов, сканер сетевых соединений (lsof / Get-NetTCPConnection / ss) реализован, UI работает. Но нативная часть mic/camera пока только у Android.
Если нашли баг, хотите фичу, или что-то не устанавливается — пишите. Проверка подписи — для параноиков, которые хотят быть уверены.
Баги, вопросы, предложения. Отвечаем в рабочее время. Если у вас крэш — приложите версию Android и модель телефона, это всё.
Проверьте, что APK подписан именно нашим ключом:7C:99:71:D1:22:43:1E:08:8A:92:CD:92:30:E0:38:23:5A:F0:8D:A4:58:92:EB:E5:F4:12:65:B6:86:69:3D:89
Команда: apksigner verify --print-certs nabludatel-android.apk
Мажорная — ломающие изменения (новые permissions). Минорная — новые фичи. Патч — только баги и UI. Текущая: 0.3.0 (build 3). CHANGELOG внутри приложения (Настройки → О программе).
Ничего. APK не содержит рекламы, трекеров, аналитики. Нет даже crash-reporting-а — если приложение упало, вы видите стек в самом приложении (Настройки → Диагностика). Исходник можно собрать из проекта, идущего в бэкапе.
После покупки/установки вы получаете полный проект (Flutter + Kotlin, pubspec.lock, release keystore пароли — в папке бэкапа). Соберите сами, поменяйте правила под себя, измените дизайн.
Приложение раз в неделю запрашивает `GET /latest.json` с этого домена. Если версия новее текущей — баннер в Dashboard со ссылкой. Никаких автоматических обновлений без подтверждения.
Связь: zheniy314@icloud.com