fsend is a peer-to-peer file transfer webapp and CLI tool.
Note
fsend-site (the webapp) uses WebRTC for the connection, without a fallback relay. So depending on your network/browser, it may not work. fsend-cli makes use of iroh which provides a fallback relay by default.
- P2P File Transfer: Directly send files between devices. The relay server only introduces the two peers — file data never passes through it.
- Web and CLI Interface: fsend is available as a web application and a command-line tool, and the two interoperate.
- Resumable Transfers: If the connection is lost, the transfer can be resumed from where it left off (see the browser support table below).
- Files and Folders: Send individual files or whole folders — the directory structure is preserved on the receiving side.
The webapp needs WebRTC, which every current browser has. What differs is where received files are written.
| Chromium (Chrome, Edge, Opera) | Firefox, Safari | |
|---|---|---|
| Receives into | a folder you pick, streamed to disk | memory, saved at the end |
| Folders | kept as folders | delivered as a zip |
| Limited by | free disk space | free RAM |
| Resume an interrupted transfer | yes | no |
The difference is the File System Access API; the webapp detects it and says which mode you are in.
The cli version can be installed via cargo.
cargo install fsend-cli- Open fsend in your browser.
- Either send or receive file(s)
- As a sender:
- Drag and Drop or select the file(s)/folder(s) you want to send.
- Share the generated code, the link, or the QR code with the receiver.
- As a receiver:
- Enter the code or link provided by the sender.
- Select the download location (if your browser supports it).
- Accept the offer and the file(s)/folder(s) will start downloading.
- As a sender:
Both tabs have to stay open during the transfer.
The transfer speed should be within 80-90% of min(sender_up, receiver_down).
$ fsend-cli send <file_path>
Session code: 123456
On the other peer, run:
fsend-cli receive 123456$ fsend-cli receive 123456- fsend-relay and fsend-cli are licensed under MIT. See LICENCE and LICENCE.
- fsend-site is licensed under CC BY-NC 4.0. See LICENCE.