From 6ba59e86ee98b61fc720a74c69fa9948481aed04 Mon Sep 17 00:00:00 2001 From: Alex Downey Date: Thu, 22 Oct 2026 17:03:54 +0000 Subject: [PATCH] feat(mqtt): add upstatemesh broker preset Upstate Mesh (NY Capital District) broker: wss://mqtt.upst8me.sh:443/mqtt, JWT with audience mqtt.upst8me.sh. Let's Encrypt Gen-Y ECDSA chain anchors at ISRG Root X1. Bumps MQTT_PRESET_COUNT 37 -> 38. Co-Authored-By: Claude Opus 5.5 --- MQTT_IMPLEMENTATION.md | 1 + src/helpers/MQTTPresets.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MQTT_IMPLEMENTATION.md b/MQTT_IMPLEMENTATION.md index 4ccfed426cc..9f6215b79ea 100644 --- a/MQTT_IMPLEMENTATION.md +++ b/MQTT_IMPLEMENTATION.md @@ -108,6 +108,7 @@ that slot, see [Per-slot region codes](#per-slot-region-codes)). | `ntxmesh` | `wss://ntxmesh.dhovin.me:8883` | JWT | | | `bsmesh` | `wss://mqtt.bsmesh.de:8885` | JWT | | | `marwoj` | `mqtts://mqtt.marwoj.net:8883` | user/pass (built in) | | +| `upstatemesh` | `wss://mqtt.upst8me.sh:443/mqtt` | JWT | | | `custom` | your broker | user/pass, or JWT when `mqttN.audience` is set | see [Custom Brokers](#custom-brokers) | | `none` | slot disabled | | | diff --git a/src/helpers/MQTTPresets.h b/src/helpers/MQTTPresets.h index 000adf84a86..418aadd2001 100644 --- a/src/helpers/MQTTPresets.h +++ b/src/helpers/MQTTPresets.h @@ -130,7 +130,7 @@ static const char ISRG_ROOT_X1[] PROGMEM = "-----END CERTIFICATE-----\n"; // Number of built-in presets -static const int MQTT_PRESET_COUNT = 37; +static const int MQTT_PRESET_COUNT = 38; // Built-in preset definitions (stored in flash) static const MQTTPresetDef MQTT_PRESETS[MQTT_PRESET_COUNT] = { @@ -180,6 +180,8 @@ static const MQTTPresetDef MQTT_PRESETS[MQTT_PRESET_COUNT] = { { "ntxmesh", "wss://ntxmesh.dhovin.me:8883", "ntxmesh.dhovin.me", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "bsmesh", "wss://mqtt.bsmesh.de:8885", "mqtt.bsmesh.de", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, { "marwoj", "mqtts://mqtt.marwoj.net:8883", nullptr, ISRG_ROOT_X1, MQTT_AUTH_USERPASS, MQTT_TOPIC_MESHCORE, 0, true, 55, "observer-agessaman", "ipRwCEclZkX47K" }, + // Upstate Mesh (NY Capital District). JWT; LE Gen-Y ECDSA chain (YE1 → Root YE → X2) anchors at ISRG Root X1. + { "upstatemesh", "wss://mqtt.upst8me.sh:443/mqtt", "mqtt.upst8me.sh", ISRG_ROOT_X1, MQTT_AUTH_JWT, MQTT_TOPIC_MESHCORE, 0, true, 55, nullptr, nullptr }, }; // Find a preset by name, returns nullptr if not found