Reference

fb(1)

a client for https://paste.xinu.at

NAME

fb – a client for https://paste.xinu.at

SYNOPSIS

fb [options] file|directory|id://ID|URL ...

fb [-dg] [options] ID|URL ...

fb [-hv]

DESCRIPTION

fb is a client to https://paste.xinu.at which allows the user to easily upload, delete or download files. By default, files will be uploaded as-is and a link to the file will be printed to stdout after each upload. If multiple files are uploaded a multipaste ( see --multipaste ) will be created automatically.

Directories will be packed into a tarball and the resulting upload.tar file will be uploaded. If no arguments are given, data will be read from stdin into a temporary file that will be uploaded as soon as EOF is received. If the file being uploaded is bigger than 10MiB fb will query the server for the maximum upload size and abort the upload if the file would be rejected.

Before terminating, fb will try to copy all links into the clipboard. Depending on the environment from which fb was executed. If you want this to work, you need to install the correct tool for your environment:

xclip(1)

when running on X11

wl-clipboard(1)

when running on wayland

pbcopy(1)

when running on Mac OS / Darwin

If you want to use paste.xinu.at, you need to create an account there and then run ‘fb -a’ to create an API key.

IDs of existing pastes can either be given as URLs pointing to that paste or by prefixing the ID with "id://".

OPTIONS

-c, --compress

Compress the files to be uploaded using gzip(1). This affects all files including piped content and directories. If specified twice, xz(1) will be used rather than gzip. If used in conjunction with the -g option this decompresses the download before it's output to stdout.

-d, --delete

Delete the IDs. You can no longer upload files in this mode. If the argument is a URL, fb will try to extract the ID. This option also accepts IDs without the "id://" prefix.

--config <config file>

Use an alternative configuration file. The default value is "$XDG_CONFIG_HOME/fb-client/config".

-e extension, --extension extension

Change the extension used for highlighting. You can also do this if you have already uploaded the file by appending the extension to the URL. https://paste.xinu.at/<ID>/bash will change the syntax highlighting to bash.

-n <file name>, --name <file name>

Use the specified file name for the upload when pasting from stdin. Defaults to "stdin"

-a, --create-apikey

Create a new API key. Asks for username and password.

-H, --history

Display a history of uploads.

-g, --get

Download the IDs and output on stdout. Please take care when using this, as binary data may cause unexpected results when being output directly to a terminal. You can no longer upload files in this mode. If the argument is a URL, fb will try to extract the ID. This option also accepts IDs without the "id://" prefix.

-m, --multipaste

Create a multipaste of the IDs/files/directories/URLs. This uploads files as always, but then creates a multipaste combining all of them. URLs starting with the pastebin URL will have their ID extracted and will not be downloaded. Only the multipaste URL will be displayed and copied to the clipboard. This option is enabled automatically if multiple files are uploaded.

-M <length>, --min-id-length <length>

Request the server to generate IDs of at least <length> characters. The minimum supported length are two characters.

-h, --help

Display a short help message.

-t, --tar

Upload a tar file containing all files and directories specified on the command line. The file name can be specified with the -n option. (don't add any extensions)

-v, --version

Display the client version.

-D, --debug

Display debugging information.

CONFIGURATION FILES

$XDG_CONFIG_HOME/fb-client/apikey

This file contains the API key to use for authentication.

$XDG_CONFIG_HOME/fb-client/config

This file allows to override certain variables by using the format 'option_name="value"'. Both, the option value and name, are case-sensitive string literals. Environment variables can be used in the value by using the $VARIABLE_NAME syntax.

The following option names are supported:

pastebin

The URL of the pastebin you want to use

clipboard_cmd

The command used to copy URLs of uploaded files to the clipboard. This defaults to xclip(1) on X11, wl-copy(1) on Wayland and pbcopy(1) on Mac OS / Darwin.

clipboard_target

Configure which clipboard to use. Allowed settings:

default

Use the default behavior, i.e. "primary" for X11/xclip and "clipboard" for Wayland/wl-copy. This is implicitly the default if not specified.

none / off

Disable copying the upload URL into the clipboard.

primary

Enforce copy into the "primary" selection (for Wayland/wl-copy).

clipboard

Enforce copy into the "clipboard" selection (for X11/xclip).

apikey_file

The file that contains the API key. This defaults to "$XDG_CONFIG_HOME/fb-client/apikey"

ENVIRONMENT

Some options can be changed by modifying environment variables:

GZIP

Assigning GZIP will make the gzip-program treat it's value as if they had been appended to the command line.

XZ_OPTS

The XZ_OPTS environment variable can be used in order to pass additional options to xz, in case xz is used for compression.

TMPDIR

Setting TMPDIR to some directory where fb creates temporary files inside this directory rather than the system default.

EXAMPLES

fb -tc directory file

This will create a .tar archive containing the directory and the file and compress it using gzip and upload one archive.

fb -c directory file

This will create a .tar archive containing only the directory. Both (directory and file) will be compressed using gzip and uploaded independently.

fb -cc directory

This will create a .tar archive containing only the directory and compress it using xz.

fb id://1bAc directory file https://paste.xinu.at/42SomeID/ http://example.com/example.png

This will create a multipaste containing an existing paste with the ID 1bAc, a tarball of the directory, the file, the existing paste 42SomeID, the file example.png, which will be downloaded by the client and then uploaded to the server.

make |& fb

This will upload the output of make (stdout and stderr) in csh and similar shells.

SEE ALSO

curl(1), gzip(1), tar(1), xz(1), xclip(1)

AUTHORS

fb was written by

and may be copied under the terms of the GPLv3.

History

--compress since Arch Linux 2026-11-01; --create-apikey since Arch Linux 2026-11-01; --debug since Arch Linux 2026-11-01; --delete since Arch Linux 2026-11-01; --extension since Arch Linux 2026-11-01; --get since Arch Linux 2026-11-01; --help since Arch Linux 2026-11-01; --history since Arch Linux 2026-11-01; --min-id-length since Arch Linux 2026-11-01; --multipaste since Arch Linux 2026-11-01; --tar since Arch Linux 2026-11-01; --version since Arch Linux 2026-11-01; -D since Arch Linux 2026-11-01; -H since Arch Linux 2026-11-01; -M since Arch Linux 2026-11-01; -a since Arch Linux 2026-11-01; -c since Arch Linux 2026-11-01; -d since Arch Linux 2026-11-01; -e since Arch Linux 2026-11-01; -g since Arch Linux 2026-11-01; -h since Arch Linux 2026-11-01; -m since Arch Linux 2026-11-01; -t since Arch Linux 2026-11-01; -v since Arch Linux 2026-11-01.

-javahome until Debian 13 (Trixie); -jvmArgs until Debian 13 (Trixie); -maxHeap until Debian 13 (Trixie).