Support kcp stream

This commit is contained in:
Keivan-sf
2025-07-26 16:08:27 +03:30
parent 714e5afe70
commit 763169e04b
2 changed files with 28 additions and 0 deletions

View File

@@ -47,6 +47,19 @@ pub struct GRPCSettings {
pub serviceName: Option<String>,
}
#[allow(non_snake_case)]
#[derive(Serialize, Deserialize)]
pub struct KCPSettings {
pub mtu: Option<u32>,
pub tti: Option<u32>,
pub uplinkCapacity: Option<u32>,
pub downlinkCapacity: Option<u32>,
pub congestion: Option<bool>,
pub readBufferSize: Option<u32>,
pub writeBufferSize: Option<u32>,
pub seed: Option<String>,
}
#[allow(non_snake_case)]
#[derive(Serialize, Deserialize)]
pub struct RealitySettings {
@@ -110,6 +123,7 @@ pub struct StreamSettings {
pub realitySettings: Option<RealitySettings>,
pub grpcSettings: Option<GRPCSettings>,
pub quicSettings: Option<QuicSettings>,
pub kcpSettings: Option<KCPSettings>,
}
#[allow(non_snake_case)]

View File

@@ -79,6 +79,20 @@ pub fn create_outbound_object(data: models::VlessData) -> Outbound {
} else {
None
},
kcpSettings: if network_type == String::from("kcp") {
Some(KCPSettings {
mtu: None,
tti: None,
congestion: None,
uplinkCapacity: None,
readBufferSize: None,
writeBufferSize: None,
downlinkCapacity: None,
seed: data.query.seed,
})
} else {
None
},
},
settings: OutboundSettings::Vless(VlessOutboundSettings {
vnext: vec![VlessServerObject {