diff --git a/client/ui/models/servers_model.cpp b/client/ui/models/servers_model.cpp index 480ff3b4..17535e5a 100644 --- a/client/ui/models/servers_model.cpp +++ b/client/ui/models/servers_model.cpp @@ -615,15 +615,18 @@ bool ServersModel::isDefaultServerDefaultContainerHasSplitTunneling() { auto server = m_servers.at(m_defaultServerIndex).toObject(); auto defaultContainer = ContainerProps::containerFromString(server.value(config_key::defaultContainer).toString()); - auto containerConfig = server.value(config_key::containers).toArray().at(defaultContainer).toObject(); - auto protocolConfig = containerConfig.value(ContainerProps::containerTypeToString(defaultContainer)).toObject(); - if (defaultContainer == DockerContainer::Awg || defaultContainer == DockerContainer::WireGuard) { - return !(protocolConfig.value(config_key::last_config).toString().contains("AllowedIPs = 0.0.0.0/0, ::/0")); - } else if (defaultContainer == DockerContainer::Cloak || defaultContainer == DockerContainer::OpenVpn - || defaultContainer == DockerContainer::ShadowSocks) { - return !(protocolConfig.value(config_key::last_config).toString().contains("redirect-gateway")); + auto containers = server.value(config_key::containers).toArray(); + for (auto i = 0; i < containers.size(); i++) { + auto container = containers.at(i).toObject(); + if (defaultContainer == DockerContainer::Awg || defaultContainer == DockerContainer::WireGuard) { + auto containerConfig = container.value(ContainerProps::containerTypeToString(defaultContainer)).toObject(); + return !(containerConfig.value(config_key::last_config).toString().contains("AllowedIPs = 0.0.0.0/0, ::/0")); + } else if (defaultContainer == DockerContainer::Cloak || defaultContainer == DockerContainer::OpenVpn + || defaultContainer == DockerContainer::ShadowSocks) { + auto containerConfig = container.value(ContainerProps::containerTypeToString(DockerContainer::OpenVpn)).toObject(); + return !(containerConfig.value(config_key::last_config).toString().contains("redirect-gateway")); + } } - return false; }