Requested page doesn't exist.
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projekte:clubstatus [2017-05-01 17:20] – [Clubstatus] clonejo | projekte:clubstatus [2025-03-15 15:28] (current) – [Presence] clonejo | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| <WRAP right> | <WRAP right> | ||
| ^ clubstatus | ^ clubstatus | ||
| - | ^ Git | [[https://github.com/clonejo/ | + | ^ Git | [[https://git.aachen.ccc.de/clubstatus/ |
| ^ Host | [[https:// | ^ Host | [[https:// | ||
| ^ Kontakt | [[wiki: | ^ Kontakt | [[wiki: | ||
| - | ^ Status | <fc green> | + | ^ Status | <fc green> |
| </ | </ | ||
| - | * Passwort: siehe [[https:// | + | * Passwort: siehe [[https:// |
| * läuft unter https:// | * läuft unter https:// | ||
| * die [[https:// | * die [[https:// | ||
| ===== Presence ===== | ===== Presence ===== | ||
| + | |||
| === Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend === | === Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend === | ||
| - | | + | <WRAP right> |
| - | * Mac-Adressen | + | {{ : |
| - | * in der Munin-VM in der Datei /home/maccollect/maccollect/config.yaml den Benutzernamen und zugehörige Mac-Adressen eintragen | + | </ |
| - | * /etc/init.d/ | + | |
| + | | ||
| + | * **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 | ||
| + | * Der Code für dieses Feature liegt separat im Gitlab: https://gitlab.aachen.ccc.de/clubstatus/maccollect | ||
| + | * Die MAC-Adressen deiner Endgeräte werden ausschließlich gehasht abgelegt. | ||
| === vom eigenen Rechner === | === vom eigenen Rechner === | ||
| * Die Präsenzliste wird nicht sofort aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :) | * 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. | ||
| <code python> | <code python> | ||
| # | # | ||
| - | import subprocess | ||
| - | import requests | ||
| import json | import json | ||
| + | import requests | ||
| + | import subprocess | ||
| + | import sys | ||
| + | import time | ||
| + | |||
| USER = "Hans Acker" | USER = "Hans Acker" | ||
| - | PASSWORD = " | + | PASSWORD = " |
| - | DEVICE = " | + | |
| def in_cccac_wlan(): | def in_cccac_wlan(): | ||
| - | output = subprocess.check_output([" | + | output = subprocess.check_output([" |
| - | for l in output.split(b" | + | for line in output.split(b" |
| - | columns = l.split(b": | + | columns = line.split(b": |
| - | if columns[0] == b"IP4.DOMAIN[1]": | + | if columns[0] == b"IP4.SEARCHES[1]": |
| if columns[1].strip() == b" | if columns[1].strip() == b" | ||
| + | print(" | ||
| return True | return True | ||
| + | print(" | ||
| return False | return False | ||
| - | if in_cccac_wlan(): | + | |
| - | session = requests.Session() | + | while True: |
| - | session.auth = ("", | + | |
| - | j = {'type': 'presence', 'user': USER} | + | |
| - | r = session.put(" | + | |
| + | session.auth = ("", | ||
| + | j = {"type": "presence", "user": USER} | ||
| + | r = session.put(" | ||
| + | r.raise_for_status() | ||
| + | time.sleep(600) | ||
| </ | </ | ||
| Line 59: | Line 76: | ||
| </ | </ | ||
| + | |||
| + | ===== SpaceAPI ===== | ||
| + | Der clubstatusd implementiert auch https:// | ||
| + | |||
| + | Die statischen Werte werden im Config-File vom clubstatusd eingestellt, | ||