В блоге Beeline Cloud мы любим рассказывать о необычных DIY-проектах вроде кастомной «беззеркалки», которую могут собрать все желающие, или домашней селфхостинг-лаборатории в стиле скандинавской мифологии. Сегодня речь пойдет о миниатюрном веб-хостинге, в том числе серверах размером со спичечную головку.

Изображение: Vishnu Mohanan (Unsplash License)
Изображение: Vishnu Mohanan (Unsplash License)

Ранние эксперименты

Первый проект в нашей подборке довольно старый, но, можно сказать, является классикой. В 1999 году аспирант с факультета компьютерных наук в Массачусетском университете в Амхерсте представил iPicминиатюрную реализацию веб-сервера, размером со спичечную головку. Тогда инженер заявлял, что его разработка была в 400 раз меньше рядового оборудования тех лет (а стоимость сборки составляла меньше одного доллара).

Автор считал свой проект не просто «забавным рекордом», а видел в нем серьезные перспективы: возможность подключить к сети любое устройство и управлять им через веб-браузер. Специалист стал одним из DIY-пионеров тогда еще зарождающейся концепции интернета вещей. И это неудивительно, ведь энтузиаст вдохновлялся работой Джона Ромки, одного из создателей протокола TCP/IP, который представил первое устройство из мира IoT.

В 1989 году президент профильной конференции Interop, посвященной сетевым технологиям и веб-инфраструктуре, взял Джона Ромки «на слабо» — сможет ли тот подключить к сети тостер. Уже на следующей выставке Interop-1990 знаменитый инженер совместно со своими другом Саймоном Хакеттом презентовал первый в мире «поджариватель ломтиков хлеба с выходом в интернет».

iPic представляет собой полноценный мини-компьютер на базе микроконтроллера PIC12C509A, подключаемый напрямую к интернет-маршрутизатору, работающему по протоколу SLIP на скорости около 115 Кбит/с — все это без хостов-посредников или преобразователей протоколов. Также сборка включает микросхему EEPROM 24LC256, которая играет роль своеобразного жесткого диска и хранит файлы сервера. Реализация стека TCP/IP получилась под стать самому устройству — ее код занимал всего 256 байт, и она вполне соответствовала требованиям для программного обеспечения хостов по стандарту RFC-1122.

По словам автора проекта, меньше чем за месяц после запуска он уже успел «раздать» примерно 45 тыс. веб-страниц для шести тысяч пользователей из 56 стран [на сегодняшний день демонстрационная страница уже недоступна, но ее можно найти в архиве Wayback Machine]. О разработке написали в австралийской прессе и британских профильных изданиях. Заметили iPic и в тематических сообществах вроде Slashdot, где уже тогда отмечали потенциальные возможности подобных IoT-устройств: «Когда вас будут окружать десятки мини-компьютеров со спичечную головку, вы сможете на лету отслеживать массу показателей: от режима работы кондиционера до уровня кофеина в вашей крови».

Еще один любопытный проект из того периода — инсталляция «Муха». В 2001 году канадский художник и исследователь Гарнет Герц имплантировал в безжизненную оболочку насекомого веб-сервер и два светодиода (красный и зеленый), превратив его в своеобразный интернет-артефакт. Посетители экспозиции в Художественной галерее Менделя в канадском городе Саскатуне (1 июня — 3 сентября 2001 года), могли зайти на веб-страницу и в режиме реального времени включать или выключать светодиоды.

С технической точки зрения мушиная инсталляция представляла собой миниатюрный микропроцессор Fairchild ACE1101VMT8 — на тот момент самый маленький чип, способный выполнять функции веб-сервера. Соединение с хост-компьютером устанавливалось по протоколу SLIP. Сам веб-сервер на ACE1101VMT8 работал под управлением миниатюрной программы WebAce — она хранила все содержимое демонстрационной страницы, сетевые функции и код для управления светодиодами, а занимала всего 1 Кбайт памяти.

Что интересно, инсталляция получила смешанные отзывы. Например, кураторы выставки оказались разочарованы «дурным послевкусием» и «банальностью» проекта. По их словам, автор пытался продемонстрировать сложную философскую природу технологии телеприсутствия, но на деле весь акт «вселения» в муху оказался тривиальным подключением к светодиоду через интернет (оставим на совести кураторов вопрос о том, какого уровня телеприсутствия от «инсталляции в муху» они ожидали в 2001 году).

