tunnel

package module
v0.0.0-...-77d204d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2021 License: MIT Imports: 1 Imported by: 0

README

Go-SSB Room

FOSSA Status

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
  • HTTP Invites
  • Alias management

🚀 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

FOSSA Status

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrShuttingDown = errors.New("go-ssb-tunnel: shutting down") // this is fine

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
insert-user
insert-user is a utility to create a new member and fallback password for them
insert-user is a utility to create a new member and fallback password for them
server
go-roomsrv hosts the database and p2p server for replication.
go-roomsrv hosts the database and p2p server for replication.
internal
aliases
Package aliases implements the validation and signing features of https://ssb-ngi-pointer.github.io/rooms2/#alias
Package aliases implements the validation and signing features of https://ssb-ngi-pointer.github.io/rooms2/#alias
broadcasts
Package broadcasts implements custom typed one-to-n facilities for broadcasting messages/calls to multiple subscribers.
Package broadcasts implements custom typed one-to-n facilities for broadcasting messages/calls to multiple subscribers.
maybemod/keys
Package keys could be it's own thing between go-ssb and this but not today
Package keys could be it's own thing between go-ssb and this but not today
network/mocked
Code generated by counterfeiter.
Code generated by counterfeiter.
muxrpc
handlers
Package handlers contains the muxrpc handler packages for the room server.
Package handlers contains the muxrpc handler packages for the room server.
handlers/alias
Package alias implements the muxrpc handlers for alias needs.
Package alias implements the muxrpc handlers for alias needs.
Package roomdb implements all the persisted database needs of the room server.
Package roomdb implements all the persisted database needs of the room server.
mockdb
Code generated by counterfeiter.
Code generated by counterfeiter.
sqlite
Package sqlite implements the SQLite backend of the roomdb interfaces.
Package sqlite implements the SQLite backend of the roomdb interfaces.
Package roomsrv implements the muxrpc server for all the room related code.
Package roomsrv implements the muxrpc server for all the room related code.
web
errors
Package errors defines some well defined errors, like incomplete/wrong request data or object not found(404), for the purpose of internationalization.
Package errors defines some well defined errors, like incomplete/wrong request data or object not found(404), for the purpose of internationalization.
handlers/admin
Package admin implements the dashboard for admins and moderators to change and control aspects of the room.
Package admin implements the dashboard for admins and moderators to change and control aspects of the room.
i18n
Package i18n wraps around github.com/nicksnyder/go-i18n mostly so that we don't have to deal with i18n.LocalizeConfig struct literals everywhere.
Package i18n wraps around github.com/nicksnyder/go-i18n mostly so that we don't have to deal with i18n.LocalizeConfig struct literals everywhere.
members
Package members implements helpers for accessing the currently logged in admin or moderator of an active request.
Package members implements helpers for accessing the currently logged in admin or moderator of an active request.
webassert
Package webassert contains test helpers to the check the rooms web pages for certain aspects.
Package webassert contains test helpers to the check the rooms web pages for certain aspects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL