titan-upload.sh
A simple shell script implementing the client side of the Titan protocol. Should work on any POSIX system with `mktemp`, `openssl`, and `file`.
git clone git://thegonz.net/titan-upload/
titan-upload.sh -h
Usage: titan-upload.sh [-c CERT_FILE] [-k KEY_FILE] [-t TOKEN] [-m MIMETYPE] URI [FILE] Upload FILE to titan uri URI. If FILE is omitted, create file in $EDITOR then upload. If FILE is -, it will be read from standard input. If -m is not used, the mimetype will be: * text/gemini if FILE ends in .gmi or if FILE was omitted or was -; * determined using the 'file' command otherwise. Paths to a client certificate and its private key may optionally be provided, using either environment variables CLIENT_CERT and CLIENT_KEY, or the -c and -k options (which take priority over variables).
Source