mqtt_vault

Crates.iomqtt_vault
lib.rsmqtt_vault
version1.0.2
sourcesrc
created_at2022-04-17 22:50:24.857316
updated_at2024-03-03 22:23:00.031835
descriptionJSON database controlled via MQTT
homepagehttps://bpatterson.dev/projects/mqtt_vault
repositoryhttps://github.com/bpatterson-gh/MqttVault
max_upload_size
id569609
size171,043
Bruce Patterson (bpatterson-gh)

documentation

https://bpatterson.dev/man/mqtt_vault.html

README

MQTT Vault logo

MQTT Vault

A JSON database controlled via MQTT.

What it Does

MQTT Vault allows you to create virtual IoT devices that retain their state. These virtual devices communicate over MQTT the same way that many physical IoT devices do, allowing you to control them with the same infrastructure.

For details on using the program, please see manpage.md or run man mqtt_vault after installing.

Features

Database

  • Get and set data via MQTT topics
  • Data is stored as individual JSON files
  • Folder structure corresponds to the topic used to set the data

MQTT over TLS

  • Optionally encrypts the broker connection using an SSL certificate
  • Supports separate or combined public/private keys

Database encryption

  • Optionally encrypts the data stored on disk so it can't be accessed without going through MQTT Vault
  • Allows the encryption key to be changed or removed by passing --change-crypt-key
  • Data is encrypted using the chacha20poly1305 crate

Installing

Arch Linux

MQTT Vault is available on the AUR as mqtt_vault or mqtt_vault-bin. You can also download the Arch release and extract the files yourself.

FreeBSD

Download and extract the FreeBSD.tar.gz release.

Windows

Download and extract the Win64.zip release.

Build with cargo

Run cargo install mqtt_vault. Unfortunately, this method does not install the manpage, but you can always grab it from the repo.

Commit count: 14

cargo fmt