Разработчик Адам Райс представил открытый проект под названием Doom Over DNS для игры в условно-бесплатную версию популярного шутера с помощью стандартных сетевых возможностей интернета.

«В какой‑то момент здравомыслящий человек спросил: „DNS преобразует имена в IP‑адреса, что ещё он может делать?“ Ответ, по‑видимому, — запускать Doom. Записи DNS TXT могут содержать произвольный текст. Cloudflare будет предоставлять их глобально, бесплатно, кэшируя на границе сети, любому, кто запросит. Это не файловая система хранения. Они не были разработаны как файловая система хранения. Никто в IETF не думал об их использовании в качестве файловой системы хранения, когда писал RFC 1035. И всё же вот мы здесь. Этот проект сжимает всю условно‑бесплатную версию DOOM, разбивает её на ~1964 записи DNS TXT в одной зоне Cloudflare и воспроизводит её во время выполнения, используя только скрипт PowerShell и общедоступные DNS‑запросы. Файл WAD никогда не записывается на диск, а DLL‑файлы игрового движка.NET загружаются непосредственно в память», — пояснил Райс.

Запуск игры:

  • 1. Install PowerShell 7 (if you don't have it) winget install Microsoft.PowerShell

  • 2. Play DOOM .\Start-DoomOverDNS.ps1 -PrimaryZone 'example.com'

Вот и всё. Всё остальное автоматически загружается из DNS с помощью команды Resolve-DNSName. Для загрузки требуется токен API Cloudflare с правами редактирования DNS-зоны. Загрузите его с помощью команды Set-CFCredential из модуля TXTRecords.

«Бесплатная зона в Cloudflare содержит 185 фрагментов данных. В зонах Pro/Business/Enterprise помещается 3400 фрагментов. Только для WAD‑файла требуется около 1199 фрагментов, поэтому пользователям бесплатного уровня необходимо несколько доменов. Передайте их в виде массива в параметр ‑Zones, и модуль автоматически распределит фрагменты. В одной зоне Pro поместится всё. Возобновление прерванных загрузок Если загрузка прервана, Publish‑TXTStripe поддерживает параметр ‑Resume — он проверяет хеш, находит последний корректный фрагмент и продолжает с того места, где остановился», — пояснил автор проекта.