added a setting to change the proxy mode controlled by a switch on the homepage

This commit is contained in:
coolcoala
2025-07-14 05:23:02 +03:00
parent b1e3283a24
commit eb1e4fe0c3
6 changed files with 428 additions and 130 deletions

View File

@@ -74,6 +74,8 @@ pub struct IVerge {
/// enable dns settings - this controls whether dns_config.yaml is applied
pub enable_dns_settings: Option<bool>,
pub primary_action: Option<String>,
/// always use default bypass
pub use_default_bypass: Option<bool>,
@@ -401,6 +403,7 @@ impl IVerge {
enable_auto_light_weight_mode: Some(false),
auto_light_weight_minutes: Some(10),
enable_dns_settings: Some(false),
primary_action: Some("tun-mode".into()),
home_cards: None,
service_state: None,
..Self::default()
@@ -489,6 +492,7 @@ impl IVerge {
patch!(enable_auto_light_weight_mode);
patch!(auto_light_weight_minutes);
patch!(enable_dns_settings);
patch!(primary_action);
patch!(home_cards);
patch!(service_state);
}
@@ -584,6 +588,7 @@ pub struct IVergeResponse {
pub enable_auto_light_weight_mode: Option<bool>,
pub auto_light_weight_minutes: Option<u64>,
pub enable_dns_settings: Option<bool>,
pub primary_action: Option<String>,
pub home_cards: Option<serde_json::Value>,
pub enable_hover_jump_navigator: Option<bool>,
pub service_state: Option<crate::core::service::ServiceState>,
@@ -656,6 +661,7 @@ impl From<IVerge> for IVergeResponse {
enable_auto_light_weight_mode: verge.enable_auto_light_weight_mode,
auto_light_weight_minutes: verge.auto_light_weight_minutes,
enable_dns_settings: verge.enable_dns_settings,
primary_action: verge.primary_action,
home_cards: verge.home_cards,
enable_hover_jump_navigator: verge.enable_hover_jump_navigator,
service_state: verge.service_state,