pipe2tmpfile1
Simple tool that allows commands that expect files to work with data coming through a pipe
Usage
-
echo input | pipe2tmpfile <command> @@keyfile@@
command will run with a temporary file containing the content input.
Overview
This is a simple tool that converts the output of a pipe into a temporary file and runs the command replacing the token @@keyfile@@ with the filename of temporary file, which gets deleted after the command finishes running. A simple example to sign a file using a minisig key stored in sphinx:
Examples
-
getpwd | env/bin/sphinx get minisig://user1 minisign-test-key | pipe2tmpfile minisign -S -s @@keyfile@@ -m filetosign
uses minisign to sign the file filetosign using the key fetched from sphinx.
Security considerations
Since the output of sphinx is generally sensitive it is advised to not write it to permanent storage. Thus pipe2tmpfile tries to store it in a tmpfs, by default under /run/user/$(id -u), however users can provide an alternative path to store these files by setting the environment variable keyroot.
The temporary files are deleted after the execution of the command.