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])