DEV.co
Open-Source DevOps · polius

FileSync

FileSync is a self-hosted, browser-based file-sharing tool that sends files from one device to many in real-time using peer-to-peer WebRTC. Files are encrypted and transferred directly between browsers; the server only handles initial connection setup. It supports drag-and-drop, optional password protection, and works across networks with automatic NAT traversal.

Source: GitHub — github.com/polius/FileSync
1.2k
GitHub stars
114
Forks
JavaScript
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorypolius/FileSync
Ownerpolius
Primary languageJavaScript
LicenseMIT — OSI-approved
Stars1.2k
Forks114
Open issues4
Latest releasev.4.0.0 (2026-06-11)
Last updated2026-07-01
Sourcehttps://github.com/polius/FileSync

What FileSync is

FileSync uses WebRTC data channels for peer-to-peer file transfer with a lightweight WebSocket signaling server (FastAPI backend, JavaScript frontend). It streams received files directly to disk using File System Access API (Chromium/HTTPS), Service Worker (all browsers/HTTPS), or fallback Blob buffering (HTTP). Deployment includes Docker containers with optional Caddy reverse proxy for HTTPS/Let's Encrypt automation and coturn for STUN/TURN relay.

Quickstart

Get the FileSync source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/polius/FileSync.gitcd FileSync# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Internal team file distribution

Share large files, builds, or media across geographically distributed teams without bandwidth limits or intermediate servers storing data.

Ad-hoc peer-to-peer file exchange

Quick one-to-many sharing for presentations, design assets, or datasets with no signup, account management, or recipient lists required.

Private, self-hosted file relay infrastructure

Organizations needing file transfer without cloud provider data access or compliance concerns; deploy on-premise with full control over TURN relays and certificates.

Implementation considerations

  • Generate and rotate SECRET_KEY securely before deployment; it signs TURN credentials and must match coturn configuration—misalignment breaks NAT traversal.
  • HTTPS is strongly recommended for transfers >~500 MB; HTTP Blob fallback buffers entire files in memory and becomes unreliable at scale.
  • Open firewall ports: 80/443 (TCP), 3478 (TCP+UDP for STUN/TURN), 50000–50100 (UDP for relay)—configure allowlists tightly to prevent abuse.
  • TURN relay bandwidth can grow quickly with many large transfers; monitor 50000–50100 UDP traffic and consider separate TURN server or limits if cost is a concern.
  • No built-in admin panel or metrics; monitor application logs and infrastructure metrics (Docker, Caddy, coturn) separately for troubleshooting and capacity planning.

When to avoid it — and what to weigh

  • Requiring strong audit trails or compliance logging — Project does not document user activity logging, encryption key audit capabilities, or compliance export features (HIPAA, SOC 2, etc.).
  • Need for enterprise permission/role management — No role-based access control, team hierarchies, or granular sharing policies documented; only per-room password protection available.
  • Large-scale public deployment with minimal ops resources — Requires manual secret key generation, certificate management (or Caddy automation), and TURN server tuning; limited auto-scaling or managed hosting.
  • Expecting built-in backup or file retention — Transfers are real-time peer-to-peer only; no server-side persistence, archive, or disaster recovery features.

License & commercial use

FileSync is released under the MIT License, a permissive OSI-approved license permitting commercial use, modification, and distribution with minimal restrictions. Retain original license and copyright notice.

MIT License permits commercial use and deployment. Verify that your commercial use case does not require warranties, liability limitations, or support guarantees beyond what MIT provides (essentially none). No commercial support, SLAs, or indemnification documented.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

FileSync uses WebRTC encryption and peer-to-peer design to avoid server-side data exposure; files travel encrypted between browsers. Server sees only connection metadata, not file contents. Optional per-room password protection provides basic access control. Security of deployment depends on: (1) HTTPS/TLS certificate validity and rotation (Caddy automates if configured), (2) SECRET_KEY secrecy and strong generation, (3) firewall rules limiting TURN port exposure, (4) browser security posture. No public security audit, no documented vulnerability disclosure process, and no details on secret key rotation or compromise procedures.

Alternatives to consider

Syncthing

Cross-platform file sync with strong encryption, but designed for continuous bidirectional sync of directories rather than ad-hoc one-to-many transfer; steeper learning curve and more infrastructure per node.

Magic Wormhole

CLI-first peer-to-peer file transfer with minimal setup; no UI, no persistence, no web interface—better for developer workflows, not web-based team sharing.

Tresorit Send / Firefox Send (archived)

Cloud-based managed file transfer with compliance features and support; no self-hosting, data passes through vendor servers, and Firefox Send is no longer maintained.

Software development agency

Build on FileSync with DEV.co software developers

FileSync is production-ready and MIT-licensed. Devco can help you deploy, scale, and integrate it into your infrastructure. Discuss your file-sharing needs with our engineering team.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

FileSync FAQ

Can files be stored on the server or does everything go peer-to-peer?
Everything is peer-to-peer. The server brokers only the initial WebRTC handshake (SDP/ICE); once connected, files stream directly between browsers. Received files go straight to the recipient's disk; the server never holds them.
What happens if a browser doesn't support WebRTC or falls back to HTTP?
Over HTTP, FileSync falls back to Blob buffering, which loads the entire file into browser memory and becomes unreliable above ~500 MB. Deploy over HTTPS to enable Service Worker or File System Access API streaming, which avoids memory exhaustion.
Is a SECRET_KEY required, and what happens if I don't set it?
Yes, SECRET_KEY is mandatory; the app will not start without it. It signs TURN credentials used for NAT traversal and must match the coturn `--static-auth-secret` value. Generate a new secure key using the provided Python command; never reuse examples.
How much bandwidth/cost should I budget for a self-hosted instance?
Bandwidth varies by usage; TURN relay (ports 50000–50100, UDP) is used only by ~5–10% of connections that cannot establish direct peer-to-peer links. Monitor your firewall/ISP metrics. Signaling traffic (port 3478, /ws endpoint) is minimal. Direct transfers consume no server bandwidth. Cost depends on your hosting and bandwidth tier.

Custom software development services

Adopting FileSync is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source devops software in production.

Need a Private File-Sharing Solution for Your Team?

FileSync is production-ready and MIT-licensed. Devco can help you deploy, scale, and integrate it into your infrastructure. Discuss your file-sharing needs with our engineering team.