zapit.

v1.2.1 · TransferOps live

Drag, drop — it's on the other
device before you blink.

Open the same URL on two devices (or scan the QR), type the same room code, and drop files. They stream device-to-device over WebRTC when possible, with an automatic server-relay fallback — so it works on your LAN and across the internet. Files never touch the server's disk.

$ git clone https://github.com/innotelinc/zapit.git && cd zapit/zapit && npm install && npm start
WebRTCpeer-to-peer data channels
Zero loginroom code = the password
1 processNode · two runtime deps
MITself-hosted, no tracking

Files that go straight across.

No accounts, no uploads, no server-side storage — just a room code and a drop zone.

Zero-login transfers

The room code is the password — codes auto-expire and rotate.

Peer-to-peer WebRTC

Files stream device-to-device over data channels — the server never sees the bytes.

Relay fallback

When NATs or UDP block a direct path, the server relays — automatically.

Multi-file & folders

Drops arrive as one ZIP, assembled in the browser with zero dependencies.

Zings

Text snippets, links and code zapped alongside files.

Optional Authentik SSO

OIDC + PKCE with an admin kill-switch to flip login on or off — plus a one-click Authentik blueprint.

A utility, not a platform.

One Node process, two runtime dependencies, ~zero config — deliberately small, deliberately stateless.

Server

Room codes, WebRTC signaling and the relay fallback — files never written to disk.

UI

Drop zone + QR pairing in a single page, no build step for users.

Authentik blueprint

One-click SSO provider YAML, or zero-login out of the box.

Docker-ready

Non-root image, healthcheck, multi-arch GHCR builds gated by tests.

# run it locally
$ cd zapit && npm install
$ ADMIN_PASSWORD=secret npm start
zapit listening on http://localhost:5150

$ open http://localhost:5150
room code 'aurora-42' ready — scan the QR from your phone

One surface, every device.

The landing page is at zapit.innotel.us; open the app at zapp.innotel.us and start zapping.

Roadmap.

Shipped as v1.2.1; the next milestones stay small and sharp.

v1.2.1 "TransferOps"

P2P WebRTC, relay fallback, Zings, QR pairing, Authentik SSO, GHCR builds.

done
v1.3 "Polish"

Multi-device rooms, transfer history and relay hardening.

next
v2.0 "Scale"

Hardening pass, more transports, even fewer moving parts.

later