FASTD(1)
π¦ FASTD(1) β the manual page, bestie edition π
okay so this is the manual for fastd, a User Command, and I'm gonna walk you through it like we're texting at 2am. it's literally the whole page, nothing skipped, no cap. π
β¨ NAME β¨
fastd β Fast and Secure Tunnelling Daemon π
πΈ SYNOPSIS πΈ
fastd OPTION...
that's it. that's the whole vibe. you give it options, it does the thing. π
π«Ά DESCRIPTION π«Ά
so fastd is a very small VPN daemon β and when I say small I mean it's giving tiny-but-untouchable energy π β and what it does is tunnel IP packets and Ethernet frames over UDP. yes, UDP. she's fast like that.
she supports various modern encryption and authentication schemes, and she can be used in many different network topologies: 1:1, 1:n, and meshed. so like, whatever your little network situationship is, she's flexible. π§
β OPTIONS β
one bullet per option, all of them, in order, periodt. π
--help,-hβ shows a help text. your first stop when you're lost, bestie. π₯Ί--version,-vβ shows thefastdversion. flex the build.--daemon,-dβ runsfastdin the background. she's not gonna block your terminal, she's got her own life now. β¨--pid-file <filename>β writesfastd's PID to the specified file. so you can find her later. π--status-socket <socket>β configure a socket to getfastd's status. peek behind the curtain, iykyk. π--config,-c <filename>β loads a config file.-can be specified to read a config file from stdin. more than one config file can be loaded. stack 'em, bestie. π--config-peer <filename>β loads a config file for a single peer. the filename will be used as the peer name. iconic behaviour honestly.--config-peer-dir <dir>β loads all files from a directory as peer configs. onSIGHUPfastdwill reload peer directories. so she does check her notifications. π--user <user>β sets the user to runfastdas. main character, but make it a user account.--group <group>β sets the group to runfastdas. the friend group. π«Ά--log-level error|warn|info|verbose|debug|debug2β sets the stderr log level; default isinfoif no alternative log destination is configured. how much tea do you want her to spill?--syslog-level error|warn|info|verbose|debug|debug2β sets the log level for syslog output; default is not to use syslog. she's quiet by default, respectfully. π--syslog-ident <ident>β sets the syslog identification; default isfastd. she knows her name. π--hide-ip-addressesβ hides IP addresses in log output. privacy queen. π--hide-mac-addressesβ hides MAC addresses in log output. same energy, different address. β¨--mode,-m tap|multitap|tunβ sets the mode of the interface; default is TAP mode. pick your fighter. π₯--interface,-i <name>β sets the name of the TUN/TAP interface to use. if not specified, default names specified by the system will be used. let the system name her, she's mysterious like that. π¦--mtu,-M <mtu>β sets the MTU; must be at least576. do NOT go below576, that's the floor, no negotiating. π«--bind,-b <address>[:<port>]β sets the bind address. address can be an IPv4 address or an IPv6 address, or the keywordany. IPv6 addresses must be put in square brackets. by defaultfastdwill to bind to a random port for both IPv4 and IPv6. it is currently not possible to specify an IPv6 link-local address on the command line. (yes, that last sentence is a real limitation, lowkey annoying, but fr fr that's what it says. π)--protocol,-p <protocol>β sets the handshake protocol. currently the only protocol available isec25519-fhmqvc, which provides a secure authentication of peers based on public/secret keys. only one option but she ate. π--method <method>β sets the encryption method. π--forwardβ enables forwarding of packets between peers; read the full documentation before use! this is the loud part, bestie, go read the docs first. π’--on-pre-up <command>β sets a shell command to execute before interface creation. β¨--on-up <command>β sets a shell command to execute after interface creation. π--on-down <command>β sets a shell command to execute before interface destruction. π--on-post-down <command>β sets a shell command to execute after interface destruction. π¦--on-connect <command>β sets a shell command to execute when a handshake is sent to establish a new connection. π€--on-establish <command>β sets a shell command to execute when a new connection is established. π--on-disestablish <command>β sets a shell command to execute when a connection is lost. π--on-verify <command>β sets a shell command to execute to check a connection attempt by an unknown peer. stranger danger check. π΅οΈ--verify-configβ checks the configuration and exits. vibe check, then leave. β--generate-keyβ generates a new keypair. new keys, new me. π--show-keyβ shows the public key corresponding to the configured secret. show off, but responsibly. π--machine-readableβ suppresses output of explaining text in the--show-keyand--generate-keycommands. for when you want just the data, no commentary. π€
π SEE ALSO π
the full documentation for fastd is available online at https://gluon.readthedocs.io/. π
additional resources can be found in the Wiki at https://github.com/NeoRaider/fastd/wiki. π
and that's the whole page, bestie. every flag, every default, every warning β nothing left out, because we don't gatekeep around here. π β¨
okay love u, bye β this was fastd v23, from January 2025, and you just read the FASTD(1) page. slay, go tunnel something. ππ
π¦ where this page comes from
- arch rolling: fastd 23-1 Β· BSD-2-Clause AND BSD-3-Clause AND LGPL-2.1-or-later
- debian trixie: fastd 23-2 Β· BSD-2-Clause
- epel 9: fastd 23-1.el9 Β· BSD-2-Clause AND BSD-3-Clause AND LGPL-2.1-or-later
- fedora 43: fastd 23-2.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND LGPL-2.1-or-later
- fedora 44: fastd 23-3.fc44 Β· BSD-2-Clause AND BSD-3-Clause AND LGPL-2.1-or-later
- ubuntu questing: fastd 23-2
- ubuntu resolute: fastd 23-2build1 Β· BSD-2-Clause
- ubuntu stonking: fastd 23-2build2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms