shell based SSL/TLS tester: testssl.sh

testssl.sh is a free command line tool which checks a server’s service on any port for the support of TLS/SSL ciphers, protocols as well as some flaws. It’s designed to provide a clear output for a “is this good or bad” decision. It works for Linux and BSD out of the box – no need to install or configure something, no gems, CPAN, pip or the like.

If you use the Qualys online SSL checker a lot, you need to try this, it’s very fast if you are experimenting with SSL config options.

Source: shell based SSL/TLS tester: testssl.sh

Command Line tools

Here are the tools I use to live my  life on the command line:

Mail

Client: Mutt
Filtering: procmail, imapfilter
Search: mairix

General Web

Client: Lynx, Links, Elinks, w3m
Tools: wget, aria2c, curl

Web Services

Toodledoo: toodledo (ruby gem)
Misc search engines: Surfraw
Google Calendar: gagenda
Ebay: esniper
BBC Iplayer: get_iplayer
Google Drive: gdrive
Google Mail: mutt (via IMAP)
StackExchange: sx.el (via Emacs)

Social Media

Twitter: Rainbowstream
Facebook: fbstream (RIP)
Hackernews: hackernews (via Emacs)
Chat: centerim

Software

Editor: Emacs, Vim
Icinga: icli, qicinga
RSS: Newsbeuter, Feednix
Weather: weatherman

File Viewers

MS Word docx: docx2txt.pl
MS Word: antiword
PDF: pdftohtml
RTF: unrtf
(all of these can be integrated into mutt via ~/.mailcap)

Commandline IMAP Mail check & Screen

I wanted a commandline IMAP mailbox checker so I wrote one: imapchkr

Normal output for this is as below:

But I decided I wanted to embed it in my GNU screen hardstatus so expanded it to offer a short output option (imapchkr -s). See bottom left corner for output.

Configure your ~/.screenrc like this:

I’m also using gcalci for Google Calendar appointments.

“Invert” a dict in python

If you have a list/tuple in python and you want to use the items in there to return an index of the position of the item, you can do so like this:

a = ('archive', 'audio', 'document', 'video', 'executable',
'image', 'misc', 'parity')
lookup = { v:k for k,v in enumerate(a) }