diff --git a/src/config_models/mod.rs b/src/config_models/mod.rs index 2c98e76..7353b25 100644 --- a/src/config_models/mod.rs +++ b/src/config_models/mod.rs @@ -63,11 +63,17 @@ pub struct TCPSettings { pub acceptProxyProtocol: Option, } +#[allow(non_snake_case)] +#[derive(Serialize, Deserialize)] +pub struct HeaderSetting { + pub Host: Option, +} + #[allow(non_snake_case)] #[derive(Serialize, Deserialize)] pub struct WsSettings { pub path: Option, - // Headers map[string]string headers + pub headers: Option, pub acceptProxyProtocol: Option, } diff --git a/src/parser/vless/mod.rs b/src/parser/vless/mod.rs index 0b3c2c2..ba9e632 100644 --- a/src/parser/vless/mod.rs +++ b/src/parser/vless/mod.rs @@ -28,6 +28,9 @@ pub fn create_outbound_object(data: models::VlessData) -> Outbound { }, wsSettings: if data.query.r#type == String::from("ws") { Some(WsSettings { + headers: Some(HeaderSetting { + Host: Some(data.query.host), + }), path: Some(data.query.path), acceptProxyProtocol: None, })