Room server implemented in Go
- Go 85.1%
- Go Template 11.3%
- JavaScript 3%
- CSS 0.3%
- Shell 0.2%
| .github/workflows | ||
| cmd | ||
| docs | ||
| internal | ||
| LICENSES | ||
| muxrpc | ||
| roomdb | ||
| roomsrv | ||
| roomstate | ||
| web | ||
| .dockerignore | ||
| .drone.yml | ||
| .env | ||
| .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 contains code for a Secure Scuttlebutt Room (v1+v2) server, written 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
⭐ 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.
🚀 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
