unified rayhunter-daemon binary for all devices

Replace per-device features with config "display" field with the value
set at install time.
This commit is contained in:
oopsbagel
2025-07-17 11:04:50 -07:00
committed by Will Greenberg
parent 5b59efa4c8
commit 22d927aa25
13 changed files with 85 additions and 118 deletions

View File

@@ -1,3 +1,4 @@
use log::warn;
use serde::{Deserialize, Serialize};
use rayhunter::analysis::analyzer::AnalyzerConfig;
@@ -10,18 +11,29 @@ pub struct Config {
pub qmdl_store_path: String,
pub port: u16,
pub debug_mode: bool,
pub display: Display,
pub ui_level: u8,
pub colorblind_mode: bool,
pub key_input_mode: u8,
pub analyzers: AnalyzerConfig,
}
#[derive(PartialEq, Debug, Clone, Deserialize, Serialize)]
#[serde(rename_all = "lowercase")]
pub enum Display {
Orbic,
Tplink,
Tmobile,
Wingtech,
}
impl Default for Config {
fn default() -> Self {
Config {
qmdl_store_path: "/data/rayhunter/qmdl".to_string(),
port: 8080,
debug_mode: false,
display: Display::Orbic,
ui_level: 1,
colorblind_mode: false,
key_input_mode: 0,
@@ -37,6 +49,7 @@ where
if let Ok(config_file) = tokio::fs::read_to_string(&path).await {
Ok(toml::from_str(&config_file).map_err(RayhunterError::ConfigFileParsingError)?)
} else {
warn!("unable to read config file, using default config");
Ok(Config::default())
}
}