mirror of
https://github.com/illiumst/marl-factory-grid.git
synced 2025-05-22 14:56:43 +02:00
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import configparser
|
|
import json
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
if __name__ == '__main__':
|
|
|
|
conf_path = Path('wg0')
|
|
wg0_conf = configparser.ConfigParser()
|
|
wg0_conf.read(conf_path/'wg0.conf')
|
|
interface = wg0_conf['Interface']
|
|
# Iterate all pears
|
|
for client_name in wg0_conf.sections():
|
|
if client_name == 'Interface':
|
|
continue
|
|
# Delete any old conf.json for the current peer
|
|
(conf_path / f'{client_name}.json').unlink(missing_ok=True)
|
|
|
|
peer = wg0_conf[client_name]
|
|
|
|
date_time = datetime.now().strftime('%Y-%m-%dT%H:%M:%S.%f000Z')
|
|
|
|
jdict = dict(
|
|
id=client_name,
|
|
private_key=peer['PublicKey'],
|
|
public_key=peer['PublicKey'],
|
|
# preshared_key=wg0_conf[client_name_wg0]['PresharedKey'],
|
|
name=client_name,
|
|
email=f"sysadmin@mobile.ifi.lmu.de",
|
|
allocated_ips=[interface['Address'].replace('/24', '')],
|
|
allowed_ips=['10.4.0.0/24', '10.153.199.0/24'],
|
|
extra_allowed_ips=[],
|
|
use_server_dns=True,
|
|
enabled=True,
|
|
created_at=date_time,
|
|
updated_at=date_time
|
|
)
|
|
|
|
with (conf_path / f'{client_name}.json').open('w+') as f:
|
|
json.dump(jdict, f, indent='\t', separators=(',', ': '))
|
|
print(client_name, ' written...')
|