github.com/prologic/fish

A simple command-line utility written in Go that supports both Blowfish and Twofish.


Keywords
blowfish, command-line-tool, golang, twofish
License
Other
Install
go get github.com/prologic/fish

Documentation

fish

A simple command-line utility written in Go that supports both Blowfish and Twofish.

fish supports reading the encryption key securely from a prompt or passed via the -k option. You may use other UNIX tools such as base64 to encode the resulting cipher text for portability.

Table of Contents

Created by gh-md-toc

Getting Started

Install from Releases

You can install fish by simply downloading the latest version from the Release page for your platform and placing the binary in your $PATH.

For convenience you can run one of the following shell pipelines which will download and install the latest release binary into /usr/local/bin (modify to suit):

For Linux x86_64:

curl -s https://api.github.com/repos/prologic/fish/releases/latest | grep browser_download_url | grep Linux_x86_64 | cut -d '"' -f 4 | wget -q -O - -i - | tar -xv fish && mv fish /usr/local/bin/fish

For MacOS x86_64:

curl -s https://api.github.com/repos/prologic/fish/releases/latest | grep browser_download_url | grep Darwin_x86_64 | cut -d '"' -f 4 | wget -q -O - -i - | tar -xv fish && mv fish /usr/local/bin/fish

For Windows, there are published binaries as well. Download and place in your environment as appropriate.

Install from Homebrew

On MacOS you can install fish using Homebrew:

brew tap prologic/fish
brew install fish

Install from Source

To install fish from source you can run go get directly if you have a Go environment setup:

go get github.com/prologic/fish

NOTE: Be sure to have $GOBIN (if not empty) or your $GOPATH/bin in your $PATH. See Compile and install packages and dependencies

Or grab the source code and build:

git clone https://github.com/prologic/fish.git
cd fish
make build

And optionally run make install to place the binary fish in your $GOBIN or $GOPATH/bin (again see note above).

Usage

Encryption:

$ echo 'Hell World' | ./fish -e -k "$(pwgen 16 1)" - | base64
AAAAAAAAAAC40+fOWO4DOCu8cfLIXKMV

Decryption:

$ echo "AAAAAAAAAAAnQWrQ/Dw26TjqTfxqve87" | base64 -d | ./fish -d -k "${key}" -
Hell World

Add the -2 option to use Twofish instead of Blowfish (//the default//).

License

fish is licensed under the terms of the MIT License