This repository implements the Room (v1+v2) server spec, in Go.
It includes:
- secret-handshake+boxstream network transport, sometimes referred to as SHS, using secretstream
- muxrpc handlers for tunneling connections
- a fully embedded HTTP server & HTML frontend, for administering the room
See this project for current focus.
- Rooms v1 (
tunnel.connect
,tunnel.endpoints
, etc.) - User management (allow- & denylisting + moderator & administrator roles), all administered via the web dashboard
- Multiple privacy modes
- Sign-in with SSB
- HTTP Invites
- Alias management
For a comprehensive introduction to rooms 2.0, 🎥 watch this video. For a description of MuxRPC APIs see https://github.com/ssbc/rooms2
If you want to deploy a room server yourself, follow our deployment.md docs.
For an in-depth codebase walkthrough, see the development.md file in the docs
folder of this repository.
MIT