Skip to content

redengin/enmesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

135 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure distributed communications enhanced by LoRa anonymity

Objectives

  • Communication Access
    • LoRa protocols that are robust to denial of service attacks
  • Anonymous Communication
    • sender's can communicate freely by making the sender's location difficult to locate
      • whistleblowers can share information
      • users can overcome censorship to share information

Background

LoRa use has proliferated under Meshtastic and MeshCore creating LoRa hardware that is readily purchasable by users.

Reticulum is a proposed design for creating "sovereign" communication networks that bridge LoRa traffic over additional channels (e.g. internet).

LoRa Protocol Evolution

While novel protocols have increased the usage of LoRa, LoRa needs to evolve to meet the demands of users. The IETF has managed the evolution of the internet and should be used to evolve LoRa. (see RFCs)

Current LoRa protocols designs are insufficient to meet the objectives of EnMesh. Rather than EnMesh become yet-another-protocol, the hope is that current LoRa mesh protocols evolve via the RFC's.

What is EnMesh?

EnMesh is a Rust implementation for distributed communication using LoRa platforms. The EnMesh architecture allows simple adaptation of LoRa platforms leveraging the power of Rust (i.e. to support new LoRa platforms, one only needs to implement a simple interface layer to leverage EnMesh).

EnMesh firmware supports multiple LoRa protocols (i.e. Meshtastic, MeshCore). Even supporting multiple LoRa protocols simultaneously by time-division multiplexing.

EnMesh firmware supports access via BLE per the novel protocols.

EnMesh firmware supports MQTT as a bridge over WiFi - supporting services like letsmesh.net.

Yet-Another Protocol?

The hope is that popular Mesh LoRa designs will refactor per the accepted RFC designs.

To support the evolution toward RFC based design, EnMesh will provide the rust implementation for novel protocols per the RFC. If novel protocol maintainers fail to adhere to RFC, then EnMesh will create yet-another-protocol per the RFC design.

Repository Overview

  • Firmware - board support for common hardware
  • MeshTastic Library - Rust implementation of MeshCore
    • IN-WORK: MeshCore rapidly evolves, this should become a separate repo
  • MeshCore Library - Rust implementation of MeshCore
    • IN-WORK: Meshtastic rapidly evolves, this should become a separate repo

About

Secure communication via LoRa, extended to to other networks (internet, LAN, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages