diff --git a/client/core/configurators/xrayConfigurator.cpp b/client/core/configurators/xrayConfigurator.cpp index 25511fa27..f927eafe1 100644 --- a/client/core/configurators/xrayConfigurator.cpp +++ b/client/core/configurators/xrayConfigurator.cpp @@ -244,11 +244,7 @@ ErrorCode XrayConfigurator::applyServerSettingsToRemote(const ServerCredentials << "container=" << static_cast(container) << "host=" << credentials.hostName << "transport=" << srv.transport << "security=" << srv.security << "port=" << srv.port << "appendClient=" << appendNewClient; - QString flowValue = srv.flow; - if (flowValue.isEmpty() && srv.security == QLatin1String("reality")) { - flowValue = QStringLiteral("xtls-rprx-vision"); - } - + const QString flowValue = srv.flow; QString realityPublicKey; QString realityShortId; if (srv.security == QLatin1String("reality")) { diff --git a/client/ui/models/protocols/xrayConfigModel.cpp b/client/ui/models/protocols/xrayConfigModel.cpp index 93c1ce902..72248a8e9 100644 --- a/client/ui/models/protocols/xrayConfigModel.cpp +++ b/client/ui/models/protocols/xrayConfigModel.cpp @@ -272,7 +272,7 @@ void XrayConfigModel::updateModel(amnezia::DockerContainer container, const amne } if (!m_protocolConfig.serverConfig.isThirdPartyConfig) { - applyDefaultsToServerConfig(m_protocolConfig.serverConfig); + applyDefaultsToServerConfig(m_protocolConfig.serverConfig, false); } m_originalProtocolConfig = m_protocolConfig; @@ -283,7 +283,7 @@ void XrayConfigModel::updateModel(amnezia::DockerContainer container, const amne } } -void XrayConfigModel::applyDefaultsToServerConfig(amnezia::XrayServerConfig &config) +void XrayConfigModel::applyDefaultsToServerConfig(amnezia::XrayServerConfig &config, bool fillFlowDefault) { if (config.port.isEmpty()) { config.port = protocols::xray::defaultPort; @@ -306,7 +306,7 @@ void XrayConfigModel::applyDefaultsToServerConfig(amnezia::XrayServerConfig &con config.security = protocols::xray::defaultSecurity; } - if (config.flow.isEmpty()) { + if (fillFlowDefault && config.flow.isEmpty()) { config.flow = protocols::xray::defaultFlow; } diff --git a/client/ui/models/protocols/xrayConfigModel.h b/client/ui/models/protocols/xrayConfigModel.h index fee066107..299cec4c3 100644 --- a/client/ui/models/protocols/xrayConfigModel.h +++ b/client/ui/models/protocols/xrayConfigModel.h @@ -137,7 +137,7 @@ private: amnezia::XrayProtocolConfig m_protocolConfig; amnezia::XrayProtocolConfig m_originalProtocolConfig; - void applyDefaultsToServerConfig(amnezia::XrayServerConfig& config); + void applyDefaultsToServerConfig(amnezia::XrayServerConfig& config, bool fillFlowDefault = true); }; #endif // XRAYCONFIGMODEL_H