diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-16 04:35:02 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-16 04:35:02 -0800 |
| commit | 603bb358285bf9b5fc6cc50e7b25d32571e68eaa (patch) | |
| tree | 78540b518c56709132e76748c1398f7da5898688 | |
| parent | 938a3be60a5f5c23687c7b24258534e6a8d986e5 (diff) | |
| download | wg-genconf-603bb358285bf9b5fc6cc50e7b25d32571e68eaa.tar.gz wg-genconf-603bb358285bf9b5fc6cc50e7b25d32571e68eaa.tar.xz | |
support peer options for auto-peers
| -rwxr-xr-x | wg-genconf.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/wg-genconf.py b/wg-genconf.py index bcc7efe..a4656ca 100755 --- a/wg-genconf.py +++ b/wg-genconf.py @@ -140,9 +140,9 @@ def ipspecs_to_ips(peer, ipspecs, interface=False): for ipspec in ipspecs for ip in ipspec_to_ips(peer, ipspec, interface=interface)] -def auto_peerspecs(peer): +def auto_peerspecs(peer, peerspec): return [ - {'name': x, 'ips': ['{peer}']} + peerspec | {'name': x} for x in list(dict.fromkeys( net_peer_name for net_peer_name, net_peer in peer.network.peers.items() @@ -155,7 +155,9 @@ def expand_peerspecs(peer, peerspecs): x for peerspec in peerspecs for x in ( - auto_peerspecs(peer) if peerspec.get('auto') else [peerspec])] + auto_peerspecs(peer, peerspec) + if peerspec.get('auto') + else [peerspec])] def gc_if_data(if_): if_data = { |
