<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.baszerr.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>BaSzErr - blog:2021:01:04</title>
        <description></description>
        <link>https://www.baszerr.eu/</link>
        <lastBuildDate>Wed, 06 May 2026 07:55:17 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://www.baszerr.eu/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>BaSzErr</title>
            <link>https://www.baszerr.eu/</link>
        </image>
        <item>
            <title>2021-01-04_-_dziadkofon</title>
            <link>https://www.baszerr.eu/doku.php?id=blog:2021:01:04:2021-01-04_-_dziadkofon</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dziadkofon&quot;&gt;2021-01-04 - dziadkofon&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
…or a family videoconferencing system. ;) when &lt;a href=&quot;https://en.wikipedia.org/wiki/COVID-19 pandemic&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/COVID-19 pandemic&quot;&gt;COVID-19 pandemic&lt;/a&gt; started and we ended up in a lockdown i was thinking about possible options to be able to meet grandparents, even if only remotely. there were a couple of things to keep in mind. the most important were:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; secure&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; trivial to use by family elders&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; simple to setup for everyone interested&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; audio + video&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; multiple attendees at the same time supported&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; easy to setup&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
time has passed, it i now have a working solution for that. :) there are two parts of it – server side and client side. we&amp;#039;ll cover the solution in this order.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2021-01-04 - dziadkofon&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dziadkofon&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-658&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;server&quot;&gt;server&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i&amp;#039;ve chosen &lt;a href=&quot;https://jitsi.org&quot; class=&quot;urlextern&quot; title=&quot;https://jitsi.org&quot; rel=&quot;ugc nofollow&quot;&gt;jitsi&lt;/a&gt; as a videoconferencing solution. to set it up it&amp;#039;s enough to create a small VM in your favorite cloud, and use &lt;a href=&quot;https://en.wikipedia.org/wiki/docker (software)&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/docker (software)&quot;&gt;docker&lt;/a&gt; to start an instance. as usual i&amp;#039;m using &lt;a href=&quot;https://en.wikipedia.org/wiki/debian&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/debian&quot;&gt;debian&lt;/a&gt; as a base &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;.
&lt;/p&gt;

&lt;p&gt;
after creating an instance, just to this:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt; docker.io docker-compose &lt;span class=&quot;kw2&quot;&gt;git&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;git clone&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;github.com&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;jitsi&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;docker-jitsi-meet.git
&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; docker-jitsi-meet
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;cp&lt;/span&gt; env.example .env
.&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gen-passwords.sh
&lt;span class=&quot;kw2&quot;&gt;vi&lt;/span&gt; .env &lt;span class=&quot;co0&quot;&gt;# we&#039;ll come to that in a sec...&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;.jitsi-meet-cfg&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;web&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;letsencrypt,transcripts,prosody&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config,prosody&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;prosody-plugins-custom,jicofo,jvb,jigasi,jibri&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
docker-compose up &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
there are number of options that you have to and/or should change in &lt;em&gt;.env&lt;/em&gt; file. let&amp;#039;s go through this that are important.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;HTTP_PORT&lt;/em&gt; and &lt;em&gt;HTTPS_PORT&lt;/em&gt; shall be changed to standard values (i.e. &lt;em&gt;80&lt;/em&gt; and &lt;em&gt;443&lt;/em&gt;). otherwise &lt;a href=&quot;https://en.wikipedia.org/wiki/Let&#039;s Encrypt&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/Let&amp;#039;s Encrypt&quot;&gt;Let&amp;#039;s Encrypt&lt;/a&gt; will not work. since HTTPS (“security” part) is my base requirement, it is a must have here.
&lt;/p&gt;

&lt;p&gt;
now setup &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; entry, that will point into your newly created instance. next change &lt;em&gt;PUBLIC_&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;&lt;/em&gt; to that &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; and &lt;em&gt;DOCKER_HOST_ADDRESS&lt;/em&gt; to an actual IP address of the machine (public IP).
&lt;/p&gt;

&lt;p&gt;
time for HTTPS settings. it&amp;#039;s all very smooth – just set &lt;em&gt;ENABLE_LETSECNRYPT&lt;/em&gt; to &lt;em&gt;1&lt;/em&gt;, provide &lt;em&gt;LETSENCRYPT_DOMAIN&lt;/em&gt; (your &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; entry) and set &lt;em&gt;LETCENCRYPT_EMAIL&lt;/em&gt; to sth you own. you&amp;#039;ll also need to set &lt;em&gt;ENABLE_HTTP_REDIRECT&lt;/em&gt; to &lt;em&gt;1&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
while not a hard must-have, do also consider setting &lt;em&gt;RESTART_POLICY&lt;/em&gt; to &lt;em&gt;no&lt;/em&gt; so that web proxy will not be restarted when Let&amp;#039;s Encrypt&amp;#039;s certificate negotation fails. Let&amp;#039;s Encrypt have a very strict limits on number of tries and if you screw anything with &lt;em&gt;RESTART_POLICY&lt;/em&gt; set to anything else, you&amp;#039;ll just blow up Let&amp;#039;s Encrypt certs limits rates, blocking you for hours. once cert is downloaded and working, you can always set it back to &lt;em&gt;unless-stopped&lt;/em&gt; (or whatever you like).
&lt;/p&gt;

