Раскаленный за долгий июньский день асфальт Петроградской стороны неохотно, медленными волнами отдавал накопленное тепло. Лишь сейчас, в самом начале пятого утра, когда серая пелена белых ночей приобрела мутновато-жемчужный оттенок, в приоткрытую форточку потянуло влажной, спасительной невской прохладой. Этот сквозняк нес с собой запахи речной воды, мокрого гранита и отдаленный, едва уловимый аромат цветущей липы. Бледный призрачный свет заливал тесную комнату Ольги, стирая резкие углы мебели, пряча густые тени под старой кроватью и превращая выцветший рисунок бумажных обоев в однородное, безликое полотно. В этом странном освещении, лишенном контрастов, реальность казалась хрупкой, готовой рассыпаться от любого резкого звука.
Ольга сидела перед гудящим системным блоком, подтянув острые колени к подбородку и плотно обхватив их руками. Тяжелая джинсовая куртка, накинутая поверх домашней одежды, хранила запах уличной пыли и табачного дыма с прошлой фидошной попойки. Синий прямоугольник интерфейса почтового редактора заливал ее бледное лицо уставшим, мертвенным фосфорным свечением. Список сообщений в папке входящих писем оставался пустым. Ни единой новой строчки. Никаких желтых звездочек, обозначающих свежие, только что распакованные пакеты данных. Лишь ровные, строгие колонки программы, созданные для упорядочивания хаоса человеческого общения.
Она медленно, монотонно вращала тонкими пальцами дешевую пластиковую ручку. Синий колпачок глухо постукивал по деревянной столешнице в такт мерному, натужному гудению вентилятора в недрах компьютера. Раз в несколько минут Ольга отмирала, тянулась к затертой клавиатуре и нажимала горячую клавишу обновления базы. Старый жесткий диск коротко, сухо хрустел, считывающие головки суетливо пробегали по магнитным секторам, и программа вновь выдавала идеальную пустоту. Но эта пустота не приносила отчаяния. Ольга не верила, что Илья исчез навсегда. Местные сисопы могли выстроить какие угодно цифровые заборы, могли прописать сотни запрещающих правил в конфигурационных файлах, но она помнила его слова.
В памяти отчетливо всплывали строки из его прежних посланий. В одном из них он долго и странно рассуждал о механике звездного неба, называя спутники «железными соглядатаями на хрустальных сферах». А в самом начале безобразного скандала в локальной эхе, когда тусовка только принялась травить Илью за «ролевой отыгрыш» и непонятную терминологию, он ясно обозначил свои намерения. В коротких строках, лишенных привычной витиеватости, Илья признавался, что местные законы гостеприимства ему чужды, но ее голос звучит слишком чисто сквозь этот шум, чтобы отступать перед чужим гневом. Он не собирался прощаться. Он обещал присутствие.
Она перевела взгляд на выключенный модем ZyXEL. Темная ребристая коробочка с рядом безжизненных индикаторов покоилась на стопке старых компьютерных журналов. Обычно Ольга часами наблюдала, как весело перемигиваются красные диоды приема и передачи данных, когда система обменивалась файлами с нодой Алексея. Этот неровный ритм заменял ей пульс внешнего мира. Но сейчас рубиновые глаза спали. Линия хранила молчание. Алексей, обладающий абсолютной властью над рубильником, прописал жесткий бан. Одно движение пальцев по клавиатуре, пара строчек в тоссере — и адрес Ильи вычеркнут из таблицы маршрутизации. Любые пакеты от него должны были уничтожаться на подлете.
Ольга раздраженно отбросила ручку. Пластик сухо звякнул о край клавиатуры. Сидеть и гипнотизировать пустой экран редактора не имело смысла. Она нажала комбинацию выхода, сворачивая синие панели GoldED. Экран мигнул, погружаясь в спасительную черноту MS-DOS. Одинокий белый курсор ритмично пульсировал в командной строке, ожидая указаний. Пальцы привычно отбили имя пакетного файла. Запуск поллинга. Принудительный сбор почты.
Система ожила. На экране замелькали строчки инициализации мейлера. Модем издал громкий щелчок реле, открывая линию. Динамик выплюнул в тишину комнаты густой, ровный гудок городской автоматической телефонной станции. Затем начался набор номера. Импульсные щелчки отсчитывали цифры телефона ноды. Щелк-щелк-щелк. Пауза. Снова серия щелчков. Ольга закрыла глаза, вслушиваясь в этот ритуал. Длинные гудки вызова сменились резким, высоким ответом удаленного модема. Началось рукопожатие протоколов — хриплый, царапающий слух вопль аппаратуры, переходящий в плотное шипение фазовой модуляции, а затем в ровный, белый шум состоявшегося коннекта. На экране побежали логи соединения. Скорость зафиксирована. Проверка паролей пройдена.
В это же время в покоях принца Высокого мира воздух стал тяжелым, густым от удушливого запаха паленой изоляции и перегретой маны. Этот аромат горчил на языке, напоминая запах сожженного сахара, смешанного с озоном после сильной грозы. Высокие каменные своды лаборатории тонули в полумраке, освещаемые лишь нестабильным, пульсирующим светом поврежденного артефакта.
Арантир сгорбился над массивным столом, покрытым сетью защитных рун. «Магический жучок», обычно сияющий теплым, ровным золотом, сейчас выглядел как кусок обугленной породы. По его испещренной глубокими трещинами поверхности бегали злые багровые искры, выхватывая из темноты оплавленные края серебряной филиграни. Из расколотого сапфирового ядра вилась тонкая, едкая струйка сизого дыма. Старый маг дышал тяжело, с присвистом, опираясь сухими руками на край столешницы.
Он использовал длинные металлические щипцы, чтобы осторожно перевернуть артефакт. Жучок издал жалобный, вибрирующий звук, похожий на стон остывающего металла. Арантир покачал головой, осматривая масштаб разрушений. Внутренняя матрица кристалла пошла мутными разводами, накопители энергии выгорели дотла.
— Барьер отторжения имел нулевую эластичность, — просипел маг, не оборачиваясь. — На той стороне меридиана воздвигли глухую стену. Абсолютная преграда. Пустота. Магия продиралась сквозь толщу их законов, преобразуя кинетическое давление в чистый тепловой удар. Мы опустошили трехмесячный запас энергии кристалла за один удар сердца. Нагнетание силы в такую плотную структуру вызвало обратный ток. Структура едва не детонировала.
Иллиэль сидел в глубоком резном кресле в нескольких шагах от стола. Его поза оставалась неестественно прямой, напряженной. Синий бархат одеяний поглощал скудный свет искрящегося артефакта. Лицо принца, обычно спокойное и отстраненное, сейчас казалось высеченным из бледного мрамора. Взгляд темных глаз был прикован к дымящемуся ядру на столе. Технические жалобы старика на перегрев оборудования и разрушение матриц скользили мимо его сознания, не задерживаясь ни на секунду.
— Канал открыт? — голос Иллиэля прозвучал ровно, но в этой обманчивой мягкости звенела сталь.
Арантир обреченно опустил щипцы на каменную плиту. Звук удара гулким эхом отразился от сводов.
— Это не канал, мой принц. Это рваная рана в ткани пространства. Мы пробили их преграду грубой силой, оставив чудовищный след возмущений.
— Доставлено ли послание? — повторил Иллиэль, игнорируя предупреждения мага.
Арантир тяжело вздохнул, признавая поражение перед этой абсолютной целеустремленностью.
— Да. Слова прошли сквозь разлом до того, как края раны сомкнулись.
— Значит, ждем ответа, — отрезал Иллиэль. Он не сдвинулся с места, продолжая смотреть на остывающий кристалл, словно его воля могла заставить изувеченный камень снова засиять теплым золотом.
Тем временем в комнате Ольги на экране монитора мелькнула зеленая строка завершения сеанса связи. Модем пискнул и отключился, обрывая соединение. Заработал локальный софт. Тоссер начал суетливо шуршать жестким диском, распаковывая принятый пакет данных и распределяя письма по директориям. Ольга снова запустила GoldED. Интерфейс развернулся привычными синими панелями.
В папке входящих сообщений светилась одна новая строчка. Личное письмо. Нетмейл.
Ольга нажала клавишу ввода, открывая текст. Первое, что бросилось в глаза — изуродованный служебный заголовок. Маршрут доставки, который обычно выглядел как аккуратная цепочка сетевых адресов, превратился в хаотичное нагромождение символов. Неизвестные номера зон, восклицательные знаки и обрывки служебных команд разрывали стандартный формат протокола на части, вываливаясь за границы отведенных полей. Система не понимала, как этот пакет оказался в базе. Он миновал все проверки, прошел сквозь фильтры конфигурации, оставив после себя лишь этот программный шрам.
Она перевела взгляд ниже, на сам текст. Никаких хакерских угроз или бессмысленного набора символов. Ровные, тщательно выверенные абзацы.
«Я постараюсь там быть».
Ольга перечитала короткую строку дважды. Всего четыре слова, без привычных украшений, без лесов, звезд и странных метафизических объяснений. Но именно эта сдержанность ударила сильнее любого признания. Он не спорил с травлей, не оправдывался перед чужими правилами и не исчезал в молчании. Он отвечал на приглашение. Он обещал прийти.
Страннее всего было то, что теперь Ольга почти физически видела разницу между его словами и тем, как эти слова прошли через сеть. Внизу экрана лежала простая человеческая фраза — короткая, неловкая, честная. Над ней торчали искореженные служебные строки, словно кто-то протащил это обещание через колючую проволоку конфигов, запретов и чужого страха. Для Дениса в этом письме был метод атаки. Для Алексея — дырка в идеальной системе. Для нее — человек, который, не понимая половины земных правил, всё равно пытался дойти до назначенного места.
Резкий, дребезжащий звонок стационарного телефона разорвал ночную тишину, заставив Ольгу вздрогнуть. Она бросила взгляд на часы в углу экрана. Почти половина пятого. В такое время звонят только по двум причинам: либо кто-то умер, либо упал магистральный хаб.
Она потянулась через стол, сняла тяжелую пластиковую трубку и прижала ее к уху.
— Да.
На том конце провода повисла секундная пауза. Затем послышался сухой щелчок зажигалки и глубокий, протяжный выдох. Денис курил.
— Не спишь, значит, — голос Дениса звучал низко, глухо и невероятно устало. Никакой истерики, никаких криков. Только холодный прагматизм человека, который третьи сутки не отходит от консоли. — Я вижу, ты только что сбросила коннект. Почту забрала?
— Забрала, — Ольга нахмурилась, чувствуя, как внутри зарождается неприятный холодок. Денис никогда не следил за ее сессиями в реальном времени.
— Открой нетмейл. Сверь время отправки в заголовке.
— Зачем?
— Потому что двадцать минут назад Лехина нода словила аномалию, — ровным тоном произнес Денис, выпуская дым в трубку. — Тоссер сошел с ума. В базе просто возник этот пакет. В обход мейлера, без нормального сеанса связи и приема данных. Леха забанил его адрес наглухо, это программный бетон, а письмо все равно пролезло.
Ольга молчала, глядя на искореженные строчки маршрутизации на экране.
— Мы видим только странный служебный след на жестком диске, Оля. Никаких логов маршрута нет, программная ловля ничего не дает. Откуда он это закинул — загадка. Мне нужно знать, нормально ли твой редактор прочитал этот мусор.
— Ты читаешь мою личную переписку? — Ольга произнесла это медленно, чеканя каждое слово. Злость начала вытеснять удивление.
— Нетмейл никогда не был приватным, пора бы повзрослеть, — цинично хмыкнул Денис. — Это открытый текст на наших дисках. Я не вчитывался в твои сопли. Меня интересует заголовок. Твой Илья — угроза. Человек, способный положить болт на запрет сисопа и закинуть пакет в обход всей защиты, завтра может снести нам базы.
— Он не хакер, Денис. Он просто хотел написать письмо.
— Мне плевать на его мотивы. Мне важен метод, — отрезал системный администратор. — И раз по логам мы его вычислить не можем, придется искать в реале. В эту субботу на фидопойке у метро соберется весь костяк. Мы будем решать, что делать с этой дырой.
Ольга почувствовала, как пальцы левой руки до боли сжали край столешницы.
— И при чем здесь я?
— При том, что ты придешь на эту встречу, — голос Дениса стал жестким, лишенным интонаций. — И ты продолжишь с ним общаться. Будешь держать контакт. Раз мы не можем поймать его софтом, мы вытащим из него зацепки через тебя. Выстроим профиль, поймем, откуда он берет доступ, и вычислим его физически.
Смысл сказанного медленно доходил до Ольги. Они не собирались оставлять Илью в покое. Для параноидальных технарей он превратился в идеальную мишень, в вызов их квалификации. А ее саму Денис и Алексей решили использовать как удобный мост. Как приманку.
— Вы хотите превратить мою переписку в следственный эксперимент, — процедила она, чувствуя, как кровь приливает к щекам.
— Мы хотим защитить сеть. А ты — вектор атаки. Единственный контакт, который он поддерживает.
— Пошел ты к черту, Денис.
— Не дури, Оля, — устало предупредил он. — Если ты встанешь в позу, мы просто закроем твой поинт навсегда. Изолируем. Ты останешься без эх, без связи, без тусовки. Будешь сидеть в четырех стенах и смотреть на мертвый модем. Оно того стоит? Ради неизвестного фантома, который ломает чужое железо?
Ольга посмотрела на синий экран. На текст извинений. Илья не угрожал. Он просил прощения. Он прорывался сквозь невидимую стену не для того, чтобы доказать свое превосходство над их маршрутизаторами, а чтобы сказать, что он здесь.
— Я приду на фидопойку, — ровно ответила она. — Но логов вы от меня не получите. И в вашу охоту я его добровольно не сдам. Я буду общаться с ним так, как считаю нужным.
— Это ошибка, — сухо бросил Денис.
— Я беру ответственность на себя. Спокойной ночи.
Она с силой опустила трубку на аппарат. Пластик громко звякнул, обрывая связь. В комнате снова повисла тишина, нарушаемая лишь мерным гудением кулера.
Ольга откинулась на спинку кресла. Внутри все дрожало от напряжения, но голова оставалась ясной. Денис прав в одном — ситуация вышла из-под контроля. Илья действительно привлек внимание людей, которые не остановятся ни перед чем, чтобы разобрать его на байты. Если она закроется, они найдут другой способ. Если откажется от общения — оставит Илью один на один с взбешенными админами.
Она должна стать буфером. Прослойкой между паранойей технарей и искренностью человека по ту сторону экрана.
Ольга пододвинула к себе клавиатуру. Жесткие, высокие клавиши старой Mitsumi привычно легли под пальцы. Она нажала комбинацию создания ответа. В пустом окне редактора замигал курсор.
Она не стала задавать вопросов про техническую нестыковку. Не стала упоминать истерику Дениса, пробитый ядро ноды или аномальные заголовки. Она полностью отделила технический шум от эмоциональной сути.
Ольга начала печатать. Ритмичный стук клавиш заполнял комнату, звуча уверенно и спокойно. Она писала о том, что прощает его исчезновение. О том, что понимает, как сложно преодолевать чужие барьеры. Она поблагодарила его за то, что он не отступил перед невидимой стеной. Текст получался теплым, открытым, лишенным привычного фидошного сарказма.
Закончив письмо короткой фразой о готовности продолжить их странный диалог, Ольга нажала комбинацию сохранения. Письмо мягко упаковалось в исходящий буфер, готовое к отправке при следующем коннекте.
Она перевела взгляд на окно. Серая пелена белых ночей начала светлеть, обещая скорый рассвет. Ольга впервые за всю эту долгую, изматывающую ночь позволила себе слабо улыбнуться, понимая, что канал связи открыт. И теперь она сделает все, чтобы его защитить.