Always use Zoom webclient under GNU/Linux by registering a handler for zoommtg:// URIs
git clone https://github.com/hackerb9/zool
cd zool
make install
(If make install fails, try running it using sudo).
Zoom links should now work.
Zoom is a video conferencing service that became quite popular during the COVID-19 pandemic of 2020. Unfortunately, it is currently rather aggressive about pushing its proprietary client software on every participant's computer. Further, because it is closed source, there have been numerous security and privacy issues. For those and other reasons, many people are turning to open solutions such as Jitsi, when they have a choice.
But Zoom isn't always optional. When that happens, it's good to have Zool installed. When clicking on a Zoom meeting link, Zool will load up the Zoom web client which uses the builtin video conferencing that already exists in Free Software web-browsers, such as Chromium. No need to trust a proprietary, closed-source client on your computer. (Of course, your data is still being sent through Zoom's networks, so maybe suggest the host consider another alternative next time)..
Zool currently attempts to run Chromium or Google Chrome even if your default web browser is Firefox. This is because Zoom (as of May 2020) does not allow audio for Firefox, although video does work. After that bug is fixed, Zool will be changed to use your default browser.
The zool.desktop
file specifies the handler for MIME type x-schema-zoommtg to be a
program named zool. Simply copying the file into
~/.local/share/applications/ was enough for the author to get the
handler registered.
The zool shell
script simply transmogrifies the zoommtg:// URI so that it becomes a
standard https:// address using Zoom's webclient and opens it. For
example:
zoommtg://zoom.us/join?action=join&confid=dXNzPTVhNDYyMjAxLjAzRXdVclZEeWRpRDlRTC16WU1FM05FVnN6c0pFVk9uanpRWlJjQjVQUzAzbkp3eVkwU1RnZ1g5U2pScDhjakRfOG5KeTRzcXhCSHVJVG1La2Z5aGlBJTNEJTNEJnRpZD01OTVkMzMzMDdmYTc0OTk5YjcyYWQ3ZTUzMjllNmFiMA%3D%3D&confno=91265111161&zc=0&pwd=UE54Y3AxbHRvRlA2azQ1K2VWMEF2Zz09&pk=&mcv=0.92.11227.0929&browser=chrome
would become
https://zoom.us/wc/join/91265111161?zc=0&pwd=UE54Y3AxbHRvRlA2azQ1K2VWMEF2Zz09&pk=&mcv=0.92.11227.0929&browser=chrome
Since Zool doesn't actually bother to parse the CGI arguments, it's quite possible that the simple string substitution will break if Zoom changes its URI format. (For example, putting the pwd before confno). However, instead of trying to make this more robust with no data, I'm going to wait for more samples of actual Zoom URLs from users.
Please report a bug with the "zoommtg" URI if Zool doesn't work for you.
The Makefile copies the zool.desktop and zool shell script to the
right directories then runs various commands to ensure Zool is
configured as the handler for MIME type x-schema-zoommtg. The
commands may be unnecessary, but they shouldn't hurt.
xdg-mime default ~/.local/share/applications/zool.desktop x-scheme-handler/zoommtg
gio mime x-scheme-handler/zoommtg zool.desktop
update-desktop-database ~/.local/share/applications