&lt;p&gt;
the 2nd part of security aspect is that you want to have authentication enabled. since this is just a simple installation, aimed for a small and trusted group, we can just manage accounts by hand and provide family members with credentials. this can be done with jitsi&amp;#039;s internal authorization mechanism. thus let&amp;#039;s set &lt;em&gt;ENABLE_AUTH&lt;/em&gt; to &lt;em&gt;1&lt;/em&gt;, disable guests with &lt;em&gt;ENABLE_GUESTS&lt;/em&gt; set to &lt;em&gt;0&lt;/em&gt; and set &lt;em&gt;AUTH_TYPE&lt;/em&gt; to &lt;em&gt;internal&lt;/em&gt;. i also prefer &lt;em&gt;ENABLE_RECORDINGS&lt;/em&gt; to be set to &lt;em&gt;0&lt;/em&gt; – don&amp;#039;t plan to use it anyway, so why bother/risk?
&lt;/p&gt;

&lt;p&gt;
the last part is to add users. you can do this with a simple command:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;docker-compose &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; prosody prosodyctl &lt;span class=&quot;re5&quot;&gt;--config&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;prosody.cfg.lua register USERNAME meet.jitsi PASSWORD&lt;/pre&gt;

&lt;p&gt;
and that&amp;#039;s it! you&amp;#039;re now good to go! :)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;659-3412&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;client&quot;&gt;client&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
for most of users / family members under 60, it will be as easy as opening web browser, go to &lt;em&gt;your.domain.name/channel_name&lt;/em&gt;, login and you can talk! :)
&lt;/p&gt;

&lt;p&gt;
2/3 of my time on this project was however spent to make things easy for elders, so that they can use it, too. assumption was: no prior knowledge, technically agnostic and a single-button-UI approach. after going through like a dozen of different setups and ideas, i&amp;#039;ve finally seteled up with re-using old laptops as end-user terminals. laptops are setup up in a way, that they auto-connect to the custom jitsi server upon boot, automatically login and are ready to go. when session is over, it is enough to push power button again, to turn it off. here is a ready to go recipe for the setup.
&lt;/p&gt;

&lt;p&gt;
obviously a minimal installation of &lt;a href=&quot;https://en.wikipedia.org/wiki/debian&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/debian&quot;&gt;debian&lt;/a&gt;, so that it works fast and reliable + is easy to setup (forget about Windows ;)).
&lt;/p&gt;

&lt;p&gt;
first install all required packages, so that you can start &lt;em&gt;X11&lt;/em&gt; (note: no window manager!):
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; chromium xinit&lt;/pre&gt;

&lt;p&gt;
now add a new user, that will autologon – say: &lt;em&gt;johndoe&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
make user auto-login. edit /etc/systemd/logind.conf and set &lt;em&gt;NAutoVTs=1&lt;/em&gt;. then do &lt;em&gt;systemctl edit getty@tty1&lt;/em&gt;, providing a following content:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux&lt;/pre&gt;

&lt;p&gt;
run &lt;em&gt;systemctl enable getty@tty1&lt;/em&gt; to make sure it is started upon next boot.
&lt;/p&gt;

&lt;p&gt;
to connect to the service we&amp;#039;ll just use chromium in a kiosk mode. it should also auto start, upon boot. first create file /home/johndoe/.xinitrc and make it executable. content of it will be started when X11 is started:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-eux&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-o&lt;/span&gt; pipefail
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# disable power saving, screen blanking, etc...&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-dpms&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; s off
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; s noblank
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# hide mouse pointer&lt;/span&gt;
unclutter &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# browser in a kiosk mode&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; chromium \
    &lt;span class=&quot;re5&quot;&gt;--kiosk&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--start-fullscreen&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--noerrdialogs&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--disable-translate&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--no-first-run&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--fast&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--fast-start&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--disable-infobars&lt;/span&gt; \
    &lt;span class=&quot;re5&quot;&gt;--disable-features&lt;/span&gt;=TranslateUI \
    &lt;span class=&quot;re5&quot;&gt;--disk-cache-dir&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null \
    &lt;span class=&quot;re5&quot;&gt;--password-store&lt;/span&gt;=basic \
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;https://your.domain.name/my_private_channel_for_family&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
note that while normally incognito mode is preferred for kiosk modes, here it is actually a problem, as it will show pop-ups regarding page wanting to access your mic and camera. having this breaks the assumption of having interaction-free UI, auto-starting the whole thing. thus we skip incognito mode switch and just click “allow”, so that this setting is saved.
&lt;/p&gt;

