mirror of
https://github.com/ssb-ngi-pointer/go-ssb-room
synced 2026-10-03 17:58:10 +02:00
Room server implemented in Go
- Go 85.5%
- Go Template 11%
- JavaScript 2.9%
- CSS 0.3%
- Shell 0.2%
* add deleteExpiredAuthWithSSBSessions and slightly refactor cleanup * actually use transaction |
||
|---|---|---|
| .github | ||
| .reuse | ||
| cmd | ||
| docs | ||
| internal | ||
| LICENSES | ||
| muxrpc | ||
| roomdb | ||
| roomsrv | ||
| roomstate | ||
| web | ||
| .dockerignore | ||
| .env_example | ||
| .gitignore | ||
| .goreleaser.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| errors.go | ||
| go.mod | ||
| go.sum | ||
| go.sum.license | ||
| LICENSE | ||
| README.md | ||
| start.sh | ||
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.
⭐ 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
🚀 Deployment
If you want to deploy a room server yourself, follow our deployment.md docs.
🔧 Development
For an in-depth codebase walkthrough, see the development.md file in the docs folder of this repository.
🧑🤝🧑 Authors
License
MIT
