Expand description
FIPS: Free Internetworking Peering System
A distributed, decentralized network routing protocol for mesh nodes connecting over arbitrary transports.
Re-exports§
pub use config::Config;pub use config::ConfigError;pub use config::IdentityConfig;pub use config::TorConfig;pub use config::UdpConfig;pub use upper::config::DnsConfig;pub use upper::config::TunConfig;pub use discovery::BootstrapHandoffResult;pub use discovery::EstablishedTraversal;pub use tree::CoordEntry;pub use tree::ParentDeclaration;pub use tree::TreeCoordinate;pub use tree::TreeError;pub use tree::TreeState;pub use bloom::BloomError;pub use bloom::BloomFilter;pub use bloom::BloomState;pub use transport::udp::UdpTransport;pub use transport::DiscoveredPeer;pub use transport::Link;pub use transport::LinkDirection;pub use transport::LinkId;pub use transport::LinkState;pub use transport::LinkStats;pub use transport::PacketRx;pub use transport::PacketTx;pub use transport::ReceivedPacket;pub use transport::Transport;pub use transport::TransportAddr;pub use transport::TransportError;pub use transport::TransportHandle;pub use transport::TransportId;pub use transport::TransportState;pub use transport::TransportType;pub use transport::packet_channel;pub use protocol::CoordsRequired;pub use protocol::FilterAnnounce;pub use protocol::HandshakeMessageType;pub use protocol::LinkMessageType;pub use protocol::LookupRequest;pub use protocol::LookupResponse;pub use protocol::PathBroken;pub use protocol::ProtocolError;pub use protocol::SessionAck;pub use protocol::SessionDatagram;pub use protocol::SessionFlags;pub use protocol::SessionMessageType;pub use protocol::SessionSetup;pub use protocol::TreeAnnounce;pub use cache::CacheEntry;pub use cache::CacheError;pub use cache::CacheStats;pub use cache::CoordCache;pub use peer::ActivePeer;pub use peer::ConnectivityState;pub use peer::HandshakeState;pub use peer::PeerConnection;pub use peer::PeerError;pub use peer::PeerSlot;pub use peer::PromotionResult;pub use peer::cross_connection_winner;pub use endpoint::FipsEndpoint;pub use endpoint::FipsEndpointBuilder;pub use endpoint::FipsEndpointError;pub use endpoint::FipsEndpointMessage;pub use node::ExternalPacketIo;pub use node::Node;pub use node::NodeDeliveredPacket;pub use node::NodeError;pub use node::NodeState;
Modules§
- bloom
- Bloom Filter Implementation
- cache
- Caching Entities
- config
- FIPS Configuration System
- control
- Control socket for runtime management and observability.
- discovery
- Bootstrap handoff types.
- endpoint
- Library-first endpoint API for embedding FIPS in applications.
- gateway
- Outbound LAN gateway.
- identity
- mmp
- Metrics Measurement Protocol (MMP) — link-layer instantiation.
- node
- FIPS Node Entity
- noise
- Noise Protocol Implementations for FIPS
- peer
- Peer Management
- protocol
- FIPS Protocol Messages
- transport
- Transport Layer Abstractions
- tree
- Spanning Tree Protocol Entities
- upper
- IPv6 Upper Layer Adaptation
- utils
- Utility modules.
- version
- Build version information for FIPS binaries.
Structs§
- Auth
Challenge - A 32-byte random authentication challenge.
- Auth
Response - Response to an authentication challenge.
- Fips
Address - 128-bit FIPS address with IPv6-compatible format.
- Identity
- A FIPS node identity consisting of a keypair and derived identifiers.
- Node
Addr - 16-byte node identifier derived from truncated SHA-256(pubkey).
- Peer
Identity - A known peer’s identity (public key only, no signing capability).
Enums§
- Identity
Error - Errors that can occur in identity operations.
Functions§
- decode_
npub - Decode an npub string to an x-only public key.
- decode_
nsec - Decode an nsec string to a secret key.
- decode_
secret - Decode a secret key from either nsec (bech32) or hex format.
- encode_
npub - Encode an x-only public key as a bech32 npub string (NIP-19).
- encode_
nsec - Encode a secret key as a bech32 nsec string (NIP-19).