TC² 917797789c Slight delay to ack
Added slight delay to ack now that acks are being requested due to the Message ID addition towork around apps and duplicate messages
2025-01-17 07:42:15 -05:00
2025-01-08 10:50:25 -05:00
2025-01-17 07:42:15 -05:00
2025-01-09 14:13:50 -05:00
2025-01-08 10:42:14 -05:00
2025-01-08 11:06:26 -05:00
2025-01-07 14:53:16 -05:00
2025-01-09 10:27:44 -05:00
2025-01-07 14:53:16 -05:00

TC²-BBS APRS Version

ko-fi

This is the TC²-BBS for APRS. The system allows for basic mail messages for specific users and bulletin boards. This is an APRS BBS only because it uses the APRS protocol and it's not meant to be used on the nationwide APRS freq 144.390MHz. Ideally, this is meant to be used within the following frequency ranges (US users): 2M - 144.90-145.10 & 145.50-145.80

The BBS currently allows for the posting and viewing of Bulletins and Messages for end-users by callsign. More features coming soon. This software is experimental and could have bugs. Bug reports and suggestions are welcomed.

Setup

Requirements

  • Python 3.x
  • requests
  • aprs3

Update and Install Git

sudo apt update
sudo apt upgrade
sudo apt install git

Installation (Linux)

  1. Clone the repository:

    cd ~
    git clone https://github.com/TheCommsChannel/TC2-APRS-BBS.git
    cd TC2-APRS-BBS
    
  2. Set up a Python virtual environment:

    python -m venv venv
    
  3. Activate the virtual environment:

    source venv/bin/activate
    
  4. Install the required packages:

    pip install -r requirements.txt
    
  5. Rename example_config.ini:

    mv example_config.ini config.ini
    
  6. Set up the configuration in config.ini:

    You'll need to open up the config.ini file in a text editor and make your changes following the instructions below

    [TACTICAL_CALL]
    This is where you enter the callsign of your BBS. This can be your FCC callsign if you don't plan on using a tactical call or a tactical callsign like BBS, CAMP1, or whatever makes the most sense for you.

    [STANDARD_CALL]
    If using a Tactical Call in the TACTICAL_CALL field, be sure to enter in your ham radio callsign here to ensure your callsign is in the packets to comply with FCC regulations. If you're using your ham radio callsign in the TACTICAL_CALL field, you can just leave this as TC2BBS.

    [KISS_HOST & KISS PORT]
    IP Address and Port of the host running direwolf (127.0.0.1 if the BBS is running on the same system)

    [BULLETIN_EXPIRATION_DAYS]
    Number of days to have bulletins expire

    [APRS_PATH]
    The WIDEN-n path for digipeater hops

    [RAW_PACKET_DISPLAY]
    Display RAW packet data on the terminal - "True" to display or "False" to not display

Running the Server

Run the server with:

python main.py

Be sure you've followed the Python virtual environment steps above and activated it before running. You should see (venv) at the beginning of the command prompt

BBS Usage

To interact with the BBS, send a message to the callsign of the BBS (whatever has been put into the MYCALL part of the config) If the message that's sent isn't a command, the BBS will respond with a welcome message and list of the below commands:

(L)IST
Sending a message with L will respond with a list of current bulletins

(M)SG
Sending a message with M will respond with a list of messages that were sent to the callsign of the user requesting the list of messages.

(S)END
This command leaves a message for a specific user via their callsign and needs to be sent in the following format:
S <callsign> <text>
Example: S N0CALL-1 Meet at the Trailhead at 15:00

The BBS will send a notification to the callsign letting them know they have a message waiting.

(P)OST
This command posts a bulletin and needs to be sent in the following format:
P <text>
Example: P Checkpoint 3 operational. Volunteers needed.

(P)OST (U)RGENT This command will post an urgent bulletin which will have the BBS send out a bulletin packet which will be seen by all supported devices. It needs to be sent in the following format:
PU <text>
Example: PU Highway 12 closed. Use alternate routes.

Automatically run at boot

Instructions coming soon....

Description
No description provided
Readme GPL-3.0 103 KiB
Languages
Python 95.5%
Shell 4.5%