Летопись разработки Shellit
Бортовой журнал автора от чистой папки до релиза: мультиагентный рой, аппаратные сбои ПК, E2EE-сервер и битва титанов Qwen против Antigravity.
Все акты и вехи
Тематические главы с разбором архитектурных решений, отладки багов, перекрестного аудита нейросетей и рождения веб-летописи.
Акт I: Нулевой километр и архитектурный манифест
От чистой папки до 105 зеленых тестов за два часа: почему отсекли TermIt, как режим /grill-me спас проект от монолита и как 4 субагента работали параллельно.
Акт II: Аппаратный детектив и оживление консоли
Миграция на xterm 4, нокаут системы Kernel-Power 41 при компиляции C++ и рождение Safe Build Protocol. Первые живые баги: почему терминал молчал и курсор застыл.
Акт III: Инструмент сисадмина — SFTP, сплиты и черный ящик
Двухпанельный SFTP с правами 0755, автоопределение иконок ОС, запись сессий в asciinema без фризов, матричные сплиты 2x2 с Broadcast-вводом и неоновый логотип.
Акт IV: Zero-Knowledge — свой E2EE-сервер и мобильный Android
Отказ от облаков: запуск собственного E2EE-релея синхронизации на VPS, честная ротация мастер-пароля Argon2id, ловушка GlobalKey в IndexedStack и Android с тач-панелью.
Акт V: Мост в будущее — MCP-сервер, Gemini и ConPTY
Shellit учится говорить с AI: интеграция Model Context Protocol (MCP) для Cursor и Claude, генератор сниппетов на Google Gemini и локальный ConPTY-терминал.
Акт VI: Выход на орбиту — Веб-портал, PocketBase и Cloudflare Tunnel
Рождение сайта на Astro и Starlight, киберпанк-дашборд /admin с Chart.js, защита голосования от накруток и выход в интернет на shellit.top через Cloudflare Tunnel.
Акт VII: Битва титанов — Qwen против Antigravity и триумф v0.8.5
Кульминация вайб-кодинга: когда тесты зеленые, но внутри свербит. Как модель Qwen устроила разгромный аудит, вскрыла уязвимость MitM, и как мы переписали ядро на строгий Fail-Closed и OpenSSH Randomart.
Акт VIII: Рождение веб-летописи — выход из тени репозитория и блог перед зеркалом
История стратегического решения: почему Shellit открыл историю разработки миру и создал собственный блог-хронику прямо на сайте. Выход из служебных папок Git, алгоритм Кнута — Пласса, спойлеры с реальными диалогами и адаптивное оглавление.
Акт IX: Броня боевых серверов — Universal Command Guard и релиз v0.8.6
История глубокого аудита защиты серверов: почему тумблер Production Guard молчал на обычных хостах, как история Bash обходила перехват по стрелке вверх, рентген активного буфера xterm, спасение редакторов nano/vim и релиз v0.8.6.
Акт X: Спасение пула сокетов — 16 000 открытых портов, OpenSSH-баннер и релиз v0.8.8
История внезапного сетевого блэкаута: как фоновый замер RTT-задержки серверов в shellit.exe забил 16 071 порт Windows из-за разницы между socket.close() и socket.destroy(), почему SSH-серверы подвешивают полузакрытые сокеты, оптимизация SQLite-телеметрии и релиз v0.8.8.
Акт XI: Тайна проглоченной буквы — как переключение раскладки съедало первый символ и как мы научили терминал слышать с полуслова
Инженерный детектив о пропаже первой буквы при смене языка (Alt+Shift, Ctrl+Shift, Win+Space): как Win32 меню SC_KEYMENU поглощало нажатия, почему Flutter сохранял фантомный Alt в HardwareKeyboard, приоритет печатных символов над залипшими флагами и мгновенный отклик терминала.
Акт XII: Живая простыня терминала — как маркеры команд превратили бесконечный лог в интерактивную карту, и дань уважения корням Open Source
История создания семантической разметки терминала OSC 133: цветные маркеры статуса, хронометраж команд, копирование вывода в один клик, пошаговая навигация Alt+Up/Down, осознанное включение без авто-инъекций и открытая благодарность Фабрицио Ла Роза (fbrzlarosa/terminale) и форку uxiew за вдохновение.
Акт XIII: Мобильная зрелость и криптографическая гигиена — как мы победили сбой синхронизации ключей и очистили интерфейс Android
Разбор инцидента BUG-051: почему синхронизация хранилища спотыкалась на пустых приватных ключах, как постоянный сокетный пинг провоцировал Fail2ban, почему мы убрали настройки ИИ с мобильных экранов и как переработали сенсорную эргономику терминала.
Акт XIV: Аудит в Google AI Studio и триумф кадрового конвейера — как Gemini 3.8 Flash вскрыл скрытые лаги Flutter, а мы победили вытеснение буфера
Как полный аудит репозитория моделью Gemini 3.8 Flash в Google AI Studio выявил критические уязвимости рендеринга терминала, как три параллельных субагента устранили BUG-052..BUG-054, и как живой стресс-тест привел к решению проблемы вытеснения командных меток OSC 133.
Акт XV: Первый боевой краш-тест на Arch Linux — почему зависали сплиты при быстром вводе в Omni-search и как мы подружили Shellit с Wayland и GitHub MCP
Как первый публичный Issue #1 от сына-линуксоида вскрыл конфликт OpenGL/Wayland при быстрой смене сплит-раскладки через Ctrl+K, как подключение GitHub MCP позволило вести отладку в реальном времени, и как мы навели порядок в обнаружении Linux-оболочек.
Акт XVI: Консольная эстетика для Linux-гурманов — кастомные шрифты, каскад Nerd Fonts и архитектура Kitty Graphics
Как мы реализовали выбор шрифта терминала с каскадом глифов Nerd Fonts (U+E000..U+F8FF), внедрили потоковый фильтр APC для протокола Kitty Graphics с рендерингом картинок в yazi, и защитили изолированный курсор от конфликтов слоев.
Открытая разработка с прозрачным разбором инцидентов и исходным кодом.