# Встроенная среда выполнения для диагностики HTTP HTTP/1.1, HTTP/2 и HTTP/3 используют один и тот же встроенный клиент curl. На macOS arm64 и Linux x64 используются curl 8.22.0, OpenSSL 3.5.9, nghttp2 1.70.0, ngtcp2 1.25.0 и nghttp3 1.18.0. Windows x64 использует официальную статическую сборку curl-for-win 8.22.0_3 с curl.se с LibreSSL 4.3.3 и теми же библиотеками HTTP. Не требуются ни резервный системный curl, ни загрузка во время работы, ни права администратора. Воспроизводимый рецепт сборки для Windows от разработчиков: https://github.com/curl/curl-for-win/tree/9d77e31e . Перед упаковкой выполните сборку командой `python3 scripts/native/build.py` (Windows: `python scripts/native/build.py`). Для macOS/Linux нужны инструменты C/C++, CMake, Ninja, Perl, make и pkg-config. Исходники закреплены по версии и исходному SHA-256 в `scripts/native/dependencies.lock.json`. Скрипт проверяет каждую загрузку, статически компонует сторонние транспортные библиотеки и завершается с ошибкой без функций HTTP2/HTTP3/SSL. Динамическими остаются только библиотеки операционной системы. Windows использует закрепленный официальный двоичный архив, а не локально скомпилированный транспортный стек Windows. Встроенный файл CA имеет собственный закрепленный хеш; лицензии компонентов и сведения о происхождении сборки прилагаются к среде выполнения. Клиент и хранилище доверенных сертификатов устанавливаются вне app.asar в `resources/native-runtime/-/`. Каждая диагностика перед использованием проверяет хеши компонентов, архитектуру и возможности исполняемого файла. Файлы конфигурации, прокси, переопределения доверия TLS из окружения и переменные для внедрения библиотек исключены. curl запускается по абсолютному пути, без оболочки, с проверенным доверием CA, явно заданным семейством разрешенного IP-адреса, без cookie, без автоматических перенаправлений и с ограничением вывода и времени. Перенаправления проверяет и заново разрешает приложение. Поддерживается HTTPS на портах, отличных от 443. HTTP/3 использует `--http3-only` и считается подтвержденным только после завершенной передачи, сообщающей HTTP версии 3, и успешной проверки сертификата. Протокол могут подтвердить и ответы HTTP с ошибкой, например 404. Alt-Svc — это объявление, а не доказательство. Тайм-аут QUIC, ошибка сертификата, ошибка DNS, отказ в соединении, несовместимый протокол и сбой компонента различаются. Тайм-аут UDP оставляет поддержку на сервере неподтвержденной. Время рукопожатия QUIC не выдается за время TCP. Каждое измерение запускает отдельный процесс/соединение. Опция «warm» для встроенного клиента не заявляет о повторном использовании соединения. Это сохраняет сопоставимость протоколов. Отчеты содержат версии среды выполнения, возможности, проверку TLS и время QUIC, а история и экспорт удаляют тела ответов, параметры запроса URL и заголовки аутентификации. При обновлении транспортного стека или хранилища доверенных сертификатов CA обновите эти закрепления и пересоберите все поддерживаемые платформы. Опубликованные артефакты и снимки исходников неизменяемы.