Skip to content

scattertools/scatter

Repository files navigation

Scatter

Scatter

Your files, scattered across the world.

Decentralized file sharing. End-to-end encrypted. Powered by people, not servers.

scatter.tools · Get Started · How It Works · Contributing


What is Scatter?

Scatter is a distributed file sharing platform where your files are:

  1. Encrypted on your device with AES-256-GCM before leaving
  2. Split into shards using Reed-Solomon erasure coding
  3. Scattered across contributor hardware around the world
  4. Retrievable from anywhere with just a link

No one can read your files. The decryption key lives in the URL fragment, which browsers never send to servers.

Why?

  • Privacy by default. Zero-knowledge architecture means the server literally cannot see your data.
  • Resilient. Files are split with erasure coding — even if some nodes go offline, your file still works.
  • Community-powered. Anyone can contribute storage and earn credits toward larger uploads.
  • Self-hostable. The whole stack runs on a single server. Roll your own Scatter for your team or community.

How It Works

┌─────────────┐     ┌──────────────┐     ┌──────────────┐
│   Browser   │────▶│ Coordinator  │◀────│  Node Apps   │
│  (encrypts) │     │   (relays)   │     │ (store data) │
└─────────────┘     └──────────────┘     └──────────────┘
  1. You drop a file in the browser. It's encrypted client-side with a random key.
  2. The encrypted file is split into 14 shards (10 data + 4 parity) via Reed-Solomon.
  3. The coordinator assigns each shard to a different node in the network.
  4. You get a link like scatter.tools/f/ABC12345#[key]. Share it.
  5. On download, shards are pulled from nodes, reassembled, and decrypted — all in the browser.

Any 10 of the 14 shards are enough to rebuild the file, so up to 4 nodes can go offline without data loss.

Getting Started

The quickest way to use Scatter is through the hosted service at scatter.tools — no install needed.

Want to contribute storage and earn credits? Run a node.

Install the Node App

📦 Coming soon. Pre-built binaries for macOS, Linux, and Windows.

Once released, you'll be able to install via:

macOS / Linux (Homebrew):

brew install scatter

Linux (Direct):

curl -fsSL https://scatter.tools/install.sh | sh

Windows (Scoop):

scoop install scatter

Or grab a binary from the releases page.

Run a Node

# Headless mode — set and forget
scatter start --storage 50GB

# Terminal UI with live stats
scatter start --storage 50GB --tui

# Sign in to earn credits toward bigger uploads
scatter login

Modes:

  • headless — no UI, logs only
  • tui — terminal UI with live network stats
  • gui — desktop app (default) (planned)

Building from Source

Prerequisites

  • Node.js 20+ (24+ recommended)
  • pnpm 9+
  • Optional: Docker + Docker Compose for running the full stack

Download & Install

git clone https://github.com/YOUR_USERNAME/scatter.git
cd scatter
pnpm install

Run the Web App

pnpm dev:web

Open http://localhost:3000.

Run the Coordinator (coming soon)

pnpm dev:api

Run a Node (coming soon)

pnpm dev:node

Roadmap

  • Landing page
  • Protocol: encryption + sharding + manifests
  • Coordinator API
  • Node app (headless + TUI)
  • Web upload/download flow
  • Credits system
  • Desktop GUI app
  • Public launch
  • Direct P2P transfers (skip the relay)
  • Mobile app?

Contributing

Contributions are welcome! Whether it's code, bug reports, docs, or design feedback.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/cool-thing)
  3. Commit your changes (git commit -m 'feat: add cool thing')
  4. Push to the branch (git push origin feat/cool-thing)
  5. Open a pull request

Security

Found a security issue? Please do not open a public issue. Email security@scatter.tools instead.

Scatter is designed with zero-knowledge principles, but cryptography is hard. We welcome audits and reviews.

License

AGPL-3.0 — if you run a modified version as a service, you have to share your changes. Keeps the ecosystem open.

About

scatter monorepo. contains web, node, & coordinator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors