diff --git a/src/dashboard.py b/src/dashboard.py index 76b2463b..5320dba0 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -945,8 +945,17 @@ def API_addPeers(configName): allowed_ips: list[str] = data.get('allowed_ips', []) allowed_ips_validation: bool = data.get('allowed_ips_validation', True) - endpoint_allowed_ip: str = data.get('endpoint_allowed_ip', DashboardConfig.GetConfig("Peers", "peer_endpoint_allowed_ip")[1]) - dns_addresses: str = data.get('DNS', DashboardConfig.GetConfig("Peers", "peer_global_DNS")[1]) + config = WireguardConfigurations.get(configName) + overridePeerSettings = config.configurationInfo.OverridePeerSettings + + endpoint_allowed_ip: str = data.get('endpoint_allowed_ip', ( + overridePeerSettings.EndpointAllowedIPs + if overridePeerSettings.EndpointAllowedIPs else DashboardConfig.GetConfig("Peers", "peer_endpoint_allowed_ip")[1] + )) + dns_addresses: str = data.get('DNS', ( + overridePeerSettings.DNS + if overridePeerSettings.DNS else DashboardConfig.GetConfig("Peers", "peer_global_DNS")[1] + )) mtu: int = data.get('mtu', None) @@ -955,7 +964,10 @@ def API_addPeers(configName): preshared_key: str = data.get('preshared_key', "") if type(mtu) is not int or mtu < 0 or mtu > 1460: - default: str = DashboardConfig.GetConfig("Peers", "peer_mtu")[1] + default: str = ( + str(overridePeerSettings.MTU) + if overridePeerSettings.MTU else DashboardConfig.GetConfig("Peers", "peer_mtu")[1] + ) if default.isnumeric(): try: mtu = int(default) @@ -964,7 +976,10 @@ def API_addPeers(configName): else: mtu = 0 if type(keep_alive) is not int or keep_alive < 0: - default = DashboardConfig.GetConfig("Peers", "peer_keep_alive")[1] + default = ( + str(overridePeerSettings.PersistentKeepalive) + if overridePeerSettings.PersistentKeepalive else DashboardConfig.GetConfig("Peers", "peer_keep_alive")[1] + ) if default.isnumeric(): try: keep_alive = int(default) @@ -973,7 +988,6 @@ def API_addPeers(configName): else: keep_alive = 0 - config = WireguardConfigurations.get(configName) if not config.getStatus(): config.toggleConfiguration() ipStatus, availableIps = config.getAvailableIP(-1)