clubstatus | |
---|---|
Git | clubstatusd Web-Frontend maccollect |
Host | web-status.server.aachen.ccc.de |
Kontakt | clonejo |
Status | aktiv (2022-05-16) |
#!/bin/python3 import json import requests import subprocess import sys import time USER = "Hans Acker" PASSWORD = "zensiert :)" def in_cccac_wlan(): output = subprocess.check_output(["nmcli", "device", "show"]) for line in output.split(b"\n"): columns = line.split(b": ") if columns[0] == b"IP4.SEARCHES[1]": if columns[1].strip() == b"space.aachen.ccc.de": print("CCCAC network detected", file=sys.stderr) return True print("CCCAC network not detected", file=sys.stderr) return False while True: if in_cccac_wlan(): print(f"Marking {USER} as currently present.", file=sys.stderr) 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)) r.raise_for_status() time.sleep(600)
Alternativ:
#!/bin/sh 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
Der clubstatusd implementiert auch https://spaceapi.io/, unter https://status.aachen.ccc.de/spaceapi.
Die statischen Werte werden im Config-File vom clubstatusd eingestellt, unsere Admins können diese ändern.