Убрал кнопку Файл

This commit is contained in:
Petro1990 2025-11-26 11:04:22 +03:00
parent c9a50e3860
commit f3625ea970
1 changed files with 22 additions and 19 deletions

View File

@ -124,6 +124,9 @@ def parse_wireguard(config_text):
server, port = peer.get('Endpoint', ':').rsplit(':', 1)
# 3. `Address` из `.conf` файла должен быть разделен на `ip` и `prefix`
ip_address = interface.get("Address", "").split("/")[0]
y = [
f'- name: "{name}"',
' type: wireguard',
@ -131,12 +134,21 @@ def parse_wireguard(config_text):
f' port: {port}',
f' private-key: "{interface.get("PrivateKey")}"',
f' public-key: "{peer.get("PublicKey")}"',
f' ip: "{interface.get("Address").split("/")[0]}"'
f' ip: {ip_address}'
]
# 2. Значения для `dns` и `allowed-ips` должны быть представлены в виде списков
if interface.get('DNS'):
dns_servers = [d.strip() for d in interface.get('DNS').split(',')]
y.append(f' dns: {dns_servers}')
y.append(' dns:')
for d in dns_servers:
y.append(f' - {d}')
if peer.get('AllowedIPs'):
allowed_ips = [ip.strip() for ip in peer.get('AllowedIPs').split(',')]
y.append(' allowed-ips:')
for ip in allowed_ips:
y.append(f' - "{ip}"')
if peer.get('PresharedKey'):
y.append(f' preshared-key: "{peer.get("PresharedKey")}"')
@ -144,23 +156,14 @@ def parse_wireguard(config_text):
if peer.get('PersistentKeepalive'):
y.append(f' keep-alive: {peer.get("PersistentKeepalive")}')
amnezia_opts = {
'Jc': interface.get('Jc'),
'Jmin': interface.get('Jmin'),
'Jmax': interface.get('Jmax'),
'S1': interface.get('S1'),
'S2': interface.get('S2'),
'H1': interface.get('H1'),
'H2': interface.get('H2'),
'H3': interface.get('H3'),
'H4': interface.get('H4')
}
# 1. Параметры AmneziaWG должны быть сгруппированы во вложенном словаре
amnezia_keys = ['Jc', 'Jmin', 'Jmax', 'S1', 'S2', 'H1', 'H2', 'H3', 'H4']
amnezia_opts = {key: interface.get(key) for key in amnezia_keys if interface.get(key) is not None}
if any(v is not None for v in amnezia_opts.values()):
y.append(' amnezia-wg-opts:')
if amnezia_opts:
y.append(' amnezia-wg-option:')
for key, value in amnezia_opts.items():
if value is not None:
y.append(f' {key.lower()}: {value}')
y.append(f' {key}: {value}')
return {"yaml": "\n".join(y), "name": name}, None