This is an old revision of the document!
Clubstatus
clubstatus | |
---|---|
Git | clubstatusd Web-Frontend |
Host | web-status.server.aachen.ccc.de |
Kontakt | clonejo |
Status | aktiv (2016-03-16 19:10) |
- Passwort: siehe internes Wiki (das altbekannte Passwort, Benutzername ist egal)
- läuft unter https://status.aachen.ccc.de/
- die API ist unter https://status.aachen.ccc.de/api/
Presence
Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend
- auf Dynamo läuft in der Munin-VM das Programm maccollect (repo, Branch “status-api”)
- Mac-Adressen der eigenen Geräte eintragen; dafür einen Admin, z.b. clonejo oder spq fragen
- in der Munin-VM in der Datei /home/maccollect/maccollect/config.yaml den Benutzernamen und zugehörige Mac-Adressen eintragen
- /etc/init.d/maccollect restart
vom eigenen Rechner
- Die Präsenzliste wird nur alle 10min aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :)
#!/bin/python3 import subprocess import requests import json USER = "Hans Acker" PASSWORD = "zensiert" DEVICE = "wlp3s0" def in_cccac_wlan(): output = subprocess.check_output(["nmcli", "device", "show", DEVICE]) for l in output.split(b"\n"): columns = l.split(b": ") if columns[0] == b"IP4.DOMAIN[1]": if columns[1].strip() == b"space.aachen.ccc.de": return True return False if in_cccac_wlan(): session = requests.Session() session.auth = ("", PASSWORD) j = {'type': 'presence', 'user': USER} r = session.put("https://status.aachen.ccc.de/api/v0", data=json.dumps(j))
Alternativ:
#!/bin/bash if arping -c 1 172.20.122.1 | grep -q 00:A0:57:24:80:7D then curl "https://status.aachen.ccc.de/api/v0" -X PUT --data '{"type": "presence", "user": "Hans Acker"}' -s -u :zensiert fi