Room server implemented in Go
  • Go 85.5%
  • Go Template 11%
  • JavaScript 2.9%
  • CSS 0.3%
  • Shell 0.2%
Find a file
Henry 892b77139a
add deleteExpiredAuthWithSSBSessions and slightly refactor cleanup (#388)
* add deleteExpiredAuthWithSSBSessions and slightly refactor cleanup

* actually use transaction
2023-07-10 11:21:21 +02:00
.github [github ci] update Go version 2023-07-07 14:11:41 +02:00
.reuse add dep5 file for REUSE 2022-05-14 13:35:31 +03:00
cmd update sqlite schema update and driver change 2023-07-07 14:11:41 +02:00
docs docs: updated release instructions 2022-11-11 19:12:44 +01:00
internal Migrate to ssbc urls (#336) 2022-11-07 11:18:13 +02:00
LICENSES fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
muxrpc Migrate to ssbc urls (#336) 2022-11-07 11:18:13 +02:00
roomdb add deleteExpiredAuthWithSSBSessions and slightly refactor cleanup (#388) 2023-07-10 11:21:21 +02:00
roomsrv Migrate to ssbc urls (#336) 2022-11-07 11:18:13 +02:00
roomstate Migrate to ssbc urls (#336) 2022-11-07 11:18:13 +02:00
web Add a JSON endpoint for generating invites 2022-12-13 19:15:11 +01:00
.dockerignore Exclude .env from docker builds (#317) 2022-08-03 15:04:45 +03:00
.env_example fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
.gitignore chore: ignore new test files 2022-04-10 10:21:06 +02:00
.goreleaser.yml feat: armhf/arm64 & including insert-user 2022-11-11 18:19:40 +01:00
docker-compose.yml fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
Dockerfile fix!: require Go 1.17 2022-11-08 14:31:57 +01:00
errors.go fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
go.mod update sqlite schema update and driver change 2023-07-07 14:11:41 +02:00
go.sum update sqlite schema update and driver change 2023-07-07 14:11:41 +02:00
go.sum.license fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
LICENSE add LICENSE file 2021-05-25 12:39:56 +02:00
README.md docs: share project [ci skip] 2022-11-21 13:23:33 +01:00
start.sh proposed fix for issue #272. args were not correctly formatted. changed the start script and development documentation 2021-11-11 15:35:02 +02:00

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