hypergit CLI for managing peer-to-peer git repositories
madonctl is a command line client for the Mastodon distributed social network API.
xsv is a command line program for indexing, slicing, analyzing, splitting and joining CSV files.
Announcing the Arduino Command Line Interface (CLI)
Browsh is a fully-modern text-based browser. It renders anything that a modern browser can
mbsync - synchronize IMAP4 and Maildir mailboxes
Poezio is a free #console
XMPP client (the protocol on which the Jabber IM network is built). Its goal is to let you connect very easily (no account creation needed) to the network and join various chatrooms, immediately. It tries to look like the most famous IRC clients (weechat, irssi, etc). Many commands are identical and you won't be lost if you already know these clients. Configuration can be made in a configuration file or directly from the client.
Xiki: Expand your Command Line!
Xiki makes the shell console more friendly and powerful
GPG Command Line Interface
Ah, a power user. Adjust the paths if your files are in different places. Anything inside <brackets> needs to be changed by the user. You can also use a graphical text editor to create and view these files instead of nano and less.
Step 0 - Prerequisites
You need to have the gpg binary installed.
You need to have your recipient's key in a file. In this example it will be located at /home/user/recipient-public-key.txt.
Step 1 - Generate your own keypair
This will open the generate key menu. The default options are secure. [1,2048,0,y,<username>,<blank>,<blank>,o,<passphrase>,<passphrase>] Do NOT enter your real-life name, just whatever username you want to be known by.
Step 2 - Import your recipient's key
gpg --import /home/user/recipient-public-key.txt
This adds your recipient's public key to your keyring.
Step 3 - Compose your message
Nano is a command line text editor. Use vim or a graphical one if you prefer.
Step 4 - Encrypt your message
gpg --encrypt --armor --recipient <recipient name or key id> /home/user/message.txt
This encrypts your message.txt file using your recipient's public key. The armor option tells GPG to encode th encrypted data using regular letters and numbers (ASCII-armor). The encrypted message file is located in /home/user/message.txt.asc.
Step 5 - Send your message
To view your encrypted message open /home/user/message.txt.asc
Now save your own public key to a file.
gpg --export <your-username> --output /home/user/<username>-public-key.txt
And to view it, open that file
Send your encrypted message and your public key to your recipient.
Step 6 - Decrypt a message
Your recipient will first use their private key to decrypt the message you sent to them. Then they will complete the process above using your public key and encrypt a message back to you. The message you receive will look similar to the message you sent, but your private key and passphrase can decrypt it. Save the response as the file /home/user/response.txt.asc.
gpg --output /home/user/response.txt --decrypt /home/user/response.txt.asc
Now view the file you created.
That's how you send and receive messages using the GPG command line interface.
On this blog I post articles on systems administration and programming, particularly where it relates to my interests in Unix, GNU/Linux, shell scripting, C, Perl, Vim, Git, or whatever else takes my interest from a technical bent. A favorite topic is using command-line tools effectively and efficiently.