/// Quick config to forward all requests to another BROKER. format is "DOMAIN/IP[:PORT]@PEERID"
/// Quick config to forward all requests to another BROKER. format is "[DOMAIN/IP:PORT]@PEERID". An IPv6 should be encased in square brackets [IPv6] and the whole option should be between double quotes. Port defaults to 80 for IPs and 443 for domains
/// Quick config to listen for clients and core brokers on PRIVATE_INTERFACE, behind a DMZ or port forwarding of a public static IP. PORTs defaults to 80
/// Quick config to listen for clients and core brokers on PRIVATE_INTERFACE (can be "default"), behind a DMZ or port forwarding of a public static IP. PUBLIC_IPV6 is optional. PORTs defaults to 80.
/// Quick config to listen for clients and core brokers on PRIVATE_INTERFACE, behind a DMZ or port forwarding of a public dynamic IP. PORTs defaults to 80
/// Quick config to listen for clients and core brokers on PRIVATE_INTERFACE, behind a DMZ or port forwarding of a public dynamic IP. PORTs defaults to 80
/// Quick config to listen for clients on localhost port PORT, behind a reverse proxy that sends X-Forwarded-For for a TLS terminated DOMAIN name
/// Quick config to listen for clients on localhost interface with port LOCAL_PORT (defaults to 1440), behind a reverse proxy that sends X-Forwarded-For for a TLS terminated DOMAIN name
/// Quick config to listen for clients on private INTERFACE:PORT (defaults to first private interface and/or port 1440), behind a reverse proxy that sends X-Forwarded-For for a TLS terminated DOMAIN name. Domain Port defaults to 443
#[arg(
short('x'),
long,
value_name("DOMAIN:PORT,INTERFACE:PORT"),
conflicts_with("domain")
)]
pubdomain_private: Option<String>,
/// Option for --domain if this host is part of a pool of load-balanced servers behind a reverse proxy, and the same PeerId should be shared among them all
/// Option for --domain if this host is part of a pool of load-balanced servers behind a reverse proxy, and the same PeerId should be shared among them all
#[arg(short('e'), long, value_name("PEER_KEY"))]
#[arg(short('e'), long, value_name("PEER_KEY"))]
pubdomain_peer: Option<String>,
pubdomain_peer: Option<String>,
@ -84,4 +95,10 @@ pub(crate) struct Cli {
/// Saves the quick config into a file on disk, that can then be modified for advanced configs
/// Saves the quick config into a file on disk, that can then be modified for advanced configs
#[arg(long)]
#[arg(long)]
pubsave_config: bool,
pubsave_config: bool,
/// Prints on stdout the Quick config submitted on command-line, or alternatively, the config already saved on disk
#[arg(long)]
pubprint_config: bool,
//TODO: to switch lang of error messages and CLI interface