documentation changes
This commit is contained in:
@ -1,3 +1,6 @@
|
||||
// This example shows you how to add, edit and remove port forwading entries.
|
||||
// Usage: cargo run --example port_forwards -- <Connect Box IP> <login code> <local IP>
|
||||
|
||||
use std::{env, net::Ipv4Addr};
|
||||
|
||||
use color_eyre::Result;
|
||||
@ -10,16 +13,24 @@ use connectbox::{
|
||||
async fn main() -> Result<()> {
|
||||
tracing_subscriber::fmt::init();
|
||||
color_eyre::install()?;
|
||||
|
||||
let mut args = env::args().skip(1);
|
||||
let ip = args.next().expect("no ip specified");
|
||||
let code = args.next().expect("no code specified");
|
||||
let local_ip: Ipv4Addr = args
|
||||
.next()
|
||||
.expect("no local ip specified")
|
||||
.parse()
|
||||
.expect("local ip is not a valid ipv4 address");
|
||||
|
||||
// first, we create a new API client and log in to the router.
|
||||
let connect_box = ConnectBox::new(ip, code, true)?;
|
||||
connect_box.login().await?;
|
||||
|
||||
// then, we remove all port forwarding entries for the local ip
|
||||
connect_box
|
||||
.edit_port_forwards(|v| {
|
||||
if v.local_ip == Ipv4Addr::new(192, 168, 0, 180) {
|
||||
if v.local_ip == local_ip {
|
||||
PortForwardAction::Delete
|
||||
} else {
|
||||
PortForwardAction::Keep
|
||||
@ -27,9 +38,10 @@ async fn main() -> Result<()> {
|
||||
})
|
||||
.await?;
|
||||
|
||||
// then, we add a new port forward for the port 25565 (Minecraft server)
|
||||
let pf = PortForwardEntry {
|
||||
id: 0,
|
||||
local_ip: "192.168.0.180".parse().unwrap(),
|
||||
local_ip,
|
||||
start_port: 25565,
|
||||
end_port: 25565,
|
||||
start_port_in: 25565,
|
||||
@ -39,9 +51,11 @@ async fn main() -> Result<()> {
|
||||
};
|
||||
connect_box.add_port_forward(&pf).await?;
|
||||
|
||||
// lastly, we get the new port forwarding table and print it out
|
||||
let portforwards = connect_box.port_forwards().await?;
|
||||
println!("{portforwards:#?}");
|
||||
|
||||
// and then we log out so that other users can log in to the web interface
|
||||
connect_box.logout().await?;
|
||||
|
||||
Ok(())
|
Reference in New Issue
Block a user