y83 code / справочник

Диагностика сети

Экран проверяет связь по частям и показывает, где именно она ломается: есть ли интернет, находит ли система имя хоста, отвечает ли сайт, какой у сертификата срок, каким маршрутом идёт пакет. Восемь проверок независимы — можно запустить все сразу или по одной, чтобы не гадать, где проблема.

раздел
Подсистемы приложения
пунктов возможностей
18
источник
docs/about/netdiag.md

Возможности

  • Кнопка «Run All». Прогоняет все проверки разом, они идут параллельно.
  • Кнопка обновления в шапке. То же самое — все проверки заново.
  • Тумблер автообновления. Повторяет полный прогон каждые 30 секунд, пока включён.
  • Карточка сводки. Показывает одно из четырёх: упавшие проверки, «все прошли», «сколько из скольких готово» или «ничего не запускалось». Рядом — время последнего полного прогона.
  • Список хостов чипами. Три хоста по умолчанию, любой можно убрать нажатием, свой добавить кнопкой Add.
  • Копирование отчёта в буфер одним нажатием.
  • По каждой секции — своя карточка с результатом, а упавшая секция показывает текст ошибки вместо данных.
  • Кнопка повтора трассировки внизу экрана, если она не удалась.

Технические данные

ПараметрЗначение
Проверок всего8
Интервал автообновления30 секунд
Хостов по умолчаниюapi.openai.com, api.deepseek.com, 1.1.1.1
Пинг3 пакета, ожидание 3 секунды на пакет
Трассировкадо 15 узлов, ожидание 2 секунды на узел
Соединений в ответене больше 50, на экране первые 20
Таймаут запроса к бэкенду5 секунд на подключение, 15 на ответ
Внешний адресопределяется запросом к внешнему сервису, запасной вариант — пинг

Что проверяет каждая секция

Состояние сети. Тип подключения, адрес внутри сети, адрес снаружи и есть ли интернет. Тип определяется по имени сетевого интерфейса: wlan — вайфай, rmnet — мобильная сеть, tun — туннель.

Имена хостов. Находит IP-адреса по названиям и замеряет, сколько это заняло.

HTTP-эндпоинты. Запрашивает у каждого хоста адрес с путём /v1/models и показывает код ответа и задержку. Отдельно подсвечивается заголовок Retry-After, если сервер его вернул.

Пинг. Три пакета до каждого хоста: минимальная, средняя и максимальная задержка и доля потерь.

Сертификаты. На экране видно, кто выпустил сертификат, когда он истекает и сколько дней осталось. Имя сертификата и его дополнительные имена сервер возвращает, но экран их не показывает. Меньше 30 дней подсвечивается как «скоро», меньше 7 — как «срочно».

Трассировка. Список узлов по дороге к хосту с задержкой на каждом.

Активные соединения. Протокол, локальный адрес, адрес собеседника и состояние.

Живость бэкенда. Отвечает ли сервер приложения сам себе.

Что важно понимать про результаты

Проверки идут с сервера, а не с телефона. Инструменты вроде пинга и трассировки есть только у серверной части, поэтому всё, что видно на экране, — это связь сервера с интернетом. Если телефон не ловит сеть, а сервер работает нормально, экран будет зелёным.

Живость бэкенда проверяет сам себя. Эта проверка спрашивает у сервера его же адрес. Она отвечает на вопрос «не подвис ли сервер», а не «доходит ли до него телефон».

Коды 401, 403 и 404 на эндпоинтах — это нормально. Проверка идёт без ключей доступа, поэтому API-сервисы честно отвечают «нет прав». Это не поломка сети: время ответа в норме, и раздел HTTP как раз для того, чтобы отличить одно от другого. Цвет зависит от кода: 200–299 — нормальный, 400–499 — предупреждение жёлтым, всё остальное, включая 3xx и отсутствие ответа, — красным.

Трассировка часто не работает. На многих серверах утилиты трассировки нет, и тогда секция показывает пустую ошибку — это ограничение сервера, а не обрыв маршрута.

Список соединений может быть пустым. Если на сервере не оказалось утилиты показать соединения, секция вернёт пустой список, а экран напишет «0 connections» — это не значит, что соединений нет.

Свои хосты

Добавить свой хост стоит, когда нужно проверить конкретный домен. Из списка хостов он попадёт сразу в четыре проверки: имена, пинг, сертификаты и эндпоинты.

С оговорками: у произвольного хоста проверка эндпоинтов всё равно пойдёт по адресу с путём /v1/models, а для обычного сайта такой путь вернёт ошибку. Из проверки сертификатов выброшен ровно один адрес из списка по умолчанию — 1.1.1.1, потому что на нём сертификата нет. Трассировка идёт только к первому хосту в списке, поэтому если свой хост нужен именно для неё, поставьте его первым.

Что попадает в отчёт

Кнопка копирования собирает текст: время запуска, состояние сети, имена хостов, пинг, сертификаты, трассировку и живость бэкенда. Формат времени — дата и время до секунды.

Разделы с HTTP-эндпоинтами и соединениями в отчёт не попадают, хотя на экране они есть. Это стоит держать в голове: скопированный отчёт всегда короче того, что видно на экране.

Что агент умеет

Агент может открыть этот экран через мост командой app_navigate на экран netdiag и прочитать результаты командой app_ui_tree.

Отдельного инструмента для диагностики нет, но агент может сам обратиться к тем же проверкам на сервере и получить полный результат в JSON — включая те разделы, которых нет в копируемом отчёте. Запускать проверки с интервалом в 30 секунд агент не будет: это лишняя нагрузка, если он не ждёт результата прямо сейчас.

Ограничения

  • Результат отражает связь сервера, а не телефона. Для проверки телефона нужны другие инструменты.
  • Автообновление каждые 30 секунд постоянно дёргает сервер. При плохой сети разумнее его выключить.
  • Список хостов живёт только пока открыт экран: после ухода и возврата возвращаются три хоста по умолчанию.
  • Повторно добавить тот же хост нельзя — он уже есть, и добавление молча игнорируется. Регистр и пробелы в имени не важны.
  • Первый автопрогон случается не сразу, а через 30 секунд после включения тумблера.
  • Если удалить все хосты, сервер подставит собственный список по умолчанию: трассировка пойдёт к api.openai.com, а проверки по хостам вернут заранее зашитые адреса. То есть экран будет выглядеть работающим, хотя вы ничего не задавали.
  • Ошибка одной секции не рушит остальные: каждая живёт своим состоянием, так что частичный результат читается спокойно.
  • Кнопка повтора есть только у трассировки — у остальных секций после сбоя нужно снова нажимать Run All.
  • Показывается не больше 20 соединений из возможных 50.
  • Все тексты на экране английские.

Источник: docs/about/netdiag.md. Страница собрана из документации проекта при сборке сайта — без пересказа.

Диагностика сети Вернуться к справочнику