-
TESM 2.0.4 Stable
released this
2026-09-03 12:21:37 +02:00 | 87 commits to main since this releaseAutomatische Abmeldung -- jetzt wirklich
In 2.0.3 war die Ursache nur halb behoben. Zwei Gruende, beide fuer sich
ausreichend:- Eine zweite Schreibstelle. Die Sitzung wird nicht nur beim Lesen einer
Anfrage verlängert, sondern auch beim Speichern -- und das geschieht, sobald
eine Anfrage die Sitzung anfasst. Ein neu erzeugtes CSRF-Token genügt dafür.
Die Prüfung an der ersten Stelle lief damit ins Leere. Sitzungsdaten werden
weiter gespeichert, nur die Fristen bleiben stehen. Dieselbe Stelle benutzte
ausserdem die fest eingebaute Zeit statt der einstellbaren; bei der Vorgabe
von 30 Minuten fiel das nicht auf. - Ein Tab, der noch das alte Skript fährt. Die Kennzeichnung automatischer
Anfragen kam bisher nur vom Browser -- wer seit gestern Abend angemeldet ist,
hat die Seite seit gestern Abend nicht neu geladen und schickt sie deshalb
nicht. Genau dieser Tab ist der Fall, um den es geht. Der Server weiss es
jetzt ohne Zutun des Browsers: die Endpunkte, die eine Kachel oder ein
Protokoll nachlädt, sind als Aktualisierungsausschnitt gekennzeichnet und
gelten damit immer als automatisch.
Dass es auf dem Lizenzserver zuverlässig funktionierte, war der entscheidende
Hinweis: dort pollt keine Kachel.Ein Neuladen des Tabs ist damit nicht mehr nötig -- die Abmeldung greift
auch bei einem Tab, der seit Stunden offen steht.Sichtbares Ende einer abgelaufenen Sitzung
Die Statusübersicht antwortet auch öffentlich. Nach dem Ablauf kam deshalb eine
200 mit den öffentlichen Kacheln zurück, und der offene Tab zeigte weiter eine
Oberfläche, als sei alles in Ordnung. Ein zusätzlicher Kopf sagt es unabhängig
vom Statuscode; der Browser lädt daraufhin neu und zeigt die Anmeldemaske.Installation
sudo bash /opt/tesm/deploy/update.sh tesm latest --instance <name>Downloads
- Eine zweite Schreibstelle. Die Sitzung wird nicht nur beim Lesen einer
-
TESM 2.0.3 Stable
released this
2026-09-03 11:43:03 +02:00 | 88 commits to main since this releaseUpgrade von der Fassung 1.x
Neu:
deploy/upgrade.sh-- ein Weg vom StandSONNET5auf diese Fassung,
mit Daten. Der Ablauf braucht keine Schalter:sudo bash deploy/upgrade.sh --app tesmSichern -> abschalten -> installieren -> exportieren -> übersetzen ->
einspielen. Die Sicherung steht bewusst vor dem Export: ohne--instance
installiertinstall.shin dasselbe Verzeichnis, und wer erst exportiert und
dann sichert, sichert im schlechtesten Fall nichts mehr. Gelesen wird
ausschliesslich aus der Kopie -- die alte Installation wird nie verändert.Übernommen werden Clients, Switche, Zugangsdaten und DHCP. Lokale Konten,
Gruppen, LDAP und Webserver kommen nicht mit; der Bericht sagt es beim Namen.Zwei neue Befehle stehen auch einzeln zur Verfügung:
tesm-admin legacy-export --source /srv/tesm --out datei.jsonliest eine
alte Installation unmittelbar -- der Vorgänger kann nur über die
Weboberfläche exportieren, und das geht nicht mehr, wenn er nicht startet.
Die Datei ist ein echter Export des Vorgängers und taugt deshalb als
Rückweg.tesm-admin legacy-import datei.jsonliest eine Datei im neuen Format ein --
über denselben Import wie die Seite "Sicherung".
Automatische Abmeldung -- sie hat nie ausgelöst
Ein offener Tab fragt seine Kacheln alle 15 Sekunden neu ab, und jede
Abfrage verlängerte das Leerlauffenster. Nachweisbar an einer Sitzung, deren
last_seen_ateine Minute alt war, obwohl seit zehn Stunden niemand am Rechner
sass. Der Browser kennzeichnet automatische Anfragen jetzt, der Server
verlängert daraufhin nichts, undlast_seen_atbleibt, was der Name sagt: der
letzte Zeitpunkt, an dem ein Mensch da war.Fällt die Sitzung während des Pollens, antwortet der Server mit 401 statt mit
einer Umleitung: der Tab lädt neu und zeigt die Anmeldemaske, statt stumm mit
beliebig alten Zahlen stehenzubleiben.Ein bereits offener Tab muss einmal neu geladen werden -- bis dahin läuft
dort noch das alte Skript.Audit
Der Name einer Konsolen-Mitschrift ist jetzt ein Verweis auf die Datei. Es ist
derselbe Weg wie zuvor, nur einen Klick weit. Verlinkt wird nur, wenn die Datei
noch existiert und der Betrachter Protokolldateien lesen darf.Installation
tar xzf tesm-v2.0.3.tar.gz && cd tesm sudo bash deploy/install.sh --app tesm --httpsBestehende Installation:
sudo bash /opt/tesm/deploy/update.sh tesm latest --instance <name>Downloads
-
TESM 2.0.2 Stable
released this
2026-09-03 00:17:00 +02:00 | 89 commits to main since this releaseOberfläche
- Echte Umlaute in allen Texten -- Seiten und Dokumentation.
- "Änderungen" heisst jetzt Audit; die Ampel dort ist eindeutig: Info grün,
Hinweis orange, Warnung rot. Ein erfolgreicher Heartbeat wird nicht mehr
protokolliert, ein fehlgeschlagener schon. - Kopfzeile: ein Zeitgeber bis zur nächsten Prüfung -- der Knopf darin löst sie
sofort aus -- und die Restlaufzeit der Lizenz: unter 90 Tagen grün als
Hinweis, unter 30 orange, abgelaufen rot. Der doppelte Knopf "Jetzt prüfen"
auf der Statusübersicht ist entfallen. - Millisekunden werden ab einer Sekunde als Sekunden mit zwei Nachkommastellen
und ab einer Minute als m:ss dargestellt -- auch auf den Switch-Seiten. - Der Neustartstatus erscheint unmittelbar nach dem Auslösen -- bei PoE, RPC und
SSH, manuell wie automatisch -- und ebenso in der Clientliste. - Ein Gerät, das nicht antwortet, bietet nur noch Einschalten (PoE) an:
Neustart über SSH oder RPC setzt ein erreichbares Gerät voraus. - Dateivorschau in einem Fenster statt in einem neuen Tab, der Dateiname ist
anklickbar, Umbenennen ist möglich, Zuordnungen sind bearbeitbar. - Der Knopf im Dateifeld ist im dunklen Thema wieder lesbar.
- In der Rechtematrix ist dunkler jetzt nicht vorhanden -- und nicht mehr
anhakbar.
Sitzung und Freigaben
- Eingebundene Freigaben hängen an der Sitzung: wird sie widerrufen oder läuft
sie ab, verschwinden die Einbindungen mit ihr. - Neu einstellbar: automatische Abmeldung bei Leerlauf, Vorgabe 30 Minuten.
Aktivität setzt den Zähler zurück. - Freigaben nehmen beide Schreibweisen an --
\\dc2022\shareund
//dc2022/share. Kurze Hostnamen werden über die AD-Domäne aufgelöst.
DHCP
- Option 225 ist je Auto-Reservierung setzbar, nicht mehr nur global.
- Reservierungen entstehen nur für Bereiche, die es wirklich gibt; was
übersprungen wurde, wird benannt. - Belegte Reservierungen sind gekennzeichnet, wie es Windows-DHCP tut.
- Ablaufzeiten als Datum und Uhrzeit statt als Unix-Zeitstempel.
Übernahme aus dem Vorgänger
Ein Export des alten TESM lässt sich übersetzen und dann über den normalen
Import einspielen: Clients, Switche, Zugangsdaten und DHCP. Der Bericht nennt
ausdrücklich, was nicht übersetzt werden kann.Aktualisierung
update.shfunktioniert jetzt tatsächlich: die Bezugsquelle war auf einen
Platzhalter voreingestellt, das Repository heisst jetzt wie die Anwendung, und
alles nach dem Tag geht unverändert aninstall.shweiter -- nur so lässt sich
eine benannte Instanz aktualisieren:sudo bash /opt/tesm-opus/deploy/update.sh tesm latest --instance opusOhne
--instanceentstünde daneben eine zweite Installation. Ausserdem bleiben
die Ports einer bestehenden Installation erhalten: eine benannte Instanz
fiel bisher auf 8080/8443 zurück, auch wenn sie auf Port 80 lief -- ein Reverse
Proxy davor hätte danach ins Leere gezeigt.Zwei Prüfungen darin hatten nie zugegriffen: die Suche nach
install.shim
entpackten Paket lief eine Ebene zu flach und meldete den Fehler als
unbrauchbaren Download, und die CRLF-Prüfung rieffileauf -- ein Paket, das
auf einem schlanken Server fehlt, worauf die Prüfung stillschweigend zustimmte.Installation
tar xzf tesm-v2.0.2.tar.gz && cd tesm sudo bash deploy/install.sh --app tesm --httpsBestehende Installation:
sudo bash /opt/tesm/deploy/update.sh tesmDownloads
-
TESM 2.0.1 Stable
released this
2026-09-02 21:21:08 +02:00 | 98 commits to main since this releaseBehebt: Dateifreigaben wurden nie eingebunden ("mount error(1): Operation not permitted"). Ursache war der eigene Mount-Namensraum des Dienstes; der Mount laeuft jetzt ueber nsenter im Namensraum des Wirts und wird von dort in den Dienst weitergegeben. Die Haertung bleibt vollstaendig erhalten.
SHA-256: 5ca50be135799bc5fbda73b331fc91e78aeda6f24b4ef7cb363de30dbac13b0b
Downloads
-
TESM 2.0.0 Stable
released this
2026-09-02 18:37:39 +02:00 | 99 commits to main since this releaseVollstaendiger Neubau. Der vorherige Stand liegt im Zweig SONNET5.
Dieses Archiv enthaelt nur, was zum Installieren und Betreiben von TESM noetig ist -- keine Tests, keine Serverhaelfte des Lizenzprotokolls.
sudo bash deploy/install.sh --app tesm --https sudo -u tesm tesm-admin create-adminSHA-256: 8f0a5d54c628b6398294d2cf4167b02eede1f9c5365de092a3b90960eed50ee0
Downloads
-
released this
2026-08-23 22:43:26 +02:00 | 101 commits to main since this releaseSynchronisierende Aenderung fuer das neue Sub-Lizenzserver-Reporting-Feature auf dem Lizenzserver.
Downloads
-
released this
2026-08-23 22:06:26 +02:00 | 102 commits to main since this releaseSynchronisierende Aenderung: licensing.py bekommt ein neues role-Feld (master/license_server/customer) fuer das neue Sub-Lizenzserver-Feature auf dem Lizenzserver. TESM selbst nutzt es nicht aktiv, muss aber byte-identisch bleiben.
Downloads
-
released this
2026-08-23 20:48:33 +02:00 | 103 commits to main since this releaseDie Lizenzseite (Einstellungen -> Lizenz) hatte im Rechtebaum keinen eigenen Eintrag und lief komplett ueber settings_system.view/.edit mit. Neu: eigenes Rechtepaar settings_license.view/.edit, mit automatischer Migration (bestehende Gruppen mit settings_system.* behalten ihren bisherigen Zugriff auf die Lizenzseite).
Downloads
-
released this
2026-08-23 17:14:57 +02:00 | 104 commits to main since this releaseDas auf dem Lizenzserver hochgeladene Anbieter-Logo wird jetzt auch tatsaechlich auf der Lizenz-Seite der Kundeninstanz angezeigt (bisher wurde es zwar in jede Lizenz eingebettet, aber nie dargestellt). Reine Anzeige-Ergaenzung -- bereits ausgestellte Lizenzen muessen nicht neu erzeugt werden, das Logo steckt schon drin.
Installation/Update wie gewohnt per
sudo ./update.sh.Downloads
-
released this
2026-08-23 16:00:45 +02:00 | 105 commits to main since this releaseMeldet bei jeder Lizenz-Aktivierung und jedem Heartbeat zusaetzlich den Hostnamen dieser Instanz an den Master-Lizenzserver (rein informativ, fuer dessen neue Dashboard-Kachelansicht ab tesm-license v1.2.0). Fliesst in keine Sicherheitsentscheidung ein -- weiterhin allein der Fingerprint bindet eine Lizenz an ein System. Abwaerts-/vorwaerts-kompatibel in beide Richtungen (alter Client + neuer Master, neuer Client + alter Master funktionieren beide unveraendert).
Installation/Update wie gewohnt per
sudo ./update.sh.Downloads