go-ssb-room/README.md

49 lines
2.3 KiB
Markdown
Raw Normal View History

# Go-SSB Room
[![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:
* 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
* 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-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
[![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)