Bas van den Aakster 8a94b661a8 Remove origin-based session bucketing
- Remove origin column from offers table
- Remove getOrigin() function and X-Rondevu-Global header support
- Simplify all storage methods to use only offer code
- Add migration 0003_remove_origin.sql
- Update error messages to remove "origin mismatch" wording

This simplifies the system by removing origin-based isolation.
All offers are now identified solely by their unique code/ID.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 23:59:03 +01:00
2025-11-12 23:59:03 +01:00

Rondevu

🎯 Simple WebRTC peer signaling

Direct peer-to-peer connections via offer/answer exchange.

Related repositories:


Rondevu Server

HTTP signaling server for WebRTC peer 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 /offer {"peerId":"alice","offer":"...","code":"my-room"}

# Send answer/candidates
POST /answer {"code":"my-room","answer":"...","side":"answerer"}

# Poll for updates
POST /poll {"code":"my-room","side":"offerer"}

# Health check with version
GET /health

# Version info
GET /

Configuration

Environment variables:

Variable Default Description
PORT 3000 Server port (Node.js/Docker)
OFFER_TIMEOUT 60000 Offer timeout in milliseconds (1 minute)
CORS_ORIGINS * Comma-separated allowed origins
STORAGE_PATH ./offers.db SQLite database path (use :memory: for in-memory)
VERSION 0.0.1 Server version (semver)

License

MIT

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