Filter Amnezia asc parameters with empty values.

pull/1152/head
freetushkan 2026-03-01 04:12:56 +03:00 committed by GitHub
parent efa90544bd
commit fcdf569575
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 32 additions and 23 deletions

View File

@ -107,27 +107,31 @@ class WireguardConfiguration:
}
if self.Protocol == 'awg':
self.__parser["Interface"]["Jc"] = self.Jc
self.__parser["Interface"]["Jc"] = self.Jc
self.__parser["Interface"]["Jmin"] = self.Jmin
self.__parser["Interface"]["Jmax"] = self.Jmax
self.__parser["Interface"]["S1"] = self.S1
self.__parser["Interface"]["S2"] = self.S2
self.__parser["Interface"]["S3"] = self.S3
self.__parser["Interface"]["S4"] = self.S4
self.__parser["Interface"]["H1"] = self.H1
self.__parser["Interface"]["H2"] = self.H2
self.__parser["Interface"]["H3"] = self.H3
self.__parser["Interface"]["H4"] = self.H4
self.__parser["Interface"]["I1"] = self.I1
self.__parser["Interface"]["I2"] = self.I2
self.__parser["Interface"]["I3"] = self.I3
self.__parser["Interface"]["I4"] = self.I4
self.__parser["Interface"]["I5"] = self.I5
self.__parser["Interface"]["J1"] = self.J1
self.__parser["Interface"]["J2"] = self.J2
self.__parser["Interface"]["J3"] = self.J3
self.__parser["Interface"]["Itime"] = self.Itime
values = {
"Jc": self.Jc,
"Jmin": self.Jmin,
"Jmax": self.Jmax,
"S1": self.S1,
"S2": self.S2,
"S3": self.S3,
"S4": self.S4,
"H1": self.H1,
"H2": self.H2,
"H3": self.H3,
"H4": self.H4,
"I1": self.I1,
"I2": self.I2,
"I3": self.I3,
"I4": self.I4,
"I5": self.I5,
"J1": self.J1,
"J2": self.J2,
"J3": self.J3,
"Itime": self.Itime,
}
for key, value in values.items():
if value is not None and str(value).strip():
self.__parser["Interface"][key] = value
if "Backup" not in data.keys():
self.createDatabase()
@ -980,8 +984,10 @@ class WireguardConfiguration:
with open(self.configPath, 'r') as f:
original = [l.rstrip("\n") for l in f.readlines()]
allowEdit = ["Address", "PreUp", "PostUp", "PreDown", "PostDown", "ListenPort", "Table"]
awgKeys = []
if self.Protocol == 'awg':
allowEdit += ["Jc", "Jmin", "Jmax", "S1", "S2", "S3", "S4", "H1", "H2", "H3", "H4", "I1", "I2", "I3", "I4", "I5", "J1", "J2", "J3", "Itime"]
awgKeys = ["Jc", "Jmin", "Jmax", "S1", "S2", "H1", "H2", "H3", "H4", "S3", "S4", "I1", "I2", "I3", "I4", "Itime"]
allowEdit += awgKeys
start = original.index("[Interface]")
try:
end = original.index("[Peer]")
@ -995,7 +1001,10 @@ class WireguardConfiguration:
if split[0] not in allowEdit:
new.append(original[line])
for key in allowEdit:
new.insert(1, f"{key} = {str(newData[key]).strip()}")
val = str(newData.get(key, "")).strip()
if key in awgKeys and val == "":
continue
new.insert(1, f"{key} = {val}")
new.append("")
for line in range(end, len(original)):
new.append(original[line])