Skip to content

kakarotsec/pasto

Repository files navigation

Pasto Logo

Pasto

Instant, ephemeral text and file sharing between any devices — no accounts, no installs.

usepasto.vercel.app ↗   ·   Watch Demo ▶


Pasto Interface

Features

  • Real-time text sync — Type on one device, see it instantly on another via WebSockets.
  • File transfer — Drag & drop up to 5 files (50 MB each) per upload.
  • QR code pairing — Scan a code or enter a short PIN to connect devices.
  • No sign-up — Works on any device with a browser. Zero setup.
  • Self-destructing sessions — All data is wiped automatically after 15 minutes.
  • Unlimited devices — Connect as many screens as you need to a single session.

How It Works

  1. Open usepasto.vercel.app on your first device.
  2. Open usepasto.vercel.app on your second device. Scan the QR code (or enter the PIN).
  3. Paste text or drop files — everything syncs in real time.
Session Interface

internals

  • Frontend: React, Vite, Tailwind CSS.
  • Realtime: Supabase Broadcasts sync state across devices instantly (no DB latency).
  • Privacy Architecture:
    • Ephemeral: Database rows have a strict 15-minute TTL.
    • Lifecycle: A cron job triggers the clipbeam-expire-sessions Edge Function every 5 minutes.
    • Destruction: The function performs a hard delete on both DB records and Storage objects. No soft deletes.
  • Security: RLS policies ensure full isolation between sessions.

Development

git clone https://github.com/kakarotsec/pasto.git
cd pasto
npm install
cp .env.example .env
# Update .env with your Supabase keys
npm run dev

Support

If Pasto saves you time, consider supporting the project.

Buy me a coffee

License

MIT © Rifat Al Jubayer

About

A client-side web application for real-time text and file transfer between devices using ephemeral, QR-paired sessions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors