Make bundle server host configurable

This commit is contained in:
Demmie 2025-01-15 14:43:41 -05:00
parent ff16bd6221
commit 03e94e2f26
No known key found for this signature in database
GPG Key ID: B06DAA3D432C6E9A
3 changed files with 24 additions and 6 deletions

View File

@ -19,10 +19,10 @@ pub async fn run(
); );
if !no_tray { if !no_tray {
let tray = Tray::new(host, port, config_file, shutdown_sender, manager); let tray = Tray::new(host.clone(), port, config_file, shutdown_sender, manager);
let service = ksni::TrayService::new(tray); let service = ksni::TrayService::new(tray);
service.spawn(); service.spawn();
} }
server::run(port).await; server::run(host.clone(), port).await;
} }

View File

@ -1,6 +1,7 @@
use std::collections::HashMap; use std::collections::HashMap;
use std::net::Ipv4Addr;
use std::path::PathBuf; use std::path::PathBuf;
use std::str::FromStr;
use tokio::sync::mpsc::UnboundedSender; use tokio::sync::mpsc::UnboundedSender;
use super::modules::Manager; use super::modules::Manager;
@ -22,6 +23,17 @@ impl Tray {
shutdown_sender: UnboundedSender<()>, shutdown_sender: UnboundedSender<()>,
watchers_manager: Manager, watchers_manager: Manager,
) -> Self { ) -> Self {
let is_zero_first_octet = match Ipv4Addr::from_str(&server_host) {
Ok(ip) => ip.octets()[0] == 0,
Err(_) => false,
};
let server_host = if is_zero_first_octet {
"localhost".to_string()
} else {
server_host
};
let checks = watchers_manager let checks = watchers_manager
.path_watchers .path_watchers
.iter() .iter()

View File

@ -1,8 +1,9 @@
use anyhow::anyhow; use anyhow::anyhow;
use aw_server::endpoints::{build_rocket, AssetResolver, ServerState}; use aw_server::endpoints::{build_rocket, AssetResolver, ServerState};
use std::net::ToSocketAddrs;
use std::sync::Mutex; use std::sync::Mutex;
pub async fn run(port: u16) { pub async fn run(host: String, port: u16) {
let db_path = aw_server::dirs::db_path(false) let db_path = aw_server::dirs::db_path(false)
.map_err(|()| anyhow!("DB path is not found")) .map_err(|()| anyhow!("DB path is not found"))
.unwrap() .unwrap()
@ -11,8 +12,13 @@ pub async fn run(port: u16) {
.to_string(); .to_string();
let device_id = aw_server::device_id::get_device_id(); let device_id = aw_server::device_id::get_device_id();
let mut config = aw_server::config::create_config(false); let mut config = aw_server::config::create_config(false);
config.address = "127.0.0.1".to_string();
config.port = port; let mut addrs_iter = (host + ":" + &port.to_string()).to_socket_addrs().unwrap();
let address = addrs_iter.next().unwrap();
info!("Starting server on {}", address);
config.address = address.ip().to_string();
config.port = address.port();
let legacy_import = false; let legacy_import = false;
let server_state = ServerState { let server_state = ServerState {