all repos — underbbs @ c6cfdf9e9f189592736718719d97e6ff343b5efe

decentralized social media client

README.md (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# underBBS

underBBS is a protocol-agnostic decentralized social media client and toolkit

## design

`underbbs` can run in two modes depending on its executable name:

### web client

`underbbs` supports multiple simultaneous account logins, mediating them for each user through a gateway server that handles all protocol-specific logic via `adapter`s and streaming content to the user through a single websocket connection with a singular data interface.

each distinct `adapter` connection/configuration is represented in the frontend as a tab, and using the websocket's event-driven javascript interface with web components we can simply either store the data or tell the currently visible adapter that it might need to respond to the new data

adapters receive commands via a quartzgun web API and send data back on their shared websocket connection

### CLI

`underbbs-cli` pulls adapter credentials from `~/.config/underbbs/cli.conf` and accepts commands on individual adapters, printing data to standard output.

## building and running

requirements are

- go 1.22
- any recent nodejs that can do `typescript` and `webpack` 5

from the project root:

1. `./build.sh front`
2. `./build.sh server`
3. `./underbbs`

visit `http://localhost:9090/app`