shhhbb is a simple ssh based bbs.
host it with a single binary and connect with any ssh key.
supports most cpus and operating systems
use your normal ssh client. you don't need to sign up, just sign in with ssh and the bbs does the rest.
Note: If you need to generate a key, you can use this command to generate a good modern key. ssh-keygen -t ed25519 -C "shhhbb.com bbs key"
ssh -p 2223 shhhbb.com
using shhhbb to host your bbs means anybody with any ssh key can interact with the bbs. as such, it's wise to run as a non-privileged user on a non-critical server, like a vps.
1. download the server program https://github.com/donuts-are-good/shhhbb/releases/latest
2. put your host keys in shhhbb/keys
directory.
Note: if you need to generate a new key, try this: ssh-keygen -t ed25519 -C "shhhbb host key"
3. specify a port and run the server like this:
./shhhbb 2223
the server is MIT licensed. if you don't know what that means, don't worry about it. but the important part of what that means for this program is you can make any changes you like. here are some short instructions to get the code and build it yourself. it's easy, don't worry.
1. clone the repository
git clone https://github.com/donuts-are-good/shhhbb
2. make your changes and save the file. everything happens in main.go
3. build it. all you need installed is Go, which you can get here: https://golang.org
go build
4. Optional: i made a thing that will compile the server for every cpu and os it is compatible with, which is about 30-40 platforms. if you're into that, it's a simple bash tool you can try here: donuts-are-good/release.sh
./release.sh --name "shhhbb" --version "v0.0.2"
the api is designed to allow users to create and retrieve chat messages and posts. it is secured with token-based authentication using bearer tokens.
all endpoints require authentication with a bearer token. to obtain a bearer token, the user must first log in and then authenticate themselves with their token in subsequent requests.
/token new
/token list
/token revoke
get /chat/messages retrieve the last 100 chat messages.
post /chat/create create a new chat message.
post /chat/direct/create create a new direct message.
get /posts/list retrieve a list of posts.
post /posts/create create a new post.
get /posts/replies retrieve a list of replies to a post.
post /posts/reply create a new reply to a post.