apaste
Software
skarnet.org
The apaste program
apaste is a program that reads one or more files, or its
standard input, and sends the data to an apasted
server.
Interface
apaste [ -S | -s ] [ -C cadir ] [ -d server[:port] ] [ -r rtimeout ] [ -w wtimeout ] file...
- apaste connects to a remote server via a plaintext or TLS-secured
connection, expecting to find an apasted server at the
other end.
- For every file given as argument, it sends the contents of file
over the network. If file is - (dash), then apaste's stdin is transmitted
until EOF.
- The server answers with a blob of six printable characters, named a slug.
Depending on the server configuration, it may embed the slug in a complete URL, for
easy copy-paste into a browser; or it may embed it in another way.
- apaste prints the slug to its stdout, then exits 0.
Exit codes
- 0
- Success. The data has been recorded by the server and available in
some way as indicated by the slug.
- 100
- Bad usage. apaste was run in an incorrect way.
- 111
- System call failed. This usually signals an issue with the
underlying operating system, or with the network in some way.
Options
- -S
- Normal, plain text connection to the server, even if the built-in default
is TLS. The built-in default can be changed via the --with-default-tls
or --without-default-tls options to configure.
- -s
- TLS connection to the server, even if the built-in default
is plain text. The built-in default can be changed via the --with-default-tls
or --without-default-tls options to configure.
- -C cadir
- When using a TLS connection, use cadir as the directory
containing the hashed names of the trust anchor certificates
(used for verifying the server's certificate chain). The built-in default
can be changed via the --with-default-cadir option to configure.
- -d server[:port]
- Connect to server server, port port. The built-in defaults
can be changed via the --with-default-server, --with-default-port,
and --with-default-tlsport options to configure.
- -r rtimeout
- If the server isn't answering with a slug within rtimeout
milliseconds, give up. The default is 0, meaning infinite: apaste will
wait forever for a server reply if necessary.
- -w wtimeout
- If the server hasn't accepted all the data within wtimeout
milliseconds, give up. The default is 0, meaning infinite: apaste will
take as much time as it needs to send its data.
Example usage
-
$ echo Blah blah. | apaste -
-
# apaste /etc/shadow
(Just kidding. Don't do that.)
Notes
- apaste is only a wrapper around
s6-tcpclient
(for plain connections) or
s6-tlsclient
(for TLS-tunneled connections), and
apastec that is the real client. The point of apaste
is to provide a short command line with good compiled-in defaults; make sure
your defaults are correct at configure time when building the apaste package.
- -, i.e. stdin, cannot be mentioned several times as an argument. It
can be transmitted with other files, but cannot be duplicated.