bundles/pppd: add dyndns capability

This commit is contained in:
Franzi 2020-11-14 12:46:19 +01:00
parent 10732efa36
commit f405dca771
Signed by: kunsi
GPG key ID: 12E3D2136B818350
4 changed files with 37 additions and 0 deletions

24
bundles/pppd/files/dyndns Normal file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env python3
import requests
from sys import argv
INTERFACE = argv[1]
LOCAL_IP = argv[4]
UPDATE_URL = '${url}'
USERNAME = '${username}'
PASSWORD = '${password}'
r = requests.get(
UPDATE_URL.format(
ip=LOCAL_IP,
),
auth=(
USERNAME,
PASSWORD,
)
)
with open('/var/tmp/dyndns.monitoring', 'w') as s:
s.write(str(r.status_code))

View file

@ -76,6 +76,13 @@ files = {
},
}
if 'dyndns' in node.metadata['pppd']:
files['/etc/ppp/ip-up.d/dyndns'] = {
'content_type': 'mako',
'context': node.metadata['pppd']['dyndns'],
'mode': '0755',
}
svc_systemd = {
'pppoe': {
'needs': {

View file

@ -3,6 +3,7 @@ defaults = {
'packages': {
'ppp': {},
'pppoe': {},
'python3-requests': {},
'ndisc6': {},
},
},

View file

@ -67,6 +67,11 @@ nodes['home.router'] = {
'username': vault.decrypt('encrypt$gAAAAABfruZ5AZbgJ3mfMLWqIMx8o4bBRMJsDPD1jElh-vWN_gnhiuZVjrQ1-7Y6zDXNkxXiyhx8rxc2enmvo26axd7EBI8FqknCptXAPruVtDZrBCis4TE='),
'password': vault.decrypt('encrypt$gAAAAABfruaXEDkaFksFMU8g97ydWyJF8p2KcSDJJBlzaOLDsLL6oCDYjG1kMPVESOzqjn8ThtSht1uZDuMCstA-sATmLS-EWQ=='),
'interface': 'enp1s0.100',
'dyndns': {
'url': 'https://ns-1.kunbox.net/nic/update?hostname=franzi-home.kunbox.net&myip={ip}',
'username': vault.decrypt('encrypt$gAAAAABfr8DLAJhmUIhdxLq83I8MnRRvkRgDZcO8Brvw1KpvplC3K8ZGj0jIIWD3Us33vIP6t0ybd_mgD8slpRUk78Kqd3BMoQ=='),
'password': vault.decrypt('encrypt$gAAAAABfr8Cq5M1hweeJTQAl0dLhFntdlw-QnkIYUQpY-_ycODVWOpyeAwjwOgWLSdsdXIUvqcoiXPZPV-BE12p5C42NGnj9r7sKYpoGz8xfuGIk6haMa2g='),
},
},
'dhcpd': {
'subnets': {