From 0d155d6ef2fb43cd99480c97759067a909abeb7c Mon Sep 17 00:00:00 2001 From: yggverse Date: Tue, 5 Aug 2025 02:49:47 +0300 Subject: [PATCH] add custom host/port argument options --- src/config.rs | 13 ++++++++++++- src/main.rs | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/config.rs b/src/config.rs index bfd3e74..dfb4520 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,5 +1,8 @@ use clap::Parser; -use std::path::PathBuf; +use std::{ + net::{IpAddr, Ipv4Addr}, + path::PathBuf, +}; use url::Url; #[derive(Parser, Debug)] @@ -32,4 +35,12 @@ pub struct Config { /// Appends following tracker(s) to the magnet links #[arg(long)] pub tracker: Option>, + + /// Bind server on given host + #[arg(long, short, default_value_t = IpAddr::V4(Ipv4Addr::LOCALHOST))] + pub address: IpAddr, + + /// Bind server on given port + #[arg(long, short, default_value_t = 8000)] + pub port: u16, } diff --git a/src/main.rs b/src/main.rs index c796004..0bea458 100644 --- a/src/main.rs +++ b/src/main.rs @@ -47,6 +47,11 @@ fn rocket() -> _ { ); let storage = Storage::init(config.storage, config.limit, config.capacity).unwrap(); // @TODO handle rocket::build() + .configure(rocket::Config { + port: config.port, + address: config.address, + ..rocket::Config::debug_default() + }) .manage(feed) .manage(storage) .mount("/", routes![index, rss])