Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projekte:clubstatus [2017-01-17 01:01] – external edit 127.0.0.1 | projekte:clubstatus [2024-01-24 23:53] (current) – [Clubstatus] rentin | ||
---|---|---|---|
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://git.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 nur alle 10min aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :) | + | * Die Präsenzliste wird nicht sofort |
+ | * 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) | ||
</ | </ | ||
Alternativ: | Alternativ: | ||
<code bash> | <code bash> | ||
- | #!/bin/bash | + | #!/bin/sh |
- | if arping -c 1 192.168.40.1 | grep -q 00: | + | if arping -c 1 172.20.122.1 | grep -q 00: |
then | then | ||
curl " | curl " | ||
Line 59: | Line 76: | ||
</ | </ | ||
+ | |||
+ | ===== SpaceAPI ===== | ||
+ | Der clubstatusd implementiert auch https:// | ||
+ | |||
+ | Die statischen Werte werden im Config-File vom clubstatusd eingestellt, |