This is an old revision of the document!


Table of Contents

Clubstatus

clubstatus
Git clubstatusd Web-Frontend maccollect
Host web-status.server.aachen.ccc.de
Kontakt clonejo
Status aktiv (2022-05-16)

Presence

Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend

  • Geräte im Club-Netz werden anhand der MAC-Adresse erkannt.
  • Jetzt NEU mit Selfservice™! Navigiere mit dem zu erkennenden Gerät zu http://pile.space.aachen.ccc.de:1234/, vergebe einen Nicknamen und wähle “Register device”. Innerhalb von 1-2 Minuten sollte der Nickname im Clubstatus auftauchen.
  • Der Code für dieses Feature liegt separat im Gitlab: https://git.aachen.ccc.de/clubstatus/maccollect
  • Die MAC-Adressen deiner Endgeräte werden ausschließlich gehasht abgelegt.

vom eigenen Rechner

  • Die Präsenzliste wird nicht sofort aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :)
  • Nach 10+n Minuten gibt es einen Timeout, und der Benutzername wird wieder aus der Präsenzliste entfernt. Daher muss alle 10min ein neuer Request gesendet werden.
#!/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

SpaceAPI

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.

Navigation



You are not allowed to add pages