❌

Normal view

Внутри диаграммы Ганта: холст 480 на 360, палитра на 30 цветов и число без последнего бита

Я собираю файл конфигурации из XML так, чтобы он совпал с платформенным с точностью до бита. Диаграммы Ганта в типовых конфигурациях пустые, и на них ушло шесть дней. Внутри нашлись обычная диаграмма, воображаемый холст 480 на 360, число, у которого платформа теряет последний бит, и палитра, где серия номер -1 получает 15-й цвет. Рассказываю, как это устроено и как добывалось: дизассемблер, Frida и серия загрузок платформой.

Читать далее

Управляемый DTLS-прокси на Rust: решения, ошибки и цена упрощения

В первой части я рассказывал, как, почти не зная Rust, взялся за UDP/DTLS-прокси для системы управления 300 тыс. устройств и поручил большую часть реализации ИИ. Тогда я сосредоточился на том, как меняется работа инженера, когда код пишет модель.

Теперь — техническая сторона этой истории: почему локальная таблица маршрутов в XDP теряла рукопожатия, как прокси без общего хранилища находит владельца DTLS-сессии и почему 26-байтовый CID с HMAC и подписанный PPv2 уступили более простым решениям. Расскажу, какие компромиссы пришлось принять и какие ошибки удалось обнаружить на испытаниях.

Читать далее

Unbihex 0.2.3: разбор узких мест TCP, 938 подключений/с в REALITY и консольный клиент для роутеров и NAS

Недавно я выложил первую статью про Unbihex - легковесный VPN-клиент и сетевое ядро на Rust, которое потребляет 12-18 МБ оперативной памяти. Ожидал дежурной критики и пары десятков просмотров, но публикация собрала больше 2000 прочтений, репозиторий перевалил за сотню звёзд, а в комментарии и Issues пришли практикующие сетевики и системные инженеры.

За прошедший день проект дорос до версии 0.2.3. Мы закрыли основные запросы сообщества (роутеры, NAS, JSON-конфиги, TUI в стиле btop), добавили постквантовый обмен ключами, выложили тестовый сервер и провели глубокий аудит производительности, в результате которого обогнали Xray и sing-box по скорости обработки новых соединений.

Но перед техническим разбором сразу закрою вопрос, который активно обсуждали в прошлый раз.

Читать далее
❌