mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
et-bbs-server - Added initial et-bbs-server wrapper script a minimum configuration. Not yet tested.
This commit is contained in:
Executable
+90
@@ -0,0 +1,90 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 25 March 2025
|
||||
# Purpose : Wrapper script for starting the BBS with PnP support
|
||||
#
|
||||
# Preconditions:
|
||||
# 1. Supported radio and audio interface are connected and properly detected
|
||||
#
|
||||
# Postconditions:
|
||||
# 1. Dire Wolf is started in 1200 baud packet mode
|
||||
# 2. LinBPQ is started
|
||||
source /opt/emcomm-tools/bin/et-common
|
||||
|
||||
BBS_CONF_DIR=${HOME}/.local/share/emcomm-tools/bbs-server
|
||||
BBS_CONF_FILE=${BBS_CONF_DIR}/bpq32.conf
|
||||
BBS_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/bbs/bpq32.simple.conf
|
||||
|
||||
usage() {
|
||||
echo "usage: $(basename $0) <command>"
|
||||
echo " <command>"
|
||||
echo " start - Start BBS"
|
||||
echo " update-config - Update configuration"
|
||||
}
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
start() {
|
||||
update-config
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
|
||||
PS_OUT=$(ps -ef | grep [d]irewolf)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo -e "${RED}Can't start BBS. Dire Wolf not running.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CWD_DIR=$(pwd)
|
||||
|
||||
cd ${BBS_CONF_DIR}
|
||||
CMD="linbpq"
|
||||
et-log "Starting LinBPQ in ${BBS_CONF_DIR} with: ${CMD}"
|
||||
|
||||
${CMD}
|
||||
|
||||
cd ${CWD_DIR}
|
||||
|
||||
else
|
||||
et-log "Error updating configuration. Can't start BBS"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
update-config () {
|
||||
|
||||
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||
|
||||
CALLSIGN=$(cat ${ET_USER_CONFIG} | jq -r .callsign)
|
||||
GRID=$(cat ${ET_USER_CONFIG} | jq -r .grid)
|
||||
WINLINK_PASSWD=$(cat ${ET_USER_CONFIG} | jq -r .winlinkPasswd)
|
||||
|
||||
if [[ "${CALLSIGN}" = "N0CALL" ]]; then
|
||||
echo -e "${RED}Can't start BBS. No callsign set. Run: ${WHITE}et-user${NC}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Updating BBS configuration: ${BBS_CONF_FILE}..."
|
||||
cp -v ${BBS_CONF_FILE_TEMPLATE} ${BBS_CONF_FILE}
|
||||
sed -i "s|{{ET_CALLSIGN}}|${CALLSIGN}|g" ${BBS_CONF_FILE}
|
||||
sed -i "s|{{ET_WINLINK_PASSWD}}|${WINLINK_PASSWD}|g" ${BBS_CONF_FILE}
|
||||
sed -i "s|{{ET_GRID}}|${GRID}|g" ${BBS_CONF_FILE}
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
update-config)
|
||||
update-config
|
||||
;;
|
||||
*)
|
||||
echo "Invalid command."
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,96 @@
|
||||
SIMPLE
|
||||
LOCATOR={{{{ET_GRID}}
|
||||
NODECALL={{ET_CALLSIGN}}-7
|
||||
NODEALIAS=ETCNDE
|
||||
|
||||
CTEXT:
|
||||
_____ _____ ____ ____ ____ ____
|
||||
| ____|_ _/ ___| __ )| __ ) ___|
|
||||
| _| | || | | _ \| _ \___ \
|
||||
| |___ | || |___| |_) | |_) |__) |
|
||||
|_____| |_| \____|____/|____/____/
|
||||
|
||||
Command Description
|
||||
? Show help
|
||||
BBS Connect to BBS
|
||||
CHAT Chat with other users
|
||||
INFO Contact information
|
||||
***
|
||||
|
||||
FULL_CTEXT=1
|
||||
|
||||
BTEXT:
|
||||
{{ET_CALLSIGN}} ETC BPQ node
|
||||
***
|
||||
|
||||
BTINTERVAL=15
|
||||
|
||||
IDMSG:
|
||||
{{ET_CALLSIGN}}-7 Network node (ETC BPQ)
|
||||
***
|
||||
|
||||
INFOMSG:
|
||||
Welcome to the ETC BPQ node in {{ET_GRID}}.
|
||||
***
|
||||
|
||||
MAPCOMMENT={{ET_CALLSIGN}} ETC BPQ Node
|
||||
|
||||
IDINTERVAL=15
|
||||
NODESINTERVAL=25
|
||||
|
||||
PORT
|
||||
PORTNUM=1
|
||||
ID=1200 baud packet
|
||||
TYPE=ASYNC
|
||||
PROTOCOL=KISS ; Use KISS for the 1200 baud packet port
|
||||
IPADDR=127.0.0.1 ; Connect to direwolf on this host
|
||||
TCPPORT=8001 ; Connect to direwolf on the KISS TCP port
|
||||
CHANNEL=A ; single channel TNC
|
||||
NOKEEPALIVES=0
|
||||
PERSIST=160
|
||||
SLOTTIME=180
|
||||
TXDELAY=270 ; The TX delay in milliseconds
|
||||
TXTAIL=23 ; The TX tail delay in millisconds
|
||||
QUALITY=203 ; Quality factor applied to node broadcasts
|
||||
MINQUAL=201 ; Entries in the nodes table with qualities
|
||||
; greater or equal to MINQUAL will be sent on
|
||||
; this port. A value of 0 sends everything.
|
||||
MAXFRAME=6 ; Max outstanding frames (1 thru 7)
|
||||
FRACK=5000 ; Level 2 timout in milliseconds
|
||||
RESPTIME=1000 ; Level 2 delayed ack timer in milliseconds
|
||||
RETRIES=100 ; Level 2 maximum retry value
|
||||
PACLEN=236 ; Default max packet length for this port
|
||||
UNPROTO=FBB ; BTEXT broadcast addrs format:
|
||||
; DEST[,digi1[,digi2]]
|
||||
L3ONLY=0 ; 1=No user downlink connects on this port
|
||||
DIGIFLAG=1 ; Digipeat: 0=OFF, 1=ALL, 255=UI Only
|
||||
DIGIPORT=0 ; Port on which to send digi'd frames
|
||||
USERS=0 ; Maximum number of L2 sessions, 0 = no limit
|
||||
ENDPORT
|
||||
|
||||
PORT
|
||||
PORTNUM=2
|
||||
ID=Telnet
|
||||
DRIVER=Telnet
|
||||
QUALITY=0
|
||||
CONFIG
|
||||
CMS=1
|
||||
CMSCALL={{ET_CALLSIGN}}
|
||||
CMSPASS=
|
||||
RELAYAPPL=BBS
|
||||
SECURETELNET=1
|
||||
LOGGING=1
|
||||
DisconnectOnClose=0
|
||||
TCPPORT=8010
|
||||
HTTPPORT=8012
|
||||
LOGINPROMPT=user:
|
||||
PASSWORDPROMPT=password:
|
||||
MAXSESSIONS=15
|
||||
CTEXT=Welcome to {{ET_CALLSIGN}}'s Telnet Server\nEnter ? for list of commands\n\n
|
||||
USER=admin,{{ET_WINLINK_PASSWD}},{{ET_CALLSIGN}},"",sysop
|
||||
ENDPORT
|
||||
|
||||
APPLICATION 1,BBS,,{{ET_CALLSIGN}}-11,ETCBBS,255
|
||||
APPLICATION 2,CHAT,,{{ET_CALLSIGN}}-12,ETCCHT,255
|
||||
LINMAIL
|
||||
LINCHAT
|
||||
Reference in New Issue
Block a user