ちょっとしたテキストやプログラミングコードを共有したい時にGistやPastebinといったサービスを使います。匿名で使えるものもあり、Pastebinではパスワードのリークなどに使われたりもします。 今回紹介するPurrito Binはコマンドラインから使えるファイルアップロードサービスで、暗号化にも対応しています。

Purrito Binの使い方

Purrito Binはこんなスクリプトを準備するだけです。

# POSIX shell client to upload standard paste
purr() {
  url="$(curl --silent --data-binary "@${1:-/dev/stdin}" bsd.ac:42069)"
  echo "${url}"
}

# POSIX shell client to upload encrypted paste
meow() {
  key="$(openssl rand -hex 32)"
  url="$(openssl enc -aes-256-cbc -K ${key} -iv 00000000000000000000000000000000 -e -base64 -A < ${1:-/dev/stdin} | purr)"
  echo "${url%\/*}/paste.html#${url##*\/}_${key}"
}

後はファイルを指定して実行するだけです。

$ purr index.html 
https://bsd.ac/barwz0t

結果としてURLが返ってきます。

暗号化してアップロードしたい時には meow コマンドを使います。復号化キーが付いたURLが生成されます(筆者環境ではうまく表示できませんでした)。復号化キーが分からなければ、Purrito Bin運営者でも元に戻すことはできません。そんなセキュアな使い方もできるのが面白いです。

Purrito BinはC++製のオープンソース・ソフトウェア(ISC License)です。

Purrito Bin PurritoBin/PurritoBin: ultra fast, minimalistic, encrypted command line paste-bin