no-more-secrets-rust/README.md

119 lines
3.8 KiB
Markdown
Raw Normal View History

![Version](https://img.shields.io/badge/Version-0.3.0-green.svg)
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](https://www.youtube.com/watch?v=F5bAa6gFvLs&t=35).
2016-04-25 10:40:19 -07:00
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.
2016-04-25 11:14:28 -07:00
![Screenshot](http://www.brianbarto.info/extern/images/nms/nms.gif)
2016-04-25 11:14:28 -07:00
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.
2016-04-25 10:41:19 -07:00
![Screenshot](http://www.brianbarto.info/extern/images/nms/sneakers.gif)
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
-----------------
2016-04-22 13:25:21 -07:00
1. [Download and Install](#download-and-install)
2. [Usage](#usage)
3. [License](#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
-----
2017-01-13 09:29:53 -08:00
`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.
```
2017-01-13 09:29:53 -08:00
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
2017-01-13 09:29:53 -08:00
ls -l | nms -c // Clear screen
nms -v // Display version
```
2017-01-13 09:29:53 -08:00
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`
2017-01-13 09:29:53 -08:00
Set the auto-decrypt flag. This will automatically start the
decryption sequence without requiring a key press.
`-f <color>`
2017-01-13 09:29:53 -08:00
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`
2017-01-13 09:29:53 -08:00
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.
2016-04-22 13:25:21 -07:00
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](LICENSE) for
more details.