Go-SSB Room
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.
:star: Features
- 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
:rocket: Deployment
If you want to deploy a room server yourself, follow our deployment.md docs.
:wrench: Development
For an in-depth codebase walkthrough, see the development.md file in the docs
folder of this repository.
:people_holding_hands: Authors
License
MIT