Really Simple BBS - The BBS for your ax.25 packet station that is really simple
Go to file
2023-04-24 19:48:02 -05:00
rsbbs only print config path if debug 2023-04-24 19:48:02 -05:00
.gitignore initial commit 2023-04-23 16:22:08 -05:00
LICENSE add GPLv3 license 2023-04-23 21:05:39 -05:00
README.md fix ax25d config example 2023-04-24 14:35:32 -05:00
requirements.txt tidy up 2023-04-23 16:43:34 -05:00
sample_transcript.txt add basic README 2023-04-23 19:25:05 -05:00
setup.py fix issues with config file and package files 2023-04-24 19:44:03 -05:00

Really Simple BBS

A message board for packet radio, suitable for use with ax25d.

Really Simple BBS (rsbbs) implements a bulletin board system that enables radio amateurs to read and store messages at your station. It is similar to the PBBS function of popular Kantronics TNCs, and it uses similar commands (B, J, K, L, R, S, H, etc.).

It is designed to run on a linux system when called by ax25d. That is, when a user calls your station, ax25d answers the call and routes the connection to rsbbs via standard input (stdin). rsbbs responds to the user through ax25d via standard output (stdout).

Requirements

In general, you need a linux system with ax25d configured and working. This is a python 3 application, so you will need python 3 also.

Installation

Until I publish this thing to PyPI, you can clone it and build it yourself:

  1. Clone the repo to a reasonable location.
  2. cd to the repo directory
  3. Run python3 -m pip build .
  4. Run python3 -m pip install .
  5. Run rsbbs -h to test installation and create config and data files.

Configuration

By default, the config.yaml file lives in your system's user config directory, such as ~/.config/rsbbs/config.yaml.

To use a config.yaml file from a different location, use the -f option:

rsbbs -f ~/config.yaml -s KI5QKX

If this file is missing, rsbbs will create it.

The config.yaml file is pretty simple and self-explanatory for now.

Usage

With ax25d

Assuming you have ax25d working on your system, add something like the following to your ax25d.conf file:

[KI5QKX-10 via vhf0]
default   * * * * * *  *    root    /usr/local/bin/rsbbs rsbbs -s %U

Notes:

  • The installation path may vary on your system.
  • Be sure to specify the -s %U parameters; this passes the ax.25 caller's callsign to the rsbbs application.

See the ax25d man page for more details.

Directly

You can also run it directly, for administration purposes or just to talk to yourself. It will not accept calls when run without ax25d.

rsbbs -s URCALL

Options

Run sbbs -h to see the following help:

usage: rsbbs [-h] [-d] -s CALLING_STATION [-f CONFIG_FILE] [-v]

options:
  -h, --help            show this help message and exit
  -d, --debug           Enable debugging output to stdout
  -s CALLING_STATION, --calling-station CALLING_STATION
                        The callsign of the calling station
  -f CONFIG_FILE, --config-file CONFIG_FILE
                        specify path to config.yaml file
  -v, --version         show program's version number and exit

Operation

Check out the sample transcript for a look at how it works.

Development

In general, on a macOS or linux system:

  1. Clone the repository
  2. cd to the working directory
  3. Create a venv
  4. Install it in "editable" mode with pip install -e .

Contributing

  1. Fork it (https://git.b-wells.us/jmbwell/rsbbs)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new pull request

License

GPLv3.