diff --git a/src/bin/mwixnet.rs b/src/bin/mwixnet.rs index 40fb3d8..04099ac 100644 --- a/src/bin/mwixnet.rs +++ b/src/bin/mwixnet.rs @@ -124,7 +124,17 @@ fn real_main() -> Result<(), Box> { config_path.to_string_lossy() ); } - println!("{}", server_config.onion_address()); + let sub_args = args.subcommand_matches("address").unwrap(); + if sub_args.is_present("output_file") + { + //output onion address to file + let output_file = sub_args.value_of("output_file").unwrap(); + let onion_address = server_config.onion_address(); + std::fs::write(output_file, format!("{}", onion_address))?; + println!("Onion address written to file: {}", output_file); + } else { + println!("{}", server_config.onion_address()); + } return Ok(()) } diff --git a/src/bin/mwixnet.yml b/src/bin/mwixnet.yml index fdc238e..cd29bba 100644 --- a/src/bin/mwixnet.yml +++ b/src/bin/mwixnet.yml @@ -50,4 +50,11 @@ subcommands: - init-config: about: Writes a new configuration file - address: - about: Displays the public key of the server \ No newline at end of file + about: Outputs the public key of the server + args: + - output_file: + help: Path to output the public key to + long: output_file + short: o + takes_value: true + required: false \ No newline at end of file