Floe

Secure, encrypted P2P file transfer.No accounts, no file storage, and no registration required.

0.00 Bytestransferred globally

How it works

Your files never make a stop.

Two devices open an encrypted WebRTC channel and stream bytes to each other. A small server introduces them, then steps out of the way.

01

Drop your files

Click Create secure link for a share link, with a QR code one click away. The link's secret part, after the #, never appears in page requests, server logs, or analytics.

02

Share either one

Your peer opens the link in a modern browser, scans the QR, or pastes the link into the desktop app or the CLI. No account on either side.

03

Watch it stream

Bytes move device to device over the encrypted channel. Close the tab and the transfer stops. No file is ever left on a server.

Privacy

The server can't read what it never receives.

Floe's signaling server exists to introduce two devices. These are the main things it handles.

The signaling server handles

  • The messages two devices trade to connect, which carry their network addresses
  • The room id in your link, or a short room code, held in memory and never in the server's own log
  • Your IP address, in memory while your device is connected and, to rate-limit abuse, for up to about two minutes after its last request
  • One anonymous running total of bytes for the public counter

It never sees

  • Your files, file names, or folder structure
  • The #room part of your share link in any page request, referrer, or analytics event. It travels in none of them
  • The link id in a request link's address (the part before the #), which only the web host sees
  • Any transfer traffic. Once the peers connect, the data channel bypasses it entirely
  • Relayed traffic in the clear. Relay packets stay encrypted end to end

The floe.one website also runs cookieless analytics (Umami) and error monitoring (Sentry). Floe Desktop and the CLI have neither. What they do send is in the privacy policy.

Command line

The same transfer, without the browser.

floe is one file with nothing else to install, and it uses the same server as the web app. Browser to terminal works in every direction, and a folder arrives with its structure intact in the CLI and Floe Desktop, or inside "Download ZIP" in a browser.

> winget install jannskiee.floe
  • floe send <path>Share files or entire folders
  • floe send <path> --to <link>Send through a Floe Desktop request link
  • floe receive <code>A short code is all the other side needs
  • floe updateUpdates itself in place, unless a package manager installed it

Also available via Scoop, a PowerShell one-liner, and go install, which gives a dev build that cannot update itself. On a Mac without Homebrew, the Linux command works too. Installation guide

terminal

Example terminal session: floe send shares three files totaling 10.1 MB, prints the short code olive-tiger-castle and a link, connects directly to the peer, and completes the transfer in 8 seconds at an average of 1.3 MB per second. Its summary includes the line Verified, SHA-256 matched.

Desktop

Transfers that outlive the tab.

Floe Desktop is the same app, running natively on Windows. Drop a folder to send it without zipping, paste a screenshot straight from the clipboard, get a notification when a transfer lands. Same rooms, same end-to-end encryption as browser and CLI peers.

  • Paste to sendCtrl+V a screenshot or files copied in Explorer
  • FoldersSent as folders, no zipping
  • HistoryWhat you sent and received, stored locally
  • Request linkSomeone sends files to your PC from their browser
Get the desktop app

v1.1.1 · Windows

floe desktop · 1.1.1

Demo of the Floe desktop app: three files are staged, then a share panel opens a live room with the code quiet-fetch-sled and a share link, waiting for the receiver.

Capabilities

No asterisks.

The fine print, printed large. Every claim below holds for the current release.

No size limit from Floe

Floe sets no size limit on a direct connection; a browser that receives is limited by what that browser can hold. Relayed sessions cap at 2 GB, and the badge shows which one you are on.

Browser to terminal

The web app, Floe Desktop, and the CLI share one protocol. Send from a server, receive on a phone, any direction.

Folders stay folders

The CLI and Floe Desktop send a folder whole and rebuild its structure when they receive one. A browser keeps the structure when you use "Download ZIP".

Honest progress

Progress for each file with live speed and time left, in the browser and in the terminal.

Checked on arrival

Each file is checked against its announced size and, when the sender sends one, a fingerprint of its contents (SHA-256). A mismatched file is discarded. Browser, CLI, and Floe Desktop receivers confirm delivery.

Open source, self-hostable

MIT licensed, every line on GitHub. Run your own signaling server and relay with Docker; the docs cover production setup.

FAQ

Questions, answered plainly.