Представлен публике публичный инициатива Doom Over DNS

2 мин
Представлен публике публичный инициатива Doom Over DNS

Разработчик дам Райс представил открытый инициатива под названием 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. Для загрузки требуется токен программный оболочку Cloudflare с правами редактирования DNS-зоны. Загрузите его с помощью команды Set-CFCredential из модуля TXTRecords.

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

Поделиться

TelegramVK