Skip to content

ssbc/go-ssb-room

Repository files navigation

Go-SSB Room

REUSE status

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