2021-02-09 16:38:51 +00:00
# Go-SSB Room
2021-05-20 07:35:44 +00:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fssb-ngi-pointer%2Fgo-ssb-room.svg?type=shield )](https://app.fossa.com/projects/git%2Bgithub.com%2Fssb-ngi-pointer%2Fgo-ssb-room?ref=badge_shield)
2021-02-04 13:13:52 +00:00
2021-03-12 09:48:42 +00:00
This repository contains code for a [Secure Scuttlebutt ](https://ssb.nz ) [Room (v1+v2) server ](https://github.com/ssb-ngi-pointer/rooms2 ), written in Go.
2021-02-04 13:13:52 +00:00
2021-03-12 09:48:42 +00:00
It includes:
2021-03-12 10:33:01 +00:00
* secret-handshake+boxstream network transport, sometimes referred to as SHS, using [secretstream ](https://github.com/cryptoscope/secretstream )
2021-03-12 09:48:42 +00:00
* muxrpc handlers for tunneling connections
2021-03-12 10:33:01 +00:00
* a fully embedded HTTP server & HTML frontend, for administering the room
2021-02-04 13:13:52 +00:00
2021-04-26 12:38:00 +00:00
![](./docs/screenshot.png)
2021-02-04 13:13:52 +00:00
## Features
* [x] Rooms v1 (`tunnel.connect`, `tunnel.endpoints` , etc.)
2021-04-26 12:38:00 +00:00
* [x] User management (allow- & denylisting + moderator & administrator roles), all administered via the web dashboard
* [x] Multiple [privacy modes ](https://ssb-ngi-pointer.github.io/rooms2/#privacy-modes )
* [x] [Sign-in with SSB ](https://ssb-ngi-pointer.github.io/ssb-http-auth-spec/ )
* [x] Alias management
## Getting started
2021-05-19 10:17:37 +00:00
2021-05-25 07:40:12 +00:00
For an architecture and instructions on setting up a webserver to use with `go-ssb-room` , [read the documentation ](./docs ).
2021-02-08 16:47:42 +00:00
2021-05-25 07:40:12 +00:00
## Installation
2021-02-09 12:02:51 +00:00
2021-05-25 07:40:12 +00:00
See the [releases page ](https://github.com/ssb-ngi-pointer/go-ssb-room/releases ) for packaged linux releases.
2021-02-09 12:02:51 +00:00
2021-05-25 07:40:12 +00:00
We currently only distributed pre-packaged releases for debian-compatible distributions. See [Issue #79 ](https://github.com/ssb-ngi-pointer/go-ssb-room/issues/79 ) for the details. If this doesn't work for you, we ask you to read the Development notes and build from source.
2021-02-04 13:13:52 +00:00
2021-05-25 07:40:12 +00:00
After running `sudo dpkg -i go-ssb-room_v1.2.3_Linux_x86_64.deb` pay special attention to the [postinstall notes ](./docs/debian/postinstall.sh ) for how to configure the systemd file and webserver.
2021-02-04 13:13:52 +00:00
2021-05-25 07:40:12 +00:00
## Development
2021-02-04 13:13:52 +00:00
2021-05-25 07:40:12 +00:00
For an in-depth walkthrough, see the [development.md ](./docs/development.md ) in the `docs` folder of this repository.
2021-02-04 13:13:52 +00:00
## Authors
* [cryptix ](https://github.com/cryptix ) (`@p13zSAiOpguI9nsawkGijsnMfWmFd5rlUNpzekEE+vI=.ed25519`)
2021-04-26 12:38:00 +00:00
* [staltz ](https://github.com/staltz )
* [cblgh ](https://github.com/cblgh )
2021-02-04 13:13:52 +00:00
## License
2021-03-04 13:17:01 +00:00
MIT
2021-05-20 07:35:44 +00:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fssb-ngi-pointer%2Fgo-ssb-room.svg?type=large )](https://app.fossa.com/projects/git%2Bgithub.com%2Fssb-ngi-pointer%2Fgo-ssb-room?ref=badge_large)