Bas van den Aakster 28ef5eb1d1 Simplify API: remove topics, rename session→offer
- Remove topic-based grouping and discovery
- Rename sessions to offers for clarity
- Simplify to just POST /offer, POST /answer, POST /poll
- Add version to health endpoint
- Update database schema (sessions→offers table)
- Reduce offer timeout to 1 minute
- Server version: 0.0.1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 23:17:38 +01:00
2025-11-08 10:56:01 +01:00

Rondevu

🎯 Simple WebRTC peer signaling and discovery

Meet peers by topic, by peer ID, or by connection ID.

Related repositories:


Rondevu Server

HTTP signaling server for WebRTC peer discovery and connection establishment. Supports SQLite (Node.js/Docker) and Cloudflare D1 (Workers) storage backends.

Quick Start

Node.js:

npm install && npm start

Docker:

docker build -t rondevu . && docker run -p 3000:3000 -e STORAGE_PATH=:memory: rondevu

Cloudflare Workers:

npx wrangler deploy

API

# Create offer
POST /:topic/offer {"peerId":"alice","offer":"..."}

# List sessions
GET /:topic/sessions

# Send answer
POST /answer {"code":"...","answer":"..."}

# Poll for updates
POST /poll {"code":"...","side":"offerer|answerer"}

See API.md for details.

Configuration

Environment variables:

Variable Default Description
PORT 3000 Server port (Node.js/Docker)
SESSION_TIMEOUT 300000 Session timeout in milliseconds
CORS_ORIGINS * Comma-separated allowed origins
STORAGE_PATH ./sessions.db SQLite database path (use :memory: for in-memory)

License

MIT

Description
No description provided
Readme 403 KiB
Languages
TypeScript 97.9%
Dockerfile 1.3%
JavaScript 0.8%