Go to file
Brian Barto b4fd33a43b Create an abstraction layer between terminal and main nms code so we can substitute ncurses functions without duplicating code.
modified:   Makefile
	deleted:    src/nms-ncurses.c
	modified:   src/nms.c
	new file:   src/nmsterm.c
	new file:   src/nmsterm.h
	new file:   src/nmsterm_ncurses.c
	modified:   src/sneakers.c
2017-01-18 18:51:10 -05:00
src Create an abstraction layer between terminal and main nms code so we can substitute ncurses functions without duplicating code. 2017-01-18 18:51:10 -05:00
.gitignore minor Makefile cleanup and introduced gcc warnings 2016-04-28 04:51:47 +00:00
LICENSE Replace license info with MIT 2017-01-11 21:07:30 -05:00
Makefile Create an abstraction layer between terminal and main nms code so we can substitute ncurses functions without duplicating code. 2017-01-18 18:51:10 -05:00
README.md Renamed the files 2017-01-16 16:28:12 -05:00
no-more-secrets.spec Updating description text for the spec file 2016-05-20 10:15:56 -04:00

README.md

Version

No More Secrets

This project provides a command line tool called nms that recreates the famous data decryption effect seen on screen in the 1992 hacker movie Sneakers. For reference, you can see this effect at 0:35 in this movie clip.

This command works on piped data. Pipe any ASCII or UTF-8 text to nms, and it will apply the hollywood effect, initially showing encrypted data, then starting a decryption sequence to reveal the original plaintext characters.

Screenshot

Also included in this project is a program called sneakers that recreates what we see in the above movie clip. Note that this program requires the user to select one of the menu options before it terminates.

Screenshot

This project has no dependencies, but it does rely on ANSI/VT100 escape sequences to recreate the effect. Most modern terminal programs support these sequences so this should not be an issue for most users. If yours does not, you may need to use an alternate terminal program like xTerm.

Table of Contents

  1. Download and Install
  2. Usage
  3. License

Download and Install

More and more unix/linux platforms are including this project in their package manager. You may wish to search your package manager to see if it is an installation option. If you install form a package manager, please check that you have the latest version (nms -v). If not, I suggest installing from source (see below).

To install this project from source, you will need to have the tools git, gcc, and make to download and build it. Install them from your package manager if they are not already installed.

Once you have the necessary tools installed, follow these instructions:

Install:

git clone https://github.com/bartobri/no-more-secrets.git
cd ./no-more-secrets
make
sudo make install

Uninstall:

$ sudo make uninstall

Usage

nms works on piped data. Pipe any ASCII or UTF-8 characters to it and enjoy the magic. In the below examples, I use a simple directory listing.

ls -l | nms
ls -l | nms -a           // Set auto-decrypt flag
ls -l | nms -f green     // Set foreground color to green
ls -l | nms -r 123456    // Set return options
ls -l | nms -c           // Clear screen
nms -v                   // Display version

Note that by default, after the initial encrypted characters are displayed, nms will wait for the user to press a key before initiating the decryption sequence. This is how the decryption functionality is depicted in the movie.

Command Line Options

-a

Set the auto-decrypt flag. This will automatically start the decryption sequence without requiring a key press.

-f <color>

Set the foreground color of the decrypted text to the color specified. Valid options are white, yellow, black, magenta, blue, green, or red. This is blue by default.

-r <options>

Sets the character options that nms requires the user to choose from before it terminates execution. This is intended to be used for cases where the data piped to nms contains a menu with a set of options. Note that nms will print the selection to stdout before terminating.

-c

Clear the screen prior to printing any output. Specifically, it saves the state of the terminal (all current output), and restores it once the effect is comlpeted. Note that when using this option, nms requires the user to press a key before restoring the terminal.

-v

Display version info.

License

This program is free software; you can redistribute it and/or modify it under the terms of the the MIT License (MIT). See LICENSE for more details.