fixed wireguard empty 'subnet address' field after reinstalling and removed showing mask for AWG and wireguard in UI

This commit is contained in:
Mitternacht822 2025-05-02 17:30:59 +04:00
parent f3b3f165a8
commit 5600bf9768

View file

@ -363,13 +363,14 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
QJsonObject config; QJsonObject config;
Proto mainProto = ContainerProps::defaultProtocol(container); Proto mainProto = ContainerProps::defaultProtocol(container);
for (auto protocol : ContainerProps::protocolsForContainer(container)) { const auto &protocols = ContainerProps::protocolsForContainer(container);
for (const auto &protocol : protocols) {
QJsonObject containerConfig; QJsonObject containerConfig;
if (protocol == mainProto) { if (protocol == mainProto) {
containerConfig.insert(config_key::port, port); containerConfig.insert(config_key::port, port);
containerConfig.insert(config_key::transport_proto, transportProto); containerConfig.insert(config_key::transport_proto, transportProto);
if (protocol == Proto::Awg || protocol == Proto::WireGuard) { if (protocol == Proto::Awg) {
QString serverConfig = serverController->getTextFileFromContainer(container, credentials, QString serverConfig = serverController->getTextFileFromContainer(container, credentials,
protocols::awg::serverConfigPath, errorCode); protocols::awg::serverConfigPath, errorCode);
@ -387,22 +388,37 @@ ErrorCode InstallController::getAlreadyInstalledContainers(const ServerCredentia
} }
} }
containerConfig[config_key::subnet_address] = serverConfigMap.value("Address"); containerConfig[config_key::subnet_address] = serverConfigMap.value("Address").remove("/24");
containerConfig[config_key::junkPacketCount] = serverConfigMap.value(config_key::junkPacketCount);
containerConfig[config_key::junkPacketMinSize] = serverConfigMap.value(config_key::junkPacketMinSize);
containerConfig[config_key::junkPacketMaxSize] = serverConfigMap.value(config_key::junkPacketMaxSize);
containerConfig[config_key::initPacketJunkSize] = serverConfigMap.value(config_key::initPacketJunkSize);
containerConfig[config_key::responsePacketJunkSize] = serverConfigMap.value(config_key::responsePacketJunkSize);
containerConfig[config_key::initPacketMagicHeader] = serverConfigMap.value(config_key::initPacketMagicHeader);
containerConfig[config_key::responsePacketMagicHeader] = serverConfigMap.value(config_key::responsePacketMagicHeader);
containerConfig[config_key::underloadPacketMagicHeader] =
serverConfigMap.value(config_key::underloadPacketMagicHeader);
containerConfig[config_key::transportPacketMagicHeader] =
serverConfigMap.value(config_key::transportPacketMagicHeader);
if (protocol == Proto::Awg) { } else if (protocol == Proto::WireGuard) {
containerConfig[config_key::junkPacketCount] = serverConfigMap.value(config_key::junkPacketCount); QString serverConfig = serverController->getTextFileFromContainer(container, credentials,
containerConfig[config_key::junkPacketMinSize] = serverConfigMap.value(config_key::junkPacketMinSize); protocols::wireguard::serverConfigPath, errorCode);
containerConfig[config_key::junkPacketMaxSize] = serverConfigMap.value(config_key::junkPacketMaxSize);
containerConfig[config_key::initPacketJunkSize] = serverConfigMap.value(config_key::initPacketJunkSize); QMap<QString, QString> serverConfigMap;
containerConfig[config_key::responsePacketJunkSize] = serverConfigMap.value(config_key::responsePacketJunkSize); auto serverConfigLines = serverConfig.split("\n");
containerConfig[config_key::initPacketMagicHeader] = serverConfigMap.value(config_key::initPacketMagicHeader); for (auto &line : serverConfigLines) {
containerConfig[config_key::responsePacketMagicHeader] = serverConfigMap.value(config_key::responsePacketMagicHeader); auto trimmedLine = line.trimmed();
containerConfig[config_key::underloadPacketMagicHeader] = if (trimmedLine.startsWith("[") && trimmedLine.endsWith("]")) {
serverConfigMap.value(config_key::underloadPacketMagicHeader); continue;
containerConfig[config_key::transportPacketMagicHeader] = } else {
serverConfigMap.value(config_key::transportPacketMagicHeader); QStringList parts = trimmedLine.split(" = ");
if (parts.count() == 2) {
serverConfigMap.insert(parts[0].trimmed(), parts[1].trimmed());
}
}
} }
containerConfig[config_key::subnet_address] = serverConfigMap.value("Address").remove("/24");
} else if (protocol == Proto::Sftp) { } else if (protocol == Proto::Sftp) {
stdOut.clear(); stdOut.clear();
script = QString("sudo docker inspect --format '{{.Config.Cmd}}' %1").arg(name); script = QString("sudo docker inspect --format '{{.Config.Cmd}}' %1").arg(name);