From 32b0eb91dd6efec5553283678d3ded366ef058f4 Mon Sep 17 00:00:00 2001 From: Dreikor17 <178236069+Dreikor17@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:16:18 -0500 Subject: [PATCH] feat(mqtt): add rflab.io WebSocket broker preset Adds the "rflab" built-in MQTT preset and bumps MQTT_PRESET_COUNT to 22. - Server: wss://mqtt.rflab.io:443 - Auth: JWT (Ed25519 device identity), audience mqtt.rflab.io - Topic: MeshCore style - TLS: Let's Encrypt, pinned to ISRG Root X1 Also documents the preset in the MQTT_IMPLEMENTATION.md preset table. --- MQTT_IMPLEMENTATION.md | 1 + src/helpers/MQTTPresets.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MQTT_IMPLEMENTATION.md b/MQTT_IMPLEMENTATION.md index 548bef13..cc08c700 100644 --- a/MQTT_IMPLEMENTATION.md +++ b/MQTT_IMPLEMENTATION.md @@ -117,6 +117,7 @@ The MQTT bridge uses a slot-based architecture with up to 6 concurrent connectio | `meshcore-ca-2` | mqtt2.meshcore.ca:443 | JWT (Ed25519) | WSS | | `bostonmesh` | mqttmc01.bostonme.sh:443 | JWT (Ed25519) | WSS | | `inwmesh` | scope.inwmesh.org:8883 | Username/password (per slot via `mqttN.username` / `mqttN.password`) | MQTT over TLS | +| `rflab` | mqtt.rflab.io:443 | JWT (Ed25519) | WSS | | `custom` | User-configured | Username/Password | MQTT or WSS | | `none` | (disabled) | — | — | diff --git a/src/helpers/MQTTPresets.h b/src/helpers/MQTTPresets.h index bcc18a68..ea09bfa9 100644 --- a/src/helpers/MQTTPresets.h +++ b/src/helpers/MQTTPresets.h @@ -105,7 +105,7 @@ static const char ISRG_ROOT_X1[] PROGMEM = "-----END CERTIFICATE-----\n"; // Number of built-in presets -static const int MQTT_PRESET_COUNT = 21; +static const int MQTT_PRESET_COUNT = 22; // Built-in preset definitions (stored in flash) static const MQTTPresetDef MQTT_PRESETS[MQTT_PRESET_COUNT] = { @@ -131,6 +131,7 @@ static const MQTTPresetDef MQTT_PRESETS[MQTT_PRESET_COUNT] = { { "meshcore-ca-2", "wss://mqtt2.meshcore.ca:443/mqtt", "mqtt2.meshcore.ca", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "inwmesh", "mqtts://scope.inwmesh.org:8883", nullptr, ISRG_ROOT_X1, MQTT_AUTH_USERPASS, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "bostonmesh", "wss://mqttmc01.bostonme.sh:443/mqtt", "mqttmc01.bostonme.sh", GTS_ROOT_R4, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, + { "rflab", "wss://mqtt.rflab.io:443", "mqtt.rflab.io", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, }; // Find a preset by name, returns nullptr if not found