Skip to main content

Global flags

Available on all commands (send, receive, update, version). The desktop app has equivalents for two of these. --server and --web are Server address and Share link address, under Advanced in Settings. --no-relay has no desktop equivalent: the Hide my IP address toggle does the opposite, forcing every transfer through the relay rather than refusing it. See Desktop Settings.

Help and version flags

These come from the CLI framework rather than from Floe itself. floe completion and floe help come from the same place and are not part of Floe’s own interface. Run floe completion --help if you want shell completion.

Environment variables

Floe reads four environment variables. If you run your own signaling server, set it once in your environment instead of passing --server on every command. A flag always beats its variable, so you can override the setting for a single command without unsetting anything:
macOS and Linux
On Windows PowerShell:
Windows
Trailing slashes are trimmed, so https://floe.example.com/ and https://floe.example.com behave the same. Set FLOE_WEB only when your web app runs on a different host from your signaling server. Leave it unset and share links point at the same host as your server, which is what you want when one domain serves both. The only exceptions are Floe’s own deployment and the local dev pair, which are special-cased to their web hosts as described under --web above.

floe receive flags

Specific to the receive command.

floe update flags

Specific to the update command.

Opting out of the global counter

After a successful transfer, the receiver sends only the total byte count to the signaling server it is connected to (api.floe.one by default, or your own server when you set --server or FLOE_SERVER) to power the public “transferred globally” counter. No file names, contents, or identity are included. The sender never reports. Errors are ignored, so a failed report never changes the outcome of a transfer. The request goes out after every file is written and the summary has printed, and it carries a 5 second timeout, so an unreachable server can delay floe receive from exiting by a few seconds but never affects the files. To opt out for a single transfer, pass --no-report:
Terminal
To opt out permanently, set FLOE_NO_STATS=1 in your environment (for example in your shell profile):
Terminal
When opted out, no request is sent to the server and the global counter is not incremented for that transfer. The transfer itself is unaffected. In the desktop app the same choice is the Contribute to global stats toggle in Settings, and turning it off is the equivalent of --no-report.

Examples

Use a local dev server for both sender and receiver:
Terminal
Disable relay fallback (direct connections only):
Terminal
Point the browser link at a custom web client:
Terminal
Save received files to a specific folder and auto-accept:
Terminal
See Against a Self-Hosted Server for more server configuration examples.