Bas van den Aakster f9aa4b486d Add support for global origin via X-Rondevu-Global header
- Add getOrigin() helper function to check for X-Rondevu-Global header
- When X-Rondevu-Global: true, use https://ronde.vu as origin for session isolation
- Update all endpoints to use getOrigin() instead of reading Origin header directly
- Add X-Rondevu-Global to CORS allowed headers
- This enables browser clients to connect to global sessions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 23:50:47 +01:00

Rondevu

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

Rondevu Server

A simple TypeScript HTTP server for WebRTC peer signaling and discovery.

Three ways to connect: by topic, by peer ID, or by connection ID.

Quick Start

Node.js:

npm install && npm start

Docker:

docker build -t rondevu . && docker run -p 3000:3000 rondevu

Cloudflare Workers:

npx wrangler deploy

See DEPLOYMENT.md for details.

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

PORT=3000
SESSION_TIMEOUT=300000
CORS_ORIGINS=*

Storage

Supports SQLite (Node.js/Docker) or D1 (Cloudflare Workers).

License

MIT

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