Изображение: Quinn Smith (Unsplash License)
Изображение: Quinn Smith (Unsplash License)

Уместить все на одну дискету

Сегодня появляются не менее примечательные экспериментальные проекты. В феврале 2026 года американский видеоблогер разместил операционную систему и веб-сервер на дискете. Он вдохновился разработкой своего коллеги, который реализовал веб-сервер на винтажном Macintosh LC 3, и захотел превзойти единомышленника собственным креативным решением.

Инженер воспользовался открытым проектом ELKS — облегченной Linux-подобной ОС для работы на встраиваемых системах и старом оборудовании с 16-битной архитектурой вроде процессоров Intel 8086 или NEC V20. У этой ОС есть самые разные образы для запуска на различных дискетах вплоть до вариантов весом 360 Кбайт — для своего проекта блогер выбрал релиз размером 1,41 МБ. Что касается железа, то аппаратная часть тоже выглядела как привет из прошлого. Блогер взял материнскую плату для процессоров 486 с разъемом Socket 3 и сетевую карту 3Com ETHERLINK III (на ней был размещен чип AMD 486DX4 с частотой 120 МГц).

Разработчик подготовил простую HTML-верстку для демонстрационной страницы. Кстати, блогер сфотографировал внешний вид сборки на винтажную цифровую камеру Sony Mavica. Выбор на нее пал неспроста — устройства из этой линейки могли вести запись на флоппи-диски. Получилось символично: и сам сервер, и его изображение — все на дискетах. 

Стоит отметить, что в прошлом дискеты использовали для запуска специализированных программ-файрволов на старом оборудовании. И это несмотря на тот факт, что флоппи-диски были ненадежными. Даже сам автор косвенно это подтвердил — вместе с демонстрационной страницей он поделился ссылкой на ее копию из архива Wayback Machine на случай, если дискета-сервер выйдет из строя [сейчас к оригинальному сайту не подключиться]. 

2 Кбайт/c должно хватить всем

В мае 2026 года автор технического блога Maurycy's blog, в котором он публикует статьи об электронике, программировании и астрофотографии, представил реализацию веб-сервера [сайт доступен только по IPv6, или вот версия, сохраненная в Wayback Machine] на 8-битном микроконтроллере — и даже разместил на нем статическую страницу. Конечно, грузится она далеко не мгновенно, однако именно эта неспешность может вызвать ностальгические воспоминания о временах, когда в интернет ходили через модемное соединение.

Сердцем этого необычного проекта стал микроконтроллер AVR64DD32: у него 8 килобайт статической памяти и 64 килобайта флеш-памяти [чип похож на Atmega328, но значительно дешевле]. Для работы устройству достаточно буквально пары милливатт. По словам автора, он хотел просто «поиграться» с маломощными чипами, однако ему пришлось столкнуться с несколькими трудностями, потребовавшими креативных решений. 

Одной из проблем стало подключение к интернету. 10BASE-T оказался не по плечу микроконтроллеру с ядром, работающим на частоте 24 МГц, тем более что линии ввода-вывода ограничены 12 МГц. В итоге разработчик решил обратиться к протоколу SLIP. Автору также пришлось «попотеть» над реализацией TCP. Для отправки и приема пакетов инженер использовал два буфера по 1500 байт каждый. Буфер передачи был необходим в том числе для вычисления контрольных сумм, предусмотренных протоколами TCP и IPv4. По словам инженера, можно было обойтись и одним буфером, но тогда пришлось бы усложнять код.

Несмотря на скромные аппаратные ресурсы, миниатюрная система может поддерживать до 200 одновременных TCP-соединений. Лимит не очень большой, однако для задач проекта его оказалось более чем достаточно. Итоговая пропускная способность составляет примерно 2 Кбайта/c — скромный, но весьма впечатляющий результат для сервера на микроконтроллере. Что интересно, материалы в блоге автора распространяются по лицензии CC BY-NC-SA 4.0; там можно ознакомиться как с исходным кодом проекта, так и скачать готовый бинарный файл

Beeline Cloud — безопасный облачный провайдер. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.

Другие публикации у нас в блоге и на ИТ-площадке «вАЙТИ»:

Комментарии (0)