27 releases (6 breaking)

Uses old Rust 2015

0.12.2 Oct 16, 2019
0.11.5 Sep 20, 2019
0.9.10 Jul 26, 2019
0.8.6 Feb 25, 2019
0.2.0 Aug 10, 2018
Download history 7/week @ 2021-02-25 4/week @ 2021-03-04 3/week @ 2021-03-11 2/week @ 2021-03-18 85/week @ 2021-03-25 2/week @ 2021-04-01 35/week @ 2021-04-08 72/week @ 2021-04-15 8/week @ 2021-04-22 8/week @ 2021-04-29 2/week @ 2021-05-06 29/week @ 2021-05-13 3/week @ 2021-05-20 4/week @ 2021-05-27 4/week @ 2021-06-03 34/week @ 2021-06-10

105 downloads per month
Used in 2 crates

MIT license

425KB
11K SLoC

Build Status

carrier is a generic secure message system for IoT

read a intro here: https://devguard.io/intro.html

  • based on the NOISE protocol framework
  • with http2 like semantics based on the QUIC transport spec
  • connect to any device using just its Ed25519 public id
  • peer to peer with assisted nat traversal
  • certificate chains to support sane human to many many devices authorizations
  • mqtt like pub/sub over anonymous encrypted shadows

features:

  • NOISE
  • Ed25519 as identity
  • async
  • hash routing
  • keepalives, timeouts and rekeying
  • nat traversal
  • udp
  • cert chains
  • high level channels
  • GRPC
  • pty
  • stream shell executable from archon
  • cli
  • ebpf routing
  • staking
  • self-updating
  • shadow broker
  • pubsub

testing lossy networks

sudo ifconfig lo:1 10.0.0.1/8

#add delay (this crashes my kernel)
sudo tc qdisc add dev lo:1 root netem delay 100ms 20ms distribution normal

#add loss
sudo tc qdisc add dev lo:1 root netem loss 30%


#deutsche bahn wifi
sudo tc qdisc add dev lo:1 root netem loss 30% delay 100ms 300ms distribution normal




#delete qc rules
sudo tc qdisc del dev lo:1 root

the wireshark dissector can be used with wireshark -X lua_script:wireshark.lua

Dependencies

~15MB
~275K SLoC