Simple Note System ================== ## About The Simple Note System is a shell script partially inspired by [pass], in that it stores notes as normal, plaintext, files in normal folders. It uses the environment-specified editor, and can be configured to use GPG encryption. SNS was originally conceived one morning during an update to a popular note-taking app. The thought occurred that a note system need not reinvent the wheel with its own GUI editor and proprietary file format, but instead could use the tools already provided by the operating system. As it developed, OpenSSL encryption was dropped in favor of GPG, and the script was almost entirely rewritten as SNSv2, and rewritten again as SNS v2a. simple note system ================== usage: sns [-cedlp] sns [-hi] -c | --create : Create note -d | --delete : Delete note -e | --edit : Open note for editing -h | --help : Display this message -i | --init : Write default config and initalize SNS store" -l | --list : List all notes in NOTEBOOK -p | --print : Print note to console ## Installing ### Notice: If you are upgrading to SNS v2a from an earlier version, please move $HOME/.config/sns to $HOME/.local/sns To install, place `sns.sh` in your path, To uninstall, remove the files you copied. Notes will still exist in $HOME/.local/sns Once installed, SNS will require you to run `sns -i [gpgkey]`, to indicate you would like to create its note store and write its default configuration. By default, SNS will set itself up in `~/.local/sns` **A word about encryption:** When editing an encrypted note, SNS will decrypt the note to a temporary file inside its store. The temporary file will have a random name, but a predictable location. It can only be read by the user and root, and is deleted after editing, but can be recovered by forensic utilities. SNS's encryption is mainly useful when the store is being _transferred over a network_. ## Vim Encryption As of SNS v2b, SNS will look for a file named .vim in its store. If found, SNS will start in Vim mode, calling Vim directly instead of the environment's $EDITOR, and using Vim's native functionality for in-place encryption. At this time, SNS does not provide a way to convert between store formats. Additionally, SNS v2b does not support printing Vim-encrypted notes to stdout; you will need to open the note for editing and copy/paste out of Vim for the time being. Finally, when using Vim mode, treat -c and -e separately. ## Tips and Tricks * To list all notes in all notebooks, use `sns -l .` ## Credits The code here is my own, however much of SNS v2a's design and behavior was influenced by [pass]. ## License Simple Note System is licensed under the terms of the GNU General Public License Version 2, as detailed in `LICENSE`. ## To Do * Switch back to calling $EDITOR instead of vim * implement in-place encryption (vim only) ## Bugs and Feature Requests If something seems off, or just doesn't work, please open an issue and I'll look into it. Feature requests should be submitted to jon.lewis@xenami.net with [SNS Feature Request] in the subject line. [pass]: http://passwordstore.org