Интересные проекты: инструмент командной строки, воссоздающий эффект дешифровки данных из фильма «Тихушники» 1992 года
Команда преображает текст в кракозябры, а затем эффектно его расшифровывает.
4К открытий4К показов
«Тихушники» (Sneakers) — один из знаменитых американских детективов 90-х годов, посвященный нелегкой доле первых хакеров. В одном из эпизодов появляется так полюбившаяся многим зрителям картинка дешифровки данных на экране компьютера. Одному из пользователей GitHub пришла идея воссоздать ее у себя в консоли.
«Больше никаких секретов»
Проект представляет из себя инструмент командной строки с названием nms
(no more secrets — название того самого эпизода). Эта команда работает через конвейеры: сначала по-голливудски преображает любой текст кодировки ASCII или UTF-8 в зашифрованный набор символов, а затем эффектно расшифровывает все обратно.
В проект так же включена команда sneakers
, полностью воспроизводящая текст, высвечивавшийся на экране монитора в фильме. Примечательно, что перед завершением программа требует от пользователя выбрать один из пунктов меню.
Изначально в проекте не предусматривалось никаких зависимостей, однако для воссоздания эффекта все же пришлось использовать escape-последовательности терминала ANSI/VT100. Большинство современных терминалов поддерживают эти последовательности, так что у пользователей не должно возникнуть особых проблем с запуском новой программы. Но на всякий случай в проект встроена библиотека NCurses (правда, с потерей встроенного функционала, ведь ncurses всегда очищает экран прежде, чем отобразить вывод).
Установка
Установить nms можно через большинство пакетных менеджеров. Чтобы собрать проект из исходников, введите в терминале следующее:
Если ваш терминал не поддерживает escape-последовательности ANSI/VT100, вам потребуется библиотека ncurses. Установив её, соберите проект:
Использование
nms работает с любыми данными, переданными через конвейер. В примере ниже используется простой вывод содержимого директории:
По умолчанию nms не начнёт расшифровывать данные, пока вы не нажмёте любую клавишу (именно так это было показано в фильме).
Для желающих использовать подобные эффекты в своих приложениях автор проекта выложил C-библиотеку LibNMS.
4К открытий4К показов