Crate three_word_networking

Source
Expand description

Three-Word Networking

Convert network IP addresses into memorable word combinations for human-friendly networking.

§Features

  • Perfect IPv4: Converts IPv4 addresses like 192.168.1.1:443 into exactly 3 memorable words like lehr.delfs.enrages with 100% perfect reconstruction
  • Adaptive IPv6: Converts IPv6 addresses into 6 or 9 words (groups of 3) using intelligent compression
  • Voice-Friendly: Easy to share over phone calls or voice chat
  • Error-Resistant: Much less prone to typos than long technical addresses
  • Deterministic: Same IP address always produces the same word combination
  • Visual Distinction: IPv4 uses dots, IPv6 uses dashes for clear differentiation
  • Universal: Works with any valid IP address format

§Example

use three_word_networking::ThreeWordAdaptiveEncoder;

let encoder = ThreeWordAdaptiveEncoder::new()?;
let address = "192.168.1.1:443";

// Convert to three words (perfect reconstruction for IPv4)
let words = encoder.encode(address)?;
println!("Address: {} -> {}", address, words);
// Output: Address: 192.168.1.1:443 -> lehr.delfs.enrages

// Decode back to exact address
let decoded = encoder.decode(&words)?;
assert_eq!(address, decoded);

Re-exports§

pub use error::FourWordError;
pub use error::Result;
pub use ipv6_compression::CompressedIpv6;
pub use ipv6_compression::Ipv6Category;
pub use ipv6_compression::Ipv6Compressor;
pub use ipv6_pattern_feistel::IPv6PatternFeistel;
pub use ipv6_pattern_feistel::IPv6PatternId;
pub use ipv6_perfect_patterns::IPv6Pattern;
pub use ipv6_perfect_patterns::IPv6PatternDetector;
pub use pure_ip_compression::MathematicalCompressor;
pub use pure_ip_compression::PureIpCompressor;
pub use three_word_adaptive_encoder::ThreeWordAdaptiveEncoder;
pub use three_word_encoder::ThreeWordEncoder;
pub use three_word_encoder::ThreeWordEncoding;
pub use three_word_ipv6_encoder::Ipv6ThreeWordGroupEncoding;
pub use three_word_ipv6_encoder::ThreeWordGroup;
pub use three_word_ipv6_encoder::ThreeWordIpv6Encoder;
pub use unified_three_word_encoder::UnifiedThreeWordEncoder;
pub use unified_three_word_encoder::UnifiedThreeWordEncoding;
pub use universal_ip_compression::UniversalIpCompressor;

Modules§

compression
Advanced compression module for IP addresses and ports
dictionary65k
65,536 word dictionary for Three-Word Network Encoding
error
Error types for three-word networking
ipv6_compression
IPv6 Hierarchical Compression Engine
ipv6_pattern_feistel
IPv6 Pattern Feistel Network
ipv6_perfect_patterns
IPv6 Perfect Patterns - BGP-Based Provider Dictionary and Pattern Detection
pure_ip_compression
Pure Mathematical IP+Port Compression
three_word_adaptive_encoder
Three-Word Adaptive Encoder for IPv4 and IPv6
three_word_encoder
Three-Word Network Address Encoder
three_word_ipv6_encoder
Three-Word Group IPv6 Encoder
unified_three_word_encoder
Unified Three-Word Network Encoder
universal_ip_compression
Universal IP+Port Compression for Four Words

Constants§

VERSION
Version of the three-word networking library