mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-06-04 22:01:25 +00:00
451b5e8848
## Problem The MeshCore default `Public` channel uses the well-known PSK `8b3387e9c5cdea6ac9e5edbaa115cd72` (channel-hash byte `0x11`) per the [companion protocol spec](https://github.com/ripplebiz/MeshCore/blob/main/docs/companion_protocol.md#default-public-channel). This key is **missing from `channel-rainbow.json`** in the repo. As a result, the ingestor sees GRP_TXT messages on the default Public channel (the most common channel on the mesh), can't find a key for hash `0x11` (the only entry that hashes to 0x11 in the current rainbow is `#bogota`, which obviously isn't the right key), and reports `decryption_failed`. Fresh deploys see almost no decrypted public traffic. ## Fix Add the well-known Public channel key to the rainbow as `"Public": "8b3387e9c5cdea6ac9e5edbaa115cd72"`. ## Verification ``` python3 -c "import hashlib; print(hex(hashlib.sha256(bytes.fromhex('8b3387e9c5cdea6ac9e5edbaa115cd72')).digest()[0]))" # 0x11 ``` Matches the channel-hash byte we observe on incoming Public channel GRP_TXT packets. ## Discovered via Fresh MikroTik container deploy with no local channel additions — every Public message showed up as `decryption_failed` while `#LongFast` etc decrypted fine. --------- Co-authored-by: you <you@example.com>