From abacb8acc2d55a8fefc91ca65e027c15bea31b3d Mon Sep 17 00:00:00 2001 From: root Date: Sun, 5 Jun 2022 23:11:08 +0000 Subject: [PATCH] Wireguard Reload instead of restart. --- gen.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gen.py b/gen.py index 5684db6..e1c5ac8 100755 --- a/gen.py +++ b/gen.py @@ -8,8 +8,9 @@ import json import ipaddress import argparse import configparser +from subprocess import call from socket import getfqdn -from os import system, path, mkdir +from os import path, mkdir from base64 import b64encode, b64decode from nacl.public import PrivateKey from ipaddress import ip_address @@ -104,8 +105,8 @@ class Peer: _wg.add_attr(helper.server_pub_key, 'Endpoint', f"{helper.server_addr}") _wg.add_attr(helper.server_pub_key, 'PersistentKeepalive', 10) _wg.write_file() - system(f'qrencode -r {filename}.conf -o {filename}-qr.png') - system(f'qrencode -t ansiutf8 -r {filename}.conf -o {filename}-qr.txt') + call(f'qrencode -r {filename}.conf -o {filename}-qr.png', shell=True) + call(f'qrencode -t ansiutf8 -r {filename}.conf -o {filename}-qr.txt', shell=True) log.info(f"Updated config for {filename}") @@ -171,20 +172,22 @@ class Helper: log.info("Couldn't find peer.") return False self.wg.del_peer(pub_key) + filename = f"{client_dir}/{name.replace(' ', '_')}" + call(f"rm -f {filename}*", shell=True) def add_peer(peer_name): log.info('Generate a new peer config.') helper = Helper(cfg_path=config) helper.add_peer(peer_name) helper.wg.write_file() - system(f'systemctl restart wg-quick@{config}.service') + call("bash -c 'wg syncconf wg0 <(wg-quick strip wg0)'",shell=True) def del_peer(peer_name): log.info(f'Remove given peer {peer_name}.') helper = Helper(cfg_path=config) helper.del_peer(peer_name) helper.wg.write_file() - system(f'systemctl restart wg-quick@{config}.service') + call("bash -c 'wg syncconf wg0 <(wg-quick strip wg0)'",shell=True) def update_configs(): log.info("Update all clients configs.")