ZapretKVN-android/network-bootstrap
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh f20168dd16
Some checks failed
Android CI / build (push) Failing after 2m6s
Адрес сервера: сначала доверенный DoH по IP, системный DNS — запасной
Системный резолвер на российских сетях отвечает NXDOMAIN на заблокированные
имена, и без запомненного адреса подключение падало с DNS-102 при живом
сервере.

- network-bootstrap: TrustedDohResolver спрашивает адрес сервера по DoH у пяти
  резолверов, заданных литеральным IP. SNI для IP не отправляется, сертификат
  проверяется по IP из SAN, запрос идёт по физической сети мимо туннеля.
- AndroidBootstrapDnsResolver запускает доверенный и системный пути сразу и
  предпочитает доверенный ответ. Если он недоступен в течение трёх секунд,
  берётся системный ответ без дополнительного ожидания. Имя считается
  несуществующим, только когда так ответили все доверенные резолверы.
- Текст ошибки DNS-102/104/106 больше не утверждает, что сервер переехал:
  такой ответ даёт и подмена на стороне провайдера.

Покрыто JVM-тестами разбора DNS-сообщений и правила сведения ответов. Сетевой
путь на устройстве не проверялся: ADB-туннель не подключён.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 00:04:54 +03:00
..
src Адрес сервера: сначала доверенный DoH по IP, системный DNS — запасной 2026-10-09 00:04:54 +03:00
build.gradle.kts Prepare Zapret KVN 0.2.0 2026-07-22 16:01:33 +03:00