Я юрист. Я не должен был знать слово adjustResize. Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver, который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю.
Рубрика «android» - 2
Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView
2026-05-12 в 13:15, admin, рубрики: android, bottom sheet, flutter, mobile development, mutationobserver, softInputMode, WebView, клавиатура, личный опыт, соло-разработчикКогда пет-проект выходит из-под контроля: пишем свой tun2socks и закрываем дыры в Android VPN
2026-05-04 в 7:27, admin, рубрики: android, tun2socks, vless, vpn, xray, информационная безопасность, котикиВсё начиналось по приколу. Недавно в сети поднялась шумиха вокруг уязвимости VLESS-клиентов: оказалось, что даже при использовании сплит-туннелирования (когда VPN включен только для избранных приложений), любое "шпионское" приложение на телефоне может узнать IP-адрес вашего VPN-сервера.
Уязвимость была тривиальной - ядро клиента открывает локальный SOCKS-прокси, который никак не защищен. Любая софтина на устройстве может постучаться в этот локальный порт и отправить пакет наружу. Ради академического интереса я написал Android-приложение TeapodStream, под капотом которого связал xray-core и tun2socksЧитать полностью »
Конфигурационный аудит веб-сайта с Termux на android за 15 минут. curl, ssl, dig — без взлома и без root
2026-05-03 в 19:45, admin, рубрики: android, DNS, HTTP Security Headers, termux, TLS, Конфигурационный аудит, портыЧто можно найти снаружи, не имея доступа к серверу
1. Что такое конфигурационный аудит
Анализ публично доступных HTTP-ответов и DNS-записей без аутентификации и активного вмешательства. Проверке подвергается только внешняя конфигурация: HTTP-заголовки, TLS/SSL, DNS, открытые порты.
Уязвимости не эксплуатируются, нагрузки на сервер нет.
2. Инструменты
curl — ответ HTTP сервера.
openssl s_client — проверка TLS-соединения.
dig — чтение DNS-записей домена.
/dev/tcp — выявление открытых портов без nmap
Всё это доступно на android через Termux, без root.
3. Объект и метод
Как я пришёл к идее создания системы приложений и разработал поисковик и мессенджер
2026-05-01 в 14:16, admin, рубрики: android, CICD, django, django framework, docker, IoT, javascript, mqtt, nginx, pythonПредисловие
Я Михаил — создатель и главный разработчик системы вэб приложений. Второй участник проекта — Владимир — разработчик мобильных версий и ответственный за SEO оптимизацию.
Внутри системы я разработал:
-
Поисковая система, включающая в себя голосовой поиск, поиск по фото и поиск по обычному тексту.
-
Мессенджер с двумя ботами: первый общается с поисковиком, а второй — с микроконтроллером (см. IoT технологии).
Технологии
Этот блок я разделил на 3 части:
-
технологии приложений,
-
серверные технологии,
-
IoT технологии для микроконтроллера.
Читать полностью »
Telegram Mini App для PWA-приложения: как я перешёл с TWA для RuStore и что выяснил по дороге
2026-04-29 в 6:20, admin, рубрики: android, bubblewrap, hmac, pwa, rustore, telegram mini app, Trusted Web Activity, TWA, авторизацияЯ разрабатываю PWA для голосовой практики английского. Несколько раз пытался опубликовать его в RuStore через Trusted Web Activity (TWA) — Google-обёртку, которая упаковывает PWA в подписанный Android AAB. После четырёх отказов модерации я понял, что для моего класса приложений TWA в RuStore не работает, и за день переключился на Telegram Mini App.
Эта статья — не история стартапа, а разбор технических решений:
-
Чем отличаются PWABuilder и Bubblewrap CLI при сборке TWA, и почему второй надёжнее
-
Какие конкретно изменения нужны в Android-манифесте для прохождения модерации RuStore (Save password, Site Settings, RECORD_AUDIO)
Цифровая тень: что скрывают под капотом популярные Android-приложения (результаты аудита)
2026-04-28 в 9:45, admin, рубрики: android, vpn, приватность, реверс-инжиниринг, слежка, уязвимости, яндексПривет!
Ну вот вы ставите Яндекс Go, жмёте «Разрешить» на всё подряд — микрофон, контакты, местоположение. Такси же, надо. А потом выясняется, что приложение лезет в буфер обмена. 16 раз в разных местах кода. Зачем такси буфер обмена — я так и не понял.
Короче, я взял семь популярных Android-приложений и разобрал их по косточкам. SAST, реверс-инжиниринг, декомпиляция DEX, разбор манифестов, ковыряние в нативных библиотеках. Под раздачу попали: Яндекс Go, Карты, Музыка, Пэй, Телемост, Mir Pay и мессенджер МАКС (бывший ICQ New / VK Messenger).
Сломал руку, купил Pixel 10, возненавидел Gboard и написал свой офлайн-голосовой ввод для Android на GigaAM v3
2026-04-25 в 15:06, admin, рубрики: android, gigaam, open source, sherpa-onnx, говорун, голосовой ввод, распознавание речи, русский языкВсё началось с того, что пару месяцев назад я сломал левую руку. Печатать одной правой оказалось той ещё пыткой, поэтому я начал искать альтернативы. Ради интереса попробовал встроенную диктовку на Маке, которой отродясь не пользовался. И внезапно обнаружил, что современный голосовой ввод в macOS — это пушка. Он отлично справляется с моим быстрым темпом речи и сложными словами. Я начал диктовать вообще всё: от сообщений в Telegram до рабочих промптов.
А потом я попытался сделать то же самое на Android.
Paging 3 хорош. Пока вам не понадобится что-то ещё
2026-04-24 в 6:16, admin, рубрики: android, kmp, kotlin, paging, paging library, paging3Вступление, которое можно пропустить, если вы уже делали пагинацию
Если коротко: пагинация — это когда вы не грузите 100 000 товаров из каталога одним запросом, а показываете их страницами по 20–50 штук и подгружаете следующую порцию, когда пользователь домотал до конца.
Звучит как задача на полдня. На практике — по-разному.
Я пишу мобильные приложения уже давно, и каждый раз, когда в новом проекте появлялась пагинация, рядом с ней через месяц-другой появлялся один и тот же набор багов и ad-hoc-решений. Флаги isLoadingNextPage, isLoadingPrevious, isRefreshing, isEmpty, hasError, hasNextPageЧитать полностью »
Что было бы, если бы Linux распространялся под BSD
2026-04-21 в 9:01, admin, рубрики: android, BSD, GNU, GPL, linux, ruvds_статьи, лицензии, операционные системы, системное администрированиеМыслепреступление на Android: как скрыть Перехватчик трафика от Государственных приложений
2026-04-18 в 1:12, admin, рубрики: android, Privacy, root, vpn, xposedПока Хабр бурлит статьями, имеющими весьма косвенное отношение к технической стороне вопроса, я тоже решил высказаться — но несколько иначе
Война - это Мир
Свобода - это Рабство
Незнание - это Сила© Какой-то малоизвестный автор, сочиняющий всякие небылицы

