#!/bin/sh

# POSIX shell client for PurritoBin to upload encrypted message

: "${P_SERVER=https://bsd.ac}"
: "${P_PORT=42069}"
: "${P_MAXTIME=30}"

# generate a 256 byte random key
# for using the aes-256-cbc cipher
key="$(openssl rand -hex 32)"
iv="$(openssl rand -hex 16)"
# calculate its encryption and upload it
url="$(openssl enc -aes-256-cbc -K ${key} -iv ${iv} -e -base64 -A < ${1:-/dev/stdin} | purr)"
printf %s\\n "${url%\/*}/paste.html#${url##*\/}_${key}_${iv}"
unset key iv url
