use std::path::PathBuf; use structopt::StructOpt; #[derive(Debug, StructOpt)] #[structopt(name = "martillo-maldito", about = "A simple iptables ban server")] pub enum Arguments { #[structopt(about = "Initialize ban server")] BanServer { #[structopt(name = "Ssh auth log file", short = "f", long = "ssh-file")] ssh_auth_log: PathBuf, #[structopt(name = "Iptables save file", short = "s", long = "iptables-save")] iptables_save: Option, }, #[structopt(about = "Ban port")] BanPort { #[structopt(name = "Port to ban", short = "p", long = "port")] port: u16, }, #[structopt(about = "Unban port")] UnbanPort { #[structopt(name = "Port to unban", short = "p", long = "port")] port: u16, }, #[structopt(about = "Allow ip and port")] AllowIpPort { #[structopt(name = "Ip to allow", short = "i", long = "ip")] ip: String, #[structopt(name = "Port to allow", short = "p", long = "port")] port: u16, }, #[structopt(about = "Remove ip and port")] RemoveIpPort { #[structopt(name = "Ip to remove", short = "i", long = "ip")] ip: String, #[structopt(name = "Port to remove", short = "p", long = "port")] port: u16, }, }