1.0.1 • Published 4 years ago
hide-cli v1.0.1
hide-cli
A simple cli tool that will deeply rename everything in a target directory to obscure its contents.
Install
npm i -g hide-cli
Use
hide path/to/hide [--key|-k] [--hide|-h] [--show|-s]
Defaults
By default, if you pass no options, the target directory's contents will be toggled based on whether or not some of the content is already obscured.
Options
key
a key to use when encoding the names of the folder contentshide
a flag to force the contents to hideshow
a flag to force the contents to show
Example
hide my/secret-stuff -k secretkey
How it works
Hiding
- Creates a UUID for each file path
- Encodes the file name using a key rotation cypher with a given key, if no key is given it uses the target directory's full path as the key
- Renames the file to mapped UUID
- Stores map of UUID to encoded file names inside a
records
file within the target directory
Showing
- Reads the
records
file to build the UUID to encoded name map - Decodes the file name mapped from its UUID using the rotation cypher and the given key, if no key is given it uses the target directory's full path as the key
- Renames the file to the decoded file name
Notes
- If you don't specify a key and you move the directory, the key used to encode the records will no longer match and you'll need to move the directory back to it's previous location to decode
- All this does is rename the files and folders and remove the extensions. The content of the files remains unchanged.
- DANGER Be careful where you point this, it will deeply rename the contents of whatever you target.