2024-05-28 16:03:32 +02:00
|
|
|
use structopt::StructOpt;
|
|
|
|
|
|
|
|
#[derive(Debug, StructOpt)]
|
2024-12-31 13:17:58 +01:00
|
|
|
#[structopt(name = "martillo_maldito", about = "A IPTables wrapper")]
|
2024-07-23 21:14:51 +02:00
|
|
|
pub enum Cli {
|
2024-12-31 13:28:54 +01:00
|
|
|
#[structopt(about = "Get all banned ips")]
|
2024-12-31 03:57:40 +01:00
|
|
|
GetBannedIps {
|
2024-08-14 18:31:11 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
|
|
|
},
|
2024-12-31 13:28:54 +01:00
|
|
|
#[structopt(about = "Get all secured ports")]
|
|
|
|
GetSecuredPorts {
|
2024-07-23 21:14:51 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
|
|
|
},
|
2024-12-31 13:28:54 +01:00
|
|
|
#[structopt(about = "Get all secured ports with allowed ips")]
|
|
|
|
GetSecuredPortsWithAllowedIps {
|
2024-07-23 21:14:51 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
|
|
|
},
|
2024-06-09 15:17:36 +02:00
|
|
|
#[structopt(about = "Check if a port is secured")]
|
|
|
|
IsPortSecured {
|
|
|
|
#[structopt(name = "Port to check", short = "p", long = "port")]
|
|
|
|
port: u16,
|
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
|
|
|
},
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(about = "Secure a port")]
|
2024-07-23 21:14:51 +02:00
|
|
|
SecurePort {
|
2024-05-28 16:03:32 +02:00
|
|
|
#[structopt(name = "Port to ban", short = "p", long = "port")]
|
|
|
|
port: u16,
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(name = "Position", short = "P", long = "position")]
|
|
|
|
position: Option<usize>,
|
2024-05-28 17:31:14 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
2024-05-28 16:03:32 +02:00
|
|
|
},
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(about = "Unsecure a port")]
|
2024-07-23 21:14:51 +02:00
|
|
|
UnsecurePort {
|
2024-05-28 16:03:32 +02:00
|
|
|
#[structopt(name = "Port to unban", short = "p", long = "port")]
|
|
|
|
port: u16,
|
2024-05-28 17:31:14 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
2024-05-28 16:03:32 +02:00
|
|
|
},
|
2024-12-31 13:28:54 +01:00
|
|
|
#[structopt(about = "Allow an IP for a port")]
|
2024-07-23 21:14:51 +02:00
|
|
|
AllowIpForPort {
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(name = "IP to allow", short = "i", long = "ip")]
|
2024-05-28 16:03:32 +02:00
|
|
|
ip: String,
|
|
|
|
#[structopt(name = "Port to allow", short = "p", long = "port")]
|
|
|
|
port: u16,
|
2024-05-28 21:13:53 +02:00
|
|
|
#[structopt(name = "Position", short = "P", long = "position")]
|
2024-12-31 03:57:40 +01:00
|
|
|
position: Option<usize>,
|
2024-05-28 21:13:53 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
2024-05-28 16:03:32 +02:00
|
|
|
},
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(about = "Removes an allowance IP for a port")]
|
2024-07-23 21:14:51 +02:00
|
|
|
RemoveAllowIpPort {
|
2024-12-31 03:57:40 +01:00
|
|
|
#[structopt(name = "IP to remove", short = "i", long = "ip")]
|
2024-05-28 16:03:32 +02:00
|
|
|
ip: String,
|
|
|
|
#[structopt(name = "Port to remove", short = "p", long = "port")]
|
|
|
|
port: u16,
|
2024-05-28 17:31:14 +02:00
|
|
|
#[structopt(name = "Docker", short = "d", long = "docker")]
|
|
|
|
docker: bool,
|
2024-05-28 16:03:32 +02:00
|
|
|
},
|
2024-12-31 13:28:54 +01:00
|
|
|
#[structopt(about = "Saves the rules")]
|
2024-12-31 03:57:40 +01:00
|
|
|
SaveRules,
|
2024-05-28 16:03:32 +02:00
|
|
|
}
|