mirror of
https://github.com/house-of-vanity/Wireguard-Peer-Manager.git
synced 2025-07-07 01:34:08 +00:00
Wireguard Reload instead of restart.
This commit is contained in:
13
gen.py
13
gen.py
@ -8,8 +8,9 @@ import json
|
|||||||
import ipaddress
|
import ipaddress
|
||||||
import argparse
|
import argparse
|
||||||
import configparser
|
import configparser
|
||||||
|
from subprocess import call
|
||||||
from socket import getfqdn
|
from socket import getfqdn
|
||||||
from os import system, path, mkdir
|
from os import path, mkdir
|
||||||
from base64 import b64encode, b64decode
|
from base64 import b64encode, b64decode
|
||||||
from nacl.public import PrivateKey
|
from nacl.public import PrivateKey
|
||||||
from ipaddress import ip_address
|
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, 'Endpoint', f"{helper.server_addr}")
|
||||||
_wg.add_attr(helper.server_pub_key, 'PersistentKeepalive', 10)
|
_wg.add_attr(helper.server_pub_key, 'PersistentKeepalive', 10)
|
||||||
_wg.write_file()
|
_wg.write_file()
|
||||||
system(f'qrencode -r {filename}.conf -o {filename}-qr.png')
|
call(f'qrencode -r {filename}.conf -o {filename}-qr.png', shell=True)
|
||||||
system(f'qrencode -t ansiutf8 -r {filename}.conf -o {filename}-qr.txt')
|
call(f'qrencode -t ansiutf8 -r {filename}.conf -o {filename}-qr.txt', shell=True)
|
||||||
log.info(f"Updated config for {filename}")
|
log.info(f"Updated config for {filename}")
|
||||||
|
|
||||||
|
|
||||||
@ -171,20 +172,22 @@ class Helper:
|
|||||||
log.info("Couldn't find peer.")
|
log.info("Couldn't find peer.")
|
||||||
return False
|
return False
|
||||||
self.wg.del_peer(pub_key)
|
self.wg.del_peer(pub_key)
|
||||||
|
filename = f"{client_dir}/{name.replace(' ', '_')}"
|
||||||
|
call(f"rm -f {filename}*", shell=True)
|
||||||
|
|
||||||
def add_peer(peer_name):
|
def add_peer(peer_name):
|
||||||
log.info('Generate a new peer config.')
|
log.info('Generate a new peer config.')
|
||||||
helper = Helper(cfg_path=config)
|
helper = Helper(cfg_path=config)
|
||||||
helper.add_peer(peer_name)
|
helper.add_peer(peer_name)
|
||||||
helper.wg.write_file()
|
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):
|
def del_peer(peer_name):
|
||||||
log.info(f'Remove given peer {peer_name}.')
|
log.info(f'Remove given peer {peer_name}.')
|
||||||
helper = Helper(cfg_path=config)
|
helper = Helper(cfg_path=config)
|
||||||
helper.del_peer(peer_name)
|
helper.del_peer(peer_name)
|
||||||
helper.wg.write_file()
|
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():
|
def update_configs():
|
||||||
log.info("Update all clients configs.")
|
log.info("Update all clients configs.")
|
||||||
|
Reference in New Issue
Block a user