reticulum - Added support for MeshChat to et-mode; enabled Reticulum to support multi-interface routing

This commit is contained in:
thetechprepper
2026-05-14 21:49:46 -07:00
parent 7cfa0d58a6
commit 0a14708fae
4 changed files with 68 additions and 8 deletions
+21 -4
View File
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 6 November 2024 # Date : 6 November 2024
# Updated : 12 May 2026 # Updated : 13 May 2026
# Purpose : Configures the system for a specific mode of operation # Purpose : Configures the system for a specific mode of operation
# Use a simple text file to save the state of the last mode selected # Use a simple text file to save the state of the last mode selected
@@ -19,7 +19,8 @@ MODE_ID_BBS_CLIENT2="bbs-client2"
MODE_ID_BBS_SERVER="bbs-server" MODE_ID_BBS_SERVER="bbs-server"
MODE_ID_CHAT_CLIENT="chat-chattervox" MODE_ID_CHAT_CLIENT="chat-chattervox"
MODE_ID_PACKET_DIGIPEATER="packet-digipeater" MODE_ID_PACKET_DIGIPEATER="packet-digipeater"
MODE_ID_RETICULUM_PACKET="reticulum-packet" MODE_ID_RETICULUM_MESHCHAT="reticulum-meshchat"
MODE_ID_RETICULUM_NOMADNET="reticulum-nomadnet"
MODE_ID_WINLINK_ARDOP="winlink-ardop" MODE_ID_WINLINK_ARDOP="winlink-ardop"
MODE_ID_WINLINK_PACKET="winlink-packet" MODE_ID_WINLINK_PACKET="winlink-packet"
MODE_ID_WINLINK_VARA_HF="winlink-vara-hf" MODE_ID_WINLINK_VARA_HF="winlink-vara-hf"
@@ -179,7 +180,8 @@ if [ -e "${HOME}/.wine32/drive_c/VARA/VARA.exe" ]; then
fi fi
options+=("${MODE_ID_TIME_WWV}" "Sync clock to WWV") options+=("${MODE_ID_TIME_WWV}" "Sync clock to WWV")
options+=("${MODE_ID_RETICULUM_PACKET}" "Reticulum over AX.25 Packet") options+=("${MODE_ID_RETICULUM_MESHCHAT}" "Reticulum MeshChat over AX.25 Packet")
options+=("${MODE_ID_RETICULUM_NOMADNET}" "Reticulum NomadNet over AX.25 Packet")
# Prompt user for option and save exit status # Prompt user for option and save exit status
SELECTED_MODE=$(dialog --clear --menu "Select a mode:" 18 65 10 "${options[@]}" 3>&1 1>&2 2>&3) SELECTED_MODE=$(dialog --clear --menu "Select a mode:" 18 65 10 "${options[@]}" 3>&1 1>&2 2>&3)
@@ -298,7 +300,22 @@ if [ $exit_status -eq 0 ]; then
wwv_mode wwv_mode
sudo /opt/emcomm-tools/sbin/wrapper-et-wwv.sh sudo /opt/emcomm-tools/sbin/wrapper-et-wwv.sh
;; ;;
${MODE_ID_RETICULUM_PACKET}) ${MODE_ID_RETICULUM_MESHCHAT})
select_reticulum_mode
et-log "Using ${TERM_MODE} as the modem."
case "${TERM_MODE}" in
"1200")
start_and_wait_for_service et-service-reticulum-1200
;;
"300")
start_and_wait_for_service et-service-reticulum-300
;;
esac
et-meshchat
;;
${MODE_ID_RETICULUM_NOMADNET})
select_reticulum_mode select_reticulum_mode
et-log "Using ${TERM_MODE} as the modem." et-log "Using ${TERM_MODE} as the modem."
@@ -17,7 +17,7 @@
# always-on. This directive is optional and can be removed # always-on. This directive is optional and can be removed
# for brevity. # for brevity.
enable_transport = False enable_transport = True
# By default, the first program to launch the Reticulum # By default, the first program to launch the Reticulum
@@ -115,7 +115,7 @@
[[Default Interface]] [[Default Interface]]
type = AutoInterface type = AutoInterface
enabled = No enabled = Yes
[[Packet Radio AX25 KISS]] [[Packet Radio AX25 KISS]]
type = AX25KISSInterface type = AX25KISSInterface
+42
View File
@@ -0,0 +1,42 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 13 May 2026
# Purpose : Install MeshChat for Reticulum
set -e
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
. ./env.sh
. ../overlay/opt/emcomm-tools/bin/et-common
APP=ReticulumMeshChat
VERSION=2.3.0
INSTALL_DIR="/opt/${APP}-${VERSION}"
INSTALL_BIN_DIR="${INSTALL_DIR}/bin"
LINK_PATH="/opt/${APP}"
DOWNLOAD_FILE="${APP}-v${VERSION}-linux.AppImage"
URL="https://github.com/liamcottle/reticulum-meshchat/releases/download/v${VERSION}/${DOWNLOAD_FILE}"
et-log "Installing ${APP} ${VERSION}..."
if [[ ! -e ${DOWNLOAD_FILE} ]]; then
download_with_retries ${URL} ${DOWNLOAD_FILE}
fi
chmod -v 755 ${DOWNLOAD_FILE}
[[ ! -e "${INSTALL_BIN_DIR}" ]] && mkdir -v -p "${INSTALL_BIN_DIR}"
mv ${DOWNLOAD_FILE} ${INSTALL_BIN_DIR}
ET_WRAPPER_SCRIPT="${ET_HOME}/bin/et-meshchat"
et-log "Creating wrapper script: ${ET_WRAPPER_SCRIPT}"
cat <<EOF > ${ET_WRAPPER_SCRIPT}
#!/bin/bash
${INSTALL_BIN_DIR}/${DOWNLOAD_FILE}
EOF
chmod -v 755 ${ET_WRAPPER_SCRIPT}
+3 -2
View File
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 16 March 2024 # Date : 16 March 2024
# Updated : 11 May 2026 # Updated : 13 May 2026
# Purpose : Main installer for EmComm Tools Community (ETC) # Purpose : Main installer for EmComm Tools Community (ETC)
. ./env.sh . ./env.sh
@@ -119,8 +119,9 @@ exitIfNotRoot
# Security Patches # Security Patches
./patch-copy-fail.sh ./patch-copy-fail.sh
# Install Reticulum and NomadNet # Install Reticulum and related applications (NomadNet, MeshChat)
./install-reticulum.sh ./install-reticulum.sh
./install-meshchat.sh
# Debrand Ubuntu # Debrand Ubuntu
./debrand.sh ./debrand.sh