🧳 Suitcase Bazaar

Swiss Army Knife

$ Suitcase --name="🇨🇭 Swiss Army Knife" \
  --control-title="Generate UUID and Copy" \
    --control-type="button" \
    --control-action="/usr/bin/uuidgen | /usr/bin/pbcopy" \
  --control-title="Hashing" \
    --control-type="label" \
  --control-title="String to hash" \
    --control-type="text-field" \
    --control-identifier="input.textfield" \
  --control-title=" " \
    --control-type="label" \
    --control-group-identifier="g.md5" \
    --control-identifier="output.md5" \
  --control-title="MD5" \
    --control-type="button" \
    --control-group-identifier="g.md5" \
    --control-action="/sbin/md5" \
    --control-action-parameter="-q,-s,input.textfield" \
    --control-action-destination="output.md5" \
  --control-title="Copy" \
    --control-type="button" \
    --control-group-identifier="g.md5" \
    --control-action="/usr/bin/printenv output.md5 | /usr/bin/pbcopy" \
  --control-title=" " \
    --control-type="label" \
    --control-group-identifier="g.sha1" \
    --control-identifier="output.sha1" \
   --control-title="SHA1" \
    --control-type="button" \
    --control-group-identifier="g.sha1" \
    --control-action="/usr/bin/printenv input.textfield | /usr/bin/openssl sha1" \
    --control-action-destination="output.sha1" \
  --control-title="Copy" \
    --control-type="button" \
    --control-group-identifier="g.sha1" \
    --control-action="/usr/bin/printenv output.sha1 | /usr/bin/pbcopy" \
  --control-title=" " \
    --control-type="label" \
    --control-group-identifier="g.sha256" \
    --control-identifier="output.sha256" \
  --control-title="SHA256" \
    --control-type="button" \
    --control-group-identifier="g.sha256" \
    --control-action="/usr/bin/printenv input.textfield | /usr/bin/openssl sha256" \
    --control-action-destination="output.sha256" \
  --control-title="Copy" \
    --control-type="button" \
    --control-group-identifier="g.sha256" \
    --control-action="/usr/bin/printenv output.sha256 | /usr/bin/pbcopy" \
  --control-title="Encoding" \
    --control-type="label" \
    --control-title="String to encode" \
    --control-type="text-field" \
    --control-identifier="input.textfield.2" \
  --control-title=" " \
    --control-type="label" \
    --control-group-identifier="g.base64" \
    --control-identifier="output.base64" \
  --control-title="Base64" \
    --control-type="button" \
    --control-group-identifier="g.base64" \
    --control-action="/usr/bin/printenv input.textfield.2 | /usr/bin/base64" \
    --control-action-destination="output.base64" \
  --control-title="Copy" \
    --control-type="button" \
    --control-group-identifier="g.base64" \
    --control-action="/usr/bin/printenv output.base64 | /usr/bin/pbcopy" \
  --control-title="Hash a file" \
    --control-type="label" \
    --control-title="📄 Drop a file here…" \
    --control-type="dropped-files-label" \
  --control-title=" " \
    --control-type="label" \
    --control-group-identifier="g.md5.file" \
    --control-identifier="output.md5.file" \
  --control-title="MD5" \
    --control-type="button" \
    --control-group-identifier="g.md5.file" \
    --control-action="/sbin/md5" \
    --control-action-parameter="-q,SUITCASE_DROPPED_FILES" \
    --control-action-destination="output.md5.file"