commit 70a159f0f254b25e8fa315b28e5e8c39bb70ce34
parent 32ce1c6821390d7290de88968893a7393f2f207d
Author: Daniel Barlow <dan@telent.net>
Date: Sun, 26 Apr 2026 21:12:47 +0100
add --bind option to set listening socket address
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/main.rs b/src/main.rs
@@ -41,6 +41,8 @@ struct Cli {
key: String,
#[arg(long)]
port: Option<u16>,
+ #[arg(long)]
+ bind: Option<String>,
secrets: String
}
@@ -65,8 +67,14 @@ async fn send_it(secrets_path : String) -> (StatusCode, String) {
async fn main() {
let cli = Cli::parse();
println!("secrets path = {:}", cli.secrets);
- let port = cli.port.unwrap_or(3000);
- println!("port = {:?}", port);
+
+ let addr : SocketAddr = match cli.bind {
+ Some(s) => s.parse().expect("can't parse bind address"),
+ None => {
+ let port = cli.port.unwrap_or(3000);
+ SocketAddr::from(([127, 0, 0, 1], port))
+ }
+ };
let private_key = PrivateKeyDer::from_pem_file(cli.key).unwrap();
@@ -99,7 +107,6 @@ async fn main() {
let tls_acceptor = TlsAcceptor::from(Arc::new(tls_config));
- let addr = SocketAddr::from(([127, 0, 0, 1], port));
let tcp_listener = TcpListener::bind(addr).await.unwrap();
println!("listening on {}", addr);