Suche
Suche Menü

Zoom Launcher: Zoom Meetings via shell starten __

Let’s start with a rant

“Zoom bietet eine tolle User Experience (UX) und lässt den Anwender verschiedene Meetings bequem verwalten. Meetings lassen sich benennen, abspeichern und in einem übersichtlichen Menü auswählen und starten.”

So oder zumindest so ähnlich könnte eine eingedampfte Product Vision von Zoom aussehen. Nur leider hat es scheinbar noch kein PO bei Zoom geschafft, das in der Prio hoch zu drücken und umsetzen zu lassen (traurig)

Warum auch, Zoom hat es auch ohne vernünftige UX geschafft zum Marktführer für Video Calls aufzusteigen. Killer-Feature ist halt die sehr gute Kompression von Audio und Video, um qualitativ hochwertige Calls auch bei geringer Bandbreite durchzuführen. Wie geschaffen für Länder, in denen die Internet-Infrastruktur keine Priorität hat und vernachlässigt wird.

Lange Rede, kurzer Sinn: Mir geht die tägliche Bedienung von Zoom extrem auf die Nerven.

Hilf dir selbst

Für mich als Kommandozeilen-Junkie ist die schönste UX, wenn Dinge mit einfachen Kommandos auf der Shell funktionieren. Daher habe ich ein kleines Tool gebaut, mit dem sich Zoom-Meetings via CLI und Keyword starten lassen.
Die Meetings werden in einer YAML-Datei hinterlegt und lassen sich mit dem korrespondierenden Keyword starten.

zoom-lauchner start kubernetes-training

Das Kommando öffnet Zoom und verbindet sich in einen Zoom-Raum. In diesem Fall in unser Kubernetes-Training.

Die YAML-Datei sieht so aus:

zooms:
     kubernetes-training: <https link>
     qudosoft: <https link>

Das Tool wandelt den HTTPS-Link in das Zoom-Protocol “zoommtg” um und startet Zoom mittels “xdg-open”, wenn es unter Linux läuft, oder “open“, wenn’s ne Apfel-Kiste ist. Unter Windows klappt es wohl auch… vielleicht (Zwinkern)

Etwas anderes macht ein Browser auch nicht, beim Klick auf einen HTTPS-Zoom-Link.

Ein HTTPS-Zoom-Link hat folgende Struktur:

https://<zoomhost>/j/<meetingID>/?pwd=<password hash>

Diese Struktur lässt sich durch einfache Ersetzung in die “zoommtg”-Struktur umwandeln.
Hier der `sed` Befehl dafür:

zoommtgURL="$(echo $https-zoom-url | sed 's/^https:/zoommtg:/;s|/j/|/join?action=join\&confno=|;s/?pwd=/\&pwd=/')"

Die “zoommtg”-Struktur sieht dann wie folgt aus:

zoommtg://zoom.us?action=join&confno=&pwd=

Wird der “pwd”-Parameter weglassen, fragt Zoom beim Start des Meetings nach dem Passwort.

Wie ich den Spaß mit golang implementiert habe,  ist in meinem Github Repo Zoom Launcher in `zoomLinkConverter.go` und den dazugehörigen Test zu sehen.

Es gibt immer was zu lernen

Wer Bock hat, nen bissl golang zu vertiefen, kann sich den Code anschauen. Das Tool

  • verwendet cobra, ein Framework um Kommandozeilen-Tools zu bauen,
  • zeigt, wie man Applikationen aus einem Go-Tool starten kann
  • verwendet die Lib `gopkg.in/yaml.v2`, um das Marshalling (Konvertieren) einer YAML-Struktur in eine golang-Type-Struktur zu realisieren.
  • Weiterhin zeigt `zoomLinkConverter_test.go` wie parametrisierte Unit-Tests umgesetzt werden.

In the end

Habt ihr Feedback, Verbesserungsvorschläge oder Feature Wünsche? Dann schreibt es gerne in die Kommentare oder nutzt die Möglichkeiten von GitHub.

Viel Spaß mit dem Tool 🙂

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Agile Softwareentwicklung

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen