You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
5.3 KiB

.\" Automatically generated by Pandoc
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.TH "feuille" "1" "November 2022" "feuille 2.1.4" ""
\f[B]feuille\f[R] - socket-based pastebin
\f[B]feuille\f[R] [-abfhiopstuUvVw]
\f[B]feuille\f[R] is a fast, dead-simple socket-based pastebin that
allows a user to send text, logs or code to your server.
It focuses on speed, code quality, and security.
\f[B]-a address\f[R]
Sets the address that \f[B]feuille\f[R] will listen on.
If set to \f[V]*\f[R], \f[B]feuille\f[R] will listen on the IPv6 address
\f[V]::\f[R] and enable dual-stack mode, which makes \f[B]feuille\f[R]
listen on both IPv4 and IPv6 addresses (won\[cq]t work on OpenBSD).
Default: \f[V]\f[R]
\f[B]-b bytes\f[R]
Sets the buffer size (in bytes) used to receive data from a client.
A smaller buffer means more memory allocations and exchanges with the
connection, while a larger buffer induces less memory allocations but
more loss if not filled completely.
The difference is minimal, no need to worry about it.
Default: \f[V]131072\f[R]B (128KiB)
Makes \f[B]feuille\f[R] run in the forground.
Default: disabled
Displays **feuille*\[cq]s help page.
\f[B]-i length\f[R]
Sets the minimum ID length in characters.
If a paste with the same ID exists, the length will be increased (for
that paste only).
Default: \f[V]4\f[R] (Maximum: \f[V]254\f[R])
\f[B]-p port\f[R]
Sets the port that \f[B]feuille\f[R] will listen on.
Default: \f[V]9999\f[R]
\f[B]-o path\f[R]
Sets the path where \f[B]feuille\f[R] will output the pastes (and
chroot, if possible).
Default: \f[V]/var/www/feuille\f[R]
\f[B]-s bytes\f[R]
Sets the maximum size for every paste (in bytes).
Default: \f[V]1048576\f[R]B (1MiB)
\f[B]-t seconds\f[R]
Sets the timeout for the client to send the paste (in seconds).
If set to zero, no timeout is set.
(Not recommended.)
Default: \f[V]2\f[R]s
Sets the user that will be used when dropping root privileges.
\f[B]Warning\f[R]: requires root privileges.
Default: \f[V]www\f[R]
Sets the base URL which will be prepended to the ID and sent to the
You do not need to put a slash at the end.
Default: \f[V]http://localhost\f[R]
Adds 1 to the verbose level.
Default: \f[V]0\f[R]
Displays \f[B]feuille\f[R]\[cq]s version and authors.
Sets the number of processes that will be spawned to handle the
Those are \f[I]real\f[R] processes, not green / posix threads, you might
not want to set this to a huge number.
Default: the greater of the number of cores in your computer and
\f[V]4\f[R] workers.
\f[B]sudo feuille\f[R]
Runs feuille in the background, chrooting into
\f[V]/var/www/feuille\f[R], dropping root privileges and spawning worker
processes to accept incoming connections.
\f[B]feuille -p 1337\f[R]
Runs feuille in the background \f[I]without\f[R] root privileges on port
\f[B]feuille\f[R] won\[cq]t be able to chroot or switch to another user,
and might not be able to write to the default output folder.
\f[B]feuille -P ./pastebins/\f[R]
Same as before, but this time with a different path:
If the folder doesn\[cq]t exist, it is created with the right
\f[B]sudo feuille -U \[lq]\[rq]\f[R]
Runs feuille and sets the base address to
\f[B]sudo feuille -w 1\f[R]
Runs feuille \[lq]single-threaded\[rq].
(Actually, there\[cq]s a main thread that does nothing and a thread that
does the actual work.)
\f[B]sudo feuille -fvP debug_pastes/\f[R]
Runs feuille in the foreground, with verbose mode enabled, and makes it
output its pastes to the \f[V]debug_pastes/\f[R] folder.
Useful for debugging purposes.
\f[B]sudo feuille -u nobody\f[R]
Runs feuille using the user \f[V]nobody\f[R], instead of user
\f[B]sudo feuille -s 8388608\f[R]
Runs feuille with a maximum file size of 8388608 bytes (8MiB).
\f[B]sudo feuille -t 2\f[R]
Runs feuille with a timeout of 2 seconds.
By default, \f[B]feuille\f[R] runs in the background.
The logs should be located at \f[V]/var/log/messages\f[R], if using a
standard syslog daemon.
\f[B]feuille\f[R] doesn\[cq]t log much, be ready to use the verbose mode
for debugging purposes.
Unspecified error
Specified number is out of range
Error has been set by a C function
IPs aren\[cq]t logged.
It\[cq]s not a bug, it\[cq]s a feature.
Apart from that, none at the moment, as far as I know.
Copyright \[co] 2022 Tom MTT.
<> This program is free software, licensed under the
3-Clause BSD License.
See LICENSE for more information.
Heavily inspired by fiche (
I entirely \[lq]rewrote\[rq] fiche from scratch because I wasn\[cq]t
happy with some of its features and its overall code quality.
Tom MTT. <>.