Skip to content

v2.9.2: plugins can tell a PKI-signed DM

Latest

Choose a tag to compare

@maxg10 maxg10 released this 26 Oct 14:32

A small release for plugin authors: a plugin can now tell whether a DM really
comes from the node it says it comes from.

on_message gets pki

Since firmware 2.5, Meshtastic encrypts and signs a direct message with the
sender's PKI key. on_message now reports that as pki: True. Only then is
from_id more than a claim: on a channel, anyone who knows the PSK can send a
packet as any node.

  • Plugins that use from_id as an identity (accounts, permissions, a game
    login) should require pki to be True.
  • is_dm only means "not a broadcast". To answer only DMs sent to your own
    node, compare to_id with self.get_tracker_info()['node_id'].
  • The field is additive: nothing else about messages changes. Use
    message.get('pki') if your plugin also runs on older cores.

Details and an example in the
plugin developer guide.

Updating

cd ~/meshpulse && git pull origin main && ./install.sh && sudo systemctl restart meshpulse

Docker

docker compose pull && docker compose up -d

Fresh Install

git clone https://github.com/maxg10/meshpulse.git
cd meshpulse
./install.sh