Expand description
UPnP and NAT-PMP port mapping.
This module provides automatic port forwarding through UPnP IGD (Internet Gateway Device) and NAT-PMP protocols. This allows BitTorrent clients behind NAT to receive incoming connections.
§Example
use rbit::{PortMapper, PortMapping, Protocol};
let mut mapper = PortMapper::new();
// Discover available gateways
mapper.discover().await?;
// Map port 6881 TCP
let mapping = PortMapping {
internal_port: 6881,
external_port: 6881,
protocol: Protocol::Tcp,
lifetime: 3600,
};
let external_port = mapper.add_mapping(&mapping).await?;
println!("Mapped to external port: {}", external_port);
// Get external IP
let external_ip = mapper.get_external_ip().await?;
println!("External IP: {}", external_ip);Structs§
- Port
Mapper - Port mapper supporting UPnP IGD and NAT-PMP.
- Port
Mapping - A port mapping configuration.