&lt;p&gt;
the last thing is to actually start X11 automatically. since we already auto-login in shell, the task is as simple as creating /home/johndoe/.bash_profile with a following content:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-z&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$DISPLAY&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$(tty)&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span class=&quot;st0&quot;&gt;&amp;quot;/dev/tty1&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-D&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;your.domain.name&amp;quot;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$0: awaiting for the internet connection...&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;kw2&quot;&gt;sleep&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;
  &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; startx
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
you can use /etc/network/interfaces and/or &lt;em&gt;wicd&lt;/em&gt; to auto-configure network at your family member&amp;#039;s place. now after reboot, computer will start into kiosk mode and load the right page.
&lt;/p&gt;

&lt;p&gt;
last thing that it&amp;#039;s there to cover is auto-authentication, so that it is all key-free. to do this we&amp;#039;ll use &lt;a href=&quot;https://chrome.google.com/webstore/detail/auto-clicker-autofill/iapifmceeokikomajpccajhjpacjmibe&quot; class=&quot;urlextern&quot; title=&quot;https://chrome.google.com/webstore/detail/auto-clicker-autofill/iapifmceeokikomajpccajhjpacjmibe&quot; rel=&quot;ugc nofollow&quot;&gt;Auto Clicker - AutoFill&lt;/a&gt; addon to chromium. with it you can setup auto-filling entries and / or clicking buttons on pages, using &lt;a href=&quot;https://en.wikipedia.org/wiki/xpath&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/xpath&quot;&gt;xpath&lt;/a&gt; to elements to interact with. in case of jitsi login screen, it is enough to import configuration similar to this (just update username, password and &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code json&quot;&gt;{
  &amp;quot;enable&amp;quot;: true,
  &amp;quot;url&amp;quot;: &amp;quot;https://your.domain.name&amp;quot;,
  &amp;quot;name&amp;quot;: &amp;quot;&amp;quot;,
  &amp;quot;refresh&amp;quot;: false,
  &amp;quot;repeat&amp;quot;: &amp;quot;&amp;quot;,
  &amp;quot;repeatInterval&amp;quot;: &amp;quot;&amp;quot;,
  &amp;quot;initWait&amp;quot;: &amp;quot;&amp;quot;,
  &amp;quot;startTime&amp;quot;: &amp;quot;&amp;quot;,
  &amp;quot;actions&amp;quot;: [
    {
      &amp;quot;initWait&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;xpath&amp;quot;: &amp;quot;//input[@name=\&amp;quot;username\&amp;quot;]&amp;quot;,
      &amp;quot;value&amp;quot;: &amp;quot;johndoe&amp;quot;,
      &amp;quot;repeat&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;repeatInterval&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;addon&amp;quot;: {
        &amp;quot;xpath&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;condition&amp;quot;: &amp;quot;&amp;quot;
      }
    },
    {
      &amp;quot;initWait&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;xpath&amp;quot;: &amp;quot;//input[@name=\&amp;quot;password\&amp;quot;]&amp;quot;,
      &amp;quot;value&amp;quot;: &amp;quot;SuperSecretRandomlyGeneratedPassword40+2&amp;quot;,
      &amp;quot;repeat&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;repeatInterval&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;addon&amp;quot;: {
        &amp;quot;xpath&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;condition&amp;quot;: &amp;quot;&amp;quot;
      }
    },
    {
      &amp;quot;initWait&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;xpath&amp;quot;: &amp;quot;//button[@name=\&amp;quot;jqi_login_buttonspandatai18ndialogOkOKspan\&amp;quot;]&amp;quot;,
      &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;repeat&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;repeatInterval&amp;quot;: &amp;quot;&amp;quot;,
      &amp;quot;addon&amp;quot;: {
        &amp;quot;xpath&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;condition&amp;quot;: &amp;quot;&amp;quot;
      }
    }
  ]
}&lt;/pre&gt;

&lt;p&gt;
now we&amp;#039;re set! after reboot it should connect, auto-login and join an appropriate channel on its own. :)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;client&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;client&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3413-8186&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;final_thoughts&quot;&gt;final thoughts&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
setup is neat and fast. on my VERY old laptop it took under 60s from pressing a button to get teleconference running, while over half of it was BIOS + awaiting for an internet connection.
&lt;/p&gt;

&lt;p&gt;
the instructions are detailed enough, it could be automated. maybe in a future i&amp;#039;ll prepare &lt;a href=&quot;https://en.wikipedia.org/wiki/Ansible (software)&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/Ansible (software)&quot;&gt;ansible&lt;/a&gt;&amp;#039;s playbook for this. for now time-to-market was critical, thus i just focused on “getting the job done”.
&lt;/p&gt;

&lt;p&gt;
the “non-incognito” thing could be improved. maybe it is possible to auto-access mic/cam dialog, too? or there is &lt;em&gt;–do-not-bother-user&lt;/em&gt; flag? ;) dunno – time will tell.
&lt;/p&gt;

&lt;p&gt;
i already had a great fun using the system and had a chance to see family members i have not seen for a VERY long time now. hope you&amp;#039;ll find it useful, too! :)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;final thoughts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;final_thoughts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;8187-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Jun 2021 20:09:43 +0000</pubDate>
        </item>
    </channel>
</rss>
