Mirror of https://github.com/ssbc/go-ssb-room/ to add Docker image builds with Drone
.github/workflows | ||
cmd | ||
docs | ||
internal | ||
muxrpc | ||
roomdb | ||
roomsrv | ||
roomstate | ||
web | ||
.gitignore | ||
.goreleaser.yml | ||
errors.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md |
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
- Alias management
Getting started
For an architecture and instructions on setting up a webserver to use with go-ssb-room
, read the documentation.
Installation
See the releases page for packaged linux releases.
We currently only distributed pre-packaged releases for debian-compatible distributions. See Issue #79 for the details. If this doesn't work for you, we ask you to read the Development notes and build from source.
After running sudo dpkg -i go-ssb-room_v1.2.3_Linux_x86_64.deb
pay special attention to the postinstall notes for how to configure the systemd file and webserver.
Development
For an in-depth walkthrough, see the development.md in the docs
folder of this repository.
Authors
License
MIT