diff --git a/src/parser/config_models/mod.rs b/src/parser/config_models/mod.rs index ed07d1d..73cd06e 100644 --- a/src/parser/config_models/mod.rs +++ b/src/parser/config_models/mod.rs @@ -33,8 +33,8 @@ pub struct NonHeaderObject { #[allow(non_snake_case)] #[derive(Serialize, Deserialize)] pub struct TCPSettings { - header: Option, - acceptProxyProtocol: Option, + pub header: Option, + pub acceptProxyProtocol: Option, } #[allow(non_snake_case)] @@ -67,6 +67,7 @@ pub struct StreamSettings { pub security: String, pub tlsSettings: Option, pub wsSettings: Option, + pub tcpSettings: Option, } #[allow(non_snake_case)] diff --git a/src/parser/vless/mod.rs b/src/parser/vless/mod.rs index d7bdee2..9f74b3f 100644 --- a/src/parser/vless/mod.rs +++ b/src/parser/vless/mod.rs @@ -35,6 +35,16 @@ fn create_outbound_object(data: models::VlessData) -> Outbound { } else { None }, + tcpSettings: if data.query.r#type == String::from("tcp") { + Some(TCPSettings { + header: Some(NonHeaderObject { + r#type: String::from("none"), + }), + acceptProxyProtocol: None, + }) + } else { + None + }, }, settings: OutboundSettings::Vless(VlessOutboundSettings { vnext: vec![VlessServerObject {