Merge pull request #215 from vladon/improve-cli-help

Improve CLI help text with comprehensive options
This commit is contained in:
Alexey 2026-02-23 18:47:04 +03:00 committed by GitHub
commit 5a0e44e311
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 26 additions and 17 deletions

View File

@ -73,27 +73,36 @@ fn parse_cli() -> (String, bool, Option<String>) {
log_level = Some(s.trim_start_matches("--log-level=").to_string()); log_level = Some(s.trim_start_matches("--log-level=").to_string());
} }
"--help" | "-h" => { "--help" | "-h" => {
eprintln!("Usage: telemt [config.toml] [OPTIONS]"); eprintln!("telemt - Telegram MTProto Proxy v{}", env!("CARGO_PKG_VERSION"));
eprintln!(); eprintln!();
eprintln!("Options:"); eprintln!("USAGE:");
eprintln!(" --silent, -s Suppress info logs"); eprintln!(" telemt [CONFIG] [OPTIONS]");
eprintln!(" --log-level <LEVEL> debug|verbose|normal|silent"); eprintln!(" telemt --init [INIT_OPTIONS]");
eprintln!(" --help, -h Show this help");
eprintln!(); eprintln!();
eprintln!("Setup (fire-and-forget):"); eprintln!("ARGS:");
eprintln!( eprintln!(" <CONFIG> Path to config file (default: config.toml)");
" --init Generate config, install systemd service, start" eprintln!();
); eprintln!("OPTIONS:");
eprintln!(" -s, --silent Suppress info logs (equivalent to --log-level silent)");
eprintln!(" --log-level <LEVEL> Set log level [possible values: debug, verbose, normal, silent]");
eprintln!(" -h, --help Show this help message");
eprintln!(" -V, --version Print version number");
eprintln!();
eprintln!("INIT OPTIONS (fire-and-forget setup):");
eprintln!(" --init Generate config, install systemd service, and start");
eprintln!(" --port <PORT> Listen port (default: 443)"); eprintln!(" --port <PORT> Listen port (default: 443)");
eprintln!( eprintln!(" --domain <DOMAIN> TLS domain for masking (default: www.google.com)");
" --domain <DOMAIN> TLS domain for masking (default: www.google.com)" eprintln!(" --secret <HEX> 32-char hex secret (auto-generated if omitted)");
); eprintln!(" --user <NAME> Username for proxy access (default: user)");
eprintln!(
" --secret <HEX> 32-char hex secret (auto-generated if omitted)"
);
eprintln!(" --user <NAME> Username (default: user)");
eprintln!(" --config-dir <DIR> Config directory (default: /etc/telemt)"); eprintln!(" --config-dir <DIR> Config directory (default: /etc/telemt)");
eprintln!(" --no-start Don't start the service after install"); eprintln!(" --no-start Create config and service but don't start");
eprintln!();
eprintln!("EXAMPLES:");
eprintln!(" telemt # Run with default config");
eprintln!(" telemt /etc/telemt/config.toml # Run with specific config");
eprintln!(" telemt --log-level debug # Run with debug logging");
eprintln!(" telemt --init # Quick setup with defaults");
eprintln!(" telemt --init --port 8443 --user admin # Custom setup");
std::process::exit(0); std::process::exit(0);
} }
"--version" | "-V" => { "--version" | "-V" => {