Module upnp

Module upnp 

Source
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§

PortMapper
Port mapper supporting UPnP IGD and NAT-PMP.
PortMapping
A port mapping configuration.

Enums§

Protocol
Network protocol for port mapping.
UpnpError
Errors that can occur during port mapping operations.