- Enable clippy pedantic + nursery lints; fix all warnings - Add config validation (SF, CR, frequency range checks) - Zeroize passphrase intermediates after key derivation - Convert to lib+bin crate for fuzz target accessibility - Replace Vec with VecDeque for O(1) log/bucket rotation - Add TUI minimum terminal size guard Testing: - 145 unit + property tests (was 15) - 6 proptest groups (frame roundtrip, hash, SNR, air time, peer list, padding) - 2 cargo-fuzz targets (gossip frame decode, peer list decode) - cargo-mutants: 0 missed, 241 caught, 54 unviable Documentation: - README with prerequisites, quick start, config reference, architecture - Module-level and item-level rustdoc on all public items - LICENSE (MIT), rustfmt.toml, .gitignore Infrastructure: - GitHub Actions CI (fmt, clippy, test, audit) - cargo-mutants config (.cargo/mutants.toml) - justfile for common tasks
19 lines
565 B
Rust
19 lines
565 B
Rust
//! Peer-to-peer `LoRa` bridge connecting `DongLoRa` USB dongles across the internet.
|
|
//!
|
|
//! Uses iroh-gossip for swarm-based packet broadcast and mainline DHT for
|
|
//! zero-configuration peer discovery. Nodes sharing a passphrase automatically
|
|
//! discover each other and relay radio packets through a gossip swarm.
|
|
|
|
pub mod config;
|
|
pub mod gossip;
|
|
pub mod packet;
|
|
pub mod radio;
|
|
pub mod rate_limit;
|
|
pub mod router;
|
|
pub mod setup;
|
|
|
|
// TUI is public only so its types are visible to the binary; not intended for
|
|
// external consumption.
|
|
#[doc(hidden)]
|
|
pub mod tui;
|