QUICKSTART.md had the author's personal domain as the example anchor URL (wss://waste.dev.xplwd.com/ws) which would confuse anyone reading it. Replaced with wss://YOUR_ANCHOR_DOMAIN/ws and added a new Option 3 section explaining the example scripts. Added committed *.example versions of the four local-workflow scripts (launch-tui, launch-web, deploy-web, serve-web). The real filenames are gitignored so local edits (HOST, ANCHOR, etc.) are never accidentally committed; the .example files serve as templates users copy once. Each script fails fast if the placeholder URL/host is still set. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.9 KiB
waste — quick start
waste is a private, encrypted chat and file sharing app for people you trust. No accounts, no phone numbers, no central server that knows your messages.
Pick the option that fits you best.
Option 1 — Just open it in your browser
If someone is running a waste anchor server and has shared the URL with you:
- Open the URL in any modern browser
- Enter your name and a network name your group has agreed on
- Done — you're in
On mobile, tap Share → Add to Home Screen to install it as an app icon.
To invite someone: click the 🔗 button in the sidebar and share the link.
Your identity and messages stay in your browser. Nothing is stored on the server — the server only helps peers find each other.
Option 2 — Desktop app (recommended for regular use)
Download the latest waste binary for your platform from the releases page.
Linux / macOS:
chmod +x waste-linux-amd64 # or waste-darwin-arm64, etc.
./waste-linux-amd64
Windows: double-click waste-windows-amd64.exe.
The app opens a window with the waste UI. Enter your name, the anchor URL, and a network name to join. Your identity is saved between sessions in your config directory (~/.config/waste on Linux, ~/Library/Application Support/waste on macOS, %APPDATA%\waste on Windows).
On Linux and Windows a tray icon appears — closing the window hides to tray rather than quitting. Right-click the tray icon to reopen or quit.
Option 3 — Run the daemon + TUI or web UI locally (power users / dev)
Example scripts are provided for the common local workflows. Copy them and fill in your anchor URL:
# TUI (terminal UI):
cp launch-tui.sh.example launch-tui.sh
$EDITOR launch-tui.sh # set ANCHOR=wss://your-anchor/ws
./launch-tui.sh
# Web UI in daemon mode (Vite dev server + daemon):
cp launch-web.sh.example launch-web.sh
$EDITOR launch-web.sh # set ANCHOR=wss://your-anchor/ws
./launch-web.sh
The real script files are gitignored so your local edits (anchor URL, alias, network) are never accidentally committed.
Option 4 — Run the daemon manually (headless)
If you want the daemon running in the background without the desktop UI — on a server, over SSH, or with the web UI in a browser pointed at your local machine:
# Download waste-daemon from the releases page, then:
./waste-daemon -alias yourname -anchor wss://YOUR_ANCHOR_DOMAIN/ws
Then open the web UI in a browser at the anchor URL, or point the web UI's daemon mode at ws://127.0.0.1:17338.
Full flag reference:
| Flag | Default | Description |
|---|---|---|
-alias |
anon |
Your display name |
-anchor |
— | Anchor server WebSocket URL |
-data-dir |
~/.waste |
Where identity and messages are stored |
-download-dir |
same as data-dir | Where received files are saved |
-ipc-port |
17337 |
Local TCP IPC port |
-ws-port |
0 (off) |
WebSocket IPC port (needed for web UI) |
-turn-url |
— | TURN relay URL (fixes mobile/CGNAT) |
-turn-secret |
— | TURN shared secret |
Inviting someone
- Click
Ctrl+Iin the TUI, or click Generate invite in the web UI - Share the
waste:...link with your friend (Signal, email, anything) - They open it in a browser or pass it to
waste-daemon --join 'waste:...'
Invite links encode the anchor URL and network name. The anchor never sees your messages.
Running your own anchor server
The anchor is a tiny signaling server that helps peers find each other — it never sees plaintext messages or file contents. You need a VPS with a domain and TLS.
# On your VPS:
./waste-anchor -bind 127.0.0.1:8080 -turn-secret YOUR_COTURN_SECRET
Put it behind nginx with /ws and /turn-credentials proxied to the anchor, and the web UI static files at /. See README.md for the full nginx setup.