AI summary
Lightweight DNS server benchmark tool that tests hundreds of IP addresses for latency and stability in parallel. Sends real UDP DNS queries rather than simple pings, with export to TXT, CSV, or Markdown. Built with Kotlin Coroutines and Jetpack Compose; open source on GitHub. Note: requests storage permissions that may exceed typical needs for a network diagnostic app.
Generated by AI. May contain inaccuracies.
About this app
Легковесное, быстрое и приватное Android-приложение для массового тестирования (бенчмарка) DNS-серверов. Оно позволяет в реальном времени проверять сотни IP-адресов на скорость отклика (Latency) и стабильность (Stability), фильтровать результаты и экспортировать рабочие конфигурации.
Особенно полезно для сетевых энтузиастов, авторов списков обхода блокировок и разработчиков индивидуальных VPN/прокси-решений.
✨ Ключевые фичи Массовый параллельный тест: Благодаря Kotlin Coroutines и встроенному семафору приложение может одновременно пинговать до 100 серверов без просадки производительности UI. Умный парсинг IP: Не нужно заботиться о формате входного файла — встроенный Regex-парсер сам вытащит валидные IPv4-адреса из любого текстового хаоса. Кастомные DNS-запросы: Вместо обычного системного ICMP-пинга приложение отправляет реальный низкоуровневый UDP-пакет (DNS Query для домена google.com) на 53 порт тестируемого сервера, что гарантирует проверку именно работоспособности DNS-службы. Гибкий экспорт: Возможность сохранения отфильтрованных результатов в трёх форматах: TXT (чистый список IP), CSV (таблица для анализа) или Markdown (готовая таблица для GitHub-репозиториев). Продвинутая фильтрация и сортировка: Сортировка по минимальной задержке или по максимальной стабильности (процент успешных ответов). Фильтрация по количеству успешных пакетов. Современный UI: Полностью на Jetpack Compose с поддержкой темной/светлой темы и динамического системного оформления.
🚀 Как это работает (Под капотом) Многопоточность: Тестирование реализовано через асинхронные задачи async(Dispatchers.IO). Количество одновременно выполняемых потоков контролируется через kotlinx.coroutines.sync.Semaphore. Валидация пакетов: Чтобы избежать путаницы при асинхронной обработке ответов на одном сокете, для каждого запроса генерируется случайный Transaction ID (2 байта). Ответ засчитывается только в том случае, если ID в байтовом массиве совпал с отправленным. Безопасный таймаут: Реализован динамический пересчет оставшегося времени (timeoutMs - elapsed), защищающий приложение от зависания сокета при потере пакетов.
About this version
- Version
- 1.0.4 (1)
- Size
- 11.99 MB
- Requires Android
- 7.0
- Target SDK
- 24
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 48
- Updated
- Jun 12, 2026
- Package
- com.example.dnsbenchmark
Ratings & reviews
- 50
- 40
- 30
- 20
- 10

