fixed appSplitTunneling for api servers

This commit is contained in:
vladimir.kuznetsov 2024-04-26 18:44:27 +05:00
parent 6b0f1ed429
commit d10aa43d8b

View file

@ -304,32 +304,30 @@ void VpnConnection::appendSplitTunnelingConfig()
m_vpnConfiguration.insert(config_key::splitTunnelType, Settings::RouteMode::VpnOnlyForwardSites); m_vpnConfiguration.insert(config_key::splitTunnelType, Settings::RouteMode::VpnOnlyForwardSites);
m_vpnConfiguration.insert(config_key::splitTunnelSites, allowedIpsJsonArray); m_vpnConfiguration.insert(config_key::splitTunnelSites, allowedIpsJsonArray);
return;
} }
} }
} } else {
Settings::RouteMode routeMode = Settings::RouteMode::VpnAllSites;
QJsonArray sitesJsonArray;
if (m_settings->isSitesSplitTunnelingEnabled()) {
routeMode = m_settings->routeMode();
Settings::RouteMode routeMode = Settings::RouteMode::VpnAllSites; auto sites = m_settings->getVpnIps(routeMode);
QJsonArray sitesJsonArray; for (const auto &site : sites) {
if (m_settings->isSitesSplitTunnelingEnabled()) { sitesJsonArray.append(site);
routeMode = m_settings->routeMode(); }
auto sites = m_settings->getVpnIps(routeMode); // Allow traffic to Amnezia DNS
for (const auto &site : sites) { if (routeMode == Settings::VpnOnlyForwardSites) {
sitesJsonArray.append(site); sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns1).toString());
sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns2).toString());
}
} }
// Allow traffic to Amnezia DNS m_vpnConfiguration.insert(config_key::splitTunnelType, routeMode);
if (routeMode == Settings::VpnOnlyForwardSites) { m_vpnConfiguration.insert(config_key::splitTunnelSites, sitesJsonArray);
sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns1).toString());
sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns2).toString());
}
} }
m_vpnConfiguration.insert(config_key::splitTunnelType, routeMode);
m_vpnConfiguration.insert(config_key::splitTunnelSites, sitesJsonArray);
Settings::AppsRouteMode appsRouteMode = Settings::AppsRouteMode::VpnAllApps; Settings::AppsRouteMode appsRouteMode = Settings::AppsRouteMode::VpnAllApps;
QJsonArray appsJsonArray; QJsonArray appsJsonArray;
if (m_settings->isAppsSplitTunnelingEnabled()) { if (m_settings->isAppsSplitTunnelingEnabled()) {