| Crates.io | oxy-upnp-igd |
| lib.rs | oxy-upnp-igd |
| version | 0.1.2 |
| created_at | 2026-01-23 19:00:11.940557+00 |
| updated_at | 2026-01-25 17:08:44.481947+00 |
| description | UPnP Internet Gateway Device (IGD) port mapping library and CLI with smol runtime |
| homepage | |
| repository | https://codeberg.org/G10h4ck/oxy-upnp-igd |
| max_upload_size | |
| id | 2065292 |
| size | 177,937 |
= oxy-upnp-igd
Minimal UPnP Internet Gateway Device (IGD) port mapping library for Rust.
image:https://img.shields.io/crates/v/oxy-upnp-igd[crates.io,link="https://crates.io/crates/oxy-upnp-igd"] image:https://docs.rs/oxy-upnp-igd/badge.svg[Documentation,link="https://docs.rs/oxy-upnp-igd"] image:https://img.shields.io/badge/License-AGPL--3.0--only-blue.svg[License: AGPL-3.0,link="https://opensource.org/licenses/AGPL-3.0"]
== Features
== CLI Tool
This package includes the oxyupnpc command-line tool for UPnP port management.
=== Installation
Or build from source:
The compiled binary will be at target/release/oxyupnpc.
=== Usage
oxyupnpc -E
oxyupnpc -L
oxyupnpc -r 8080 8080 TCP
oxyupnpc -R 8080 TCP
oxyupnpc -d 8080 TCP
== Quick Start
[source,rust] use oxy_upnp_igd::discover_gateways; use std::time::Duration;
fn main() -> Result<(), Box
if let Some(gateway) = gateways.first() {
let external_ip = gateway.get_external_ip().await?;
println!("External IP: {}", external_ip);
}
Ok(())
})
----
== Documentation
Full API documentation: https://docs.rs/oxy-upnp-igd
== License
AGPL-3.0-only