Read allowInsecure from config uri

This commit is contained in:
Keivan-sf
2025-07-26 19:17:01 +03:30
parent d3495f1ec3
commit 3d0cbcfc66
4 changed files with 9 additions and 2 deletions

View File

@@ -109,7 +109,7 @@ pub struct WsSettings {
#[derive(Serialize, Deserialize)]
pub struct TlsSettings {
pub alpn: Option<Vec<String>>,
pub allowInsecure: Option<bool>,
pub allowInsecure: bool,
pub serverName: Option<String>,
pub enableSessionResumption: Option<bool>,
pub disableSystemRoot: Option<bool>,

View File

@@ -60,6 +60,7 @@ fn parse_vless_query(raw_query: &str) -> models::VlessQuery {
slpn: get_parameter_value(&query, "slpn"),
spx: url_decode(get_parameter_value(&query, "spx")),
extra: url_decode(get_parameter_value(&query, "extra")),
allowInsecure: get_parameter_value(&query, "allowInsecure"),
};
return a;
}

View File

@@ -4,6 +4,10 @@ use crate::{config_models::*, utils::parse_raw_json};
pub fn create_outbound_object(data: models::VlessData) -> Outbound {
let network_type = data.query.r#type.clone().unwrap_or(String::from(""));
let allow_insecure = data.query.allowInsecure == Some(String::from("true"))
|| data.query.allowInsecure == Some(String::from("1"));
return Outbound {
protocol: String::from("vless"),
tag: String::from("proxy"),
@@ -22,7 +26,7 @@ pub fn create_outbound_object(data: models::VlessData) -> Outbound {
preferServerCipherSuites: None,
fingerprint: data.query.fp.clone(),
serverName: data.query.sni.clone(),
allowInsecure: Some(false),
allowInsecure: allow_insecure,
})
} else {
None

View File

@@ -1,3 +1,4 @@
#[allow(non_snake_case)]
pub struct VlessQuery {
pub security: Option<String>,
pub sni: Option<String>,
@@ -20,6 +21,7 @@ pub struct VlessQuery {
pub spx: Option<String>,
pub alpn: Option<String>,
pub extra: Option<String>,
pub allowInsecure: Option<String>,
}
pub struct VlessAddress {