diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-10 23:18:24 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-10 23:18:24 -0800 |
| commit | f96c9eae20b10b944fa3d2d1e06666a632a0128e (patch) | |
| tree | 0ad3e99fc8f4dd4aa54abe32b832274cf4dd560c | |
| parent | 2157a8d75726c9d28a62c298df279e4ed917f16f (diff) | |
| download | wg-genconf-f96c9eae20b10b944fa3d2d1e06666a632a0128e.tar.gz wg-genconf-f96c9eae20b10b944fa3d2d1e06666a632a0128e.tar.xz | |
use argparse
| -rwxr-xr-x | wg-genconf.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/wg-genconf.py b/wg-genconf.py index 3a8269b..10a57d5 100755 --- a/wg-genconf.py +++ b/wg-genconf.py @@ -2,6 +2,7 @@ # # Copyright 2025 David Vazgenovich Shakaryan +import argparse import collections import copy import functools @@ -318,18 +319,20 @@ def get_privkey(if_): if_.get('privkey-path', '~/.wg-genconf/${network}.privkey')))) def main(): - conf_file = sys.argv[1] - peer_name = sys.argv[2] + parser = argparse.ArgumentParser() + parser.add_argument('-c', '--config', default='~/.wg-genconf/config.toml') + parser.add_argument('peer_name') + args = parser.parse_args() - with open(conf_file, 'rb') as f: + with open(os.path.expanduser(args.config), 'rb') as f: config = tomllib.load(f) networks = load_networks(config) - if not config['peer'].get(peer_name): - sys.exit(f"peer '{peer_name}' not configured") + if not config['peer'].get(args.peer_name): + sys.exit(f"peer '{args.peer_name}' not configured") for network in networks: - peer = network.peers[peer_name] + peer = network.peers[args.peer_name] for if_ in peer.interfaces.values(): # file=false allows associating peers without creating interface # config files, useful when an auto-peer interface is being |
