use clap::Parser;
use std::path::PathBuf;
#[derive(Parser, Clone)]
#[command(name = "rport")]
#[command(about = "Remote port forwarding over DTLS signaling + WebRTC")]
#[command(version = env!("CARGO_PKG_VERSION"))]
pub struct Cli {
#[arg(short = 'f', long = "conf")]
pub config: Option<PathBuf>,
#[arg(short, long)]
pub server: Option<String>,
#[arg(short = 'k', long)]
pub token: Option<String>,
#[arg(short, long)]
pub id: Option<String>,
#[arg(short = 'L', value_name = "SPEC")]
pub forward: Vec<String>,
#[arg(short = 'A', long = "allow", value_name = "RULE")]
pub allow: Vec<String>,
#[arg(long = "timeout")]
pub timeout: Option<u32>,
#[arg(long = "debug", default_value_t = false)]
pub debug: bool,
#[arg(long = "upnp", default_value_t = false)]
pub upnp: bool,
#[arg(short = 'd', long)]
pub daemon: bool,
#[arg(long = "log-file")]
pub log_file: Option<PathBuf>,
}