Transfer.zip

AGPL-3.0
Platform
Web Docker
Licence
AGPL-3.0 Open source
Transfer.zip

Transfer.zip is a self-hostable file transfer service: an open-source alternative to WeTransfer and Smash built on Next.js, Node.js and MongoDB. It covers both habits — store-and-forward uploads through the tus resumable-upload protocol, and end-to-end encrypted peer-to-peer transfers that never touch the server’s disk at all.

Two transfer modes

  • Stored transfers upload through tus with chunked, resumable requests, so an interrupted connection picks up where it left off instead of restarting a multi-gigabyte file. Files are held until their expiry date and then permanently deleted.
  • Quick Transfers stream file data directly between two browsers over WebRTC. The payload is encrypted client-side with AES-GCM using a 256-bit key generated in the browser, and the Node signalling server only brokers the connection. Because nothing is stored, there are no size or bandwidth caps on a direct transfer.
  • Quick Transfers carry their key in the shared link and in a QR code, so a recipient can start receiving by scanning it on a phone.
  • Connections that cannot punch through a firewall fall back to relaying through the signalling server, and transfers over 10 MB are forced onto the relay for throughput.

Sharing and storage

  • Transfer requests let you open a page where someone else uploads files to you, without exchanging anything first.
  • Files can live on local disk or on any S3-compatible bucket; custom branding (icon and background on the transfer pages) is wired to S3 today.
  • Email notifications to recipients can be sent with the same branding applied.
  • A single web instance plus the transfer node can be run behind your own domain; the hosted service and the self-hosted app share the same codebase.

Stack and requirements

The web app is Next.js on Node.js with MongoDB for accounts and transfer metadata, while file operations are handled by the separate transfer.zip-node service built on Fastify and WebSockets, with zip.js for in-browser archiving. Running it yourself means Docker (or a Node install plus MongoDB) and a domain for the transfer links. The hosted instance at transfer.zip includes a free tier that advertises sending 100 GB or more.

Rough edges

  • 0-byte files can stall during a Quick Transfer.
  • Sending over Quick Transfer from Firefox on Android does not currently work, and some Safari versions drop the WebSocket connection when the window loses focus.
  • Custom branding depends on an S3 bucket rather than local storage.

Alternatives

  • PsiTransfer — minimal Node.js upload and download service with resumable transfers
  • QuickDrop — self-hosted uploads plus pastebin and link shortener in one Spring Boot app
  • FilePizza — browser-to-browser transfers over WebRTC with no server storage
  • LocalSend — cross-platform local network transfers without a server

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.