Files
waste-go/QUICKSTART.md
Fredrik Johansson d07342e97e docs: fix placeholder URLs in QUICKSTART; add committed example scripts
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>
2026-07-02 11:51:02 +02:00

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:

  1. Open the URL in any modern browser
  2. Enter your name and a network name your group has agreed on
  3. 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.


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

  1. Click Ctrl+I in the TUI, or click Generate invite in the web UI
  2. Share the waste:... link with your friend (Signal, email, anything)
  3. 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.