From 869df7ceef29892ccc082848080a3c5ae434d592 Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Mon, 23 May 2022 23:17:39 -0500 Subject: [PATCH 1/8] 7.0.1 (#81) * Fix debug mode on triggered scripts. * Fix grep condition. --- jitsi-updater.sh | 6 +++++- jm-bm.sh | 2 +- quick_jibri_installer.sh | 12 ++++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/jitsi-updater.sh b/jitsi-updater.sh index faefc4a..7b4196f 100644 --- a/jitsi-updater.sh +++ b/jitsi-updater.sh @@ -207,6 +207,10 @@ restart_services # Brandless mode # ######################################################################## if [ "$ENABLE_BLESSM" = "on" ]; then - bash "$PWD"/jm-bm.sh + if [ "$MODE" = "debug" ]; then + bash "$PWD"/jm-bm.sh -m debug + else + bash "$PWD"/jm-bm.sh + fi fi printwc "${Blue}" "Script completed \o/!\n" diff --git a/jm-bm.sh b/jm-bm.sh index d5bc4dc..39a6dca 100644 --- a/jm-bm.sh +++ b/jm-bm.sh @@ -67,7 +67,7 @@ sed -i "s|jitsilogo.png|watermark2.png|g" "$TITLE_FILE" sed -i "s|logo-deep-linking.png|watermark2.png|g" "$BUNDLE_JS" sed -i "s|jitsiLogo_square.png|gnome_record.png|g" "$BUNDLE_JS" #Disable logo and url -if ! grep -nr ".leftwatermark{display:none" "$CSS_FILE" ; then +if ! grep -q ".leftwatermark{display:none" "$CSS_FILE" ; then sed -i "s|.leftwatermark{|.leftwatermark{display:none;|" "$CSS_FILE" fi diff --git a/quick_jibri_installer.sh b/quick_jibri_installer.sh index 0aff27c..da32c76 100644 --- a/quick_jibri_installer.sh +++ b/quick_jibri_installer.sh @@ -1092,7 +1092,11 @@ sleep .1 ###JWT if [ "$ENABLE_JWT" = "yes" ]; then printf "\nJWT auth is being setup...\n" - bash "$PWD"/mode/jwt.sh + if [ "$MODE" = "debug" ]; then + bash "$PWD"/mode/jwt.sh -m debug + else + bash "$PWD"/mode/jwt.sh + fi fi sleep .1 #Guest allow @@ -1201,7 +1205,11 @@ fi if [ "$ENABLE_BLESSM" = "yes" ]; then echo "Custom brandless mode will be enabled." sed -i "s|ENABLE_BLESSM=.*|ENABLE_BLESSM=\"on\"|" jitsi-updater.sh - bash "$PWD"/jm-bm.sh + if [ "$MODE" = "debug" ]; then + bash "$PWD"/jm-bm.sh -m debug + else + bash "$PWD"/jm-bm.sh + fi fi # Applying best practives for interface config.js -- 2.34.1 From 9926e5d5735ea91f87deb5b98ec4fff2041bbb8d Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Fri, 17 Jun 2022 16:36:15 -0500 Subject: [PATCH 2/8] 7.0.2 (#82) * Detect jibri node by jitsi-updater. --- jitsi-updater.sh | 58 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/jitsi-updater.sh b/jitsi-updater.sh index 7b4196f..3bee66a 100644 --- a/jitsi-updater.sh +++ b/jitsi-updater.sh @@ -20,6 +20,7 @@ fi Blue='\e[0;34m' Purple='\e[0;35m' +Red='\e[0;31m' Green='\e[0;32m' Yellow='\e[0;33m' Color_Off='\e[0m' @@ -40,10 +41,14 @@ support="https://switnet.net/support" apt_repo="/etc/apt/sources.list.d" ENABLE_BLESSM="TBD" CHD_LTST="$(curl -sL https://chromedriver.storage.googleapis.com/LATEST_RELEASE)" -CHD_LTST_2D="$(echo "$CHD_LTST"|cut -d "." -f 1,2)" +CHD_LTST_2D="$(cut -d "." -f 1,2 <<< "$CHD_LTST")" CHDB="$(whereis chromedriver | awk '{print$2}')" +if [ -d /etc/prosody/conf.d/ ]; then DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua | \ awk -F'.cfg' '!/localhost/{print $1}' | xargs basename)" +else + echo -e "Seems no prosody is installed...\n > is this a jibri node?" +fi NC_DOMAIN="TBD" JITSI_MEET_PROXY="/etc/nginx/modules-enabled/60-jitsi-meet.conf" if [ -f "$JITSI_MEET_PROXY" ];then @@ -65,13 +70,13 @@ if [ -z "$CHDB" ]; then echo "Seems no chromedriver installed" else CHD_VER_LOCAL="$($CHDB -v | awk '{print $2}')" - CHD_VER_2D="$(echo "$CHD_VER_LOCAL"|awk '{printf "%.1f\n", $NF}')" + CHD_VER_2D="$(awk '{printf "%.1f\n", $NF}' <<< "$CHD_VER_LOCAL")" fi # True if $1 is greater than $2 version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } -check_jibri() { +restart_jibri() { if [ "$(dpkg-query -W -f='${Status}' "jibri" 2>/dev/null | grep -c "ok installed")" == "1" ] then systemctl restart jibri @@ -86,7 +91,7 @@ fi restart_services() { systemctl restart jitsi-videobridge2 systemctl restart jicofo - check_jibri + restart_jibri systemctl restart prosody } @@ -105,7 +110,13 @@ update_google_repo() { echo "No Google repository found" fi } -GOOGL_VER_2D="$(/usr/bin/google-chrome --version|awk '{printf "%.1f\n", $NF}')" +printwc "${Purple}" "Checking for Google Chrome\n" +if [ -f /usr/bin/google-chrome ]; then + GOOGL_VER_2D="$(/usr/bin/google-chrome --version|awk '{printf "%.1f\n", $NF}')" +else + printwc "${Yellow}" " -> Seems there is no Google Chrome installed\n" + IS_GLG_CHRM="no" +fi upgrade_cd() { if [ -n "$GOOGL_VER_2D" ]; then if version_gt "$GOOGL_VER_2D" "$CHD_VER_2D" ; then @@ -139,6 +150,7 @@ if [ -f "$CHDB" ]; then upgrade_cd else printwc "${Yellow}" " -> Seems there is no Chromedriver installed\n" + IS_CHDB="no" fi } @@ -155,6 +167,21 @@ else echo "Please check your repositories, something is not right." exit 1 fi +check_if_installed(){ +if [ "$(dpkg-query -W -f='${Status}' "$1" 2>/dev/null | grep -c "ok installed")" == "1" ]; then + echo "1" +else + echo "0" +fi +} +check_for_jibri_node() { +if [ "$(check_if_installed jibri)" = 1 ] && \ + [ "$(check_if_installed jitsi-meet)" = 0 ] && \ + [ "$(check_if_installed prosody)" = 0 ]; then + printwc "${Green}" "\n::: This seems to be a jibri node :::\n" +JIBRI_NODE="yes" +fi +} # Any customization, image, name or link change for any purpose should # be documented here so new updates won't remove those changes. # We divide them on UI changes and branding changes, feel free to adapt @@ -165,13 +192,16 @@ fi ######################################################################## # User interface changes # ######################################################################## +#Check for jibri node +check_for_jibri_node +[ "$JIBRI_NODE" != yes ] && \ if [ -f "$INT_CONF_ETC" ]; then echo "Static interface_config.js exists, skipping modification..." else echo "This setup doesn't have a static interface_config.js, checking changes..." printwc "${Purple}" "========== Setting Static Avatar ==========\n" - if [[ -z "$AVATAR" ]]; then + if [ -z "$AVATAR" ]; then echo "Moving on..." else echo "Setting Static Avatar" @@ -179,7 +209,7 @@ else sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" "$INT_CONF" fi printwc "${Purple}" "========== Setting Support Link ==========\n" - if [[ -z "$support" ]]; then + if [ -z "$support" ]; then echo "Moving on..." else echo "Setting Support custom link" @@ -189,6 +219,7 @@ else sed -i "s|'videobackgroundblur', ||" "$INT_CONF" fi +[ "$JIBRI_NODE" != yes ] && \ if [ "$NC_DOMAIN" != "TBD" ]; then printwc "${Purple}" "========== Enable $NC_DOMAIN for sync client ==========\n" if [ -z "$PREAD_PROXY" ]; then @@ -201,8 +232,19 @@ printwc "${Purple}" "========== Enable $NC_DOMAIN for sync client ==========\n" echo "$NC_DOMAIN seems to be on place, skipping..." fi fi -restart_services +if [ "$JIBRI_NODE" = "yes" ]; then + restart_jibri +else + restart_services +fi +if [ "$JIBRI_NODE" = "yes" ] && \ + [ "$IS_CHDB" = "no" ] && \ + [ "$IS_GLG_CHRM" = "no" ];then +printwc "${Red}" "\nBeware: This jibri node seems to be missing important packages.\n" +echo " > Googe Chrome" +echo " > Chromedriver" +fi ######################################################################## # Brandless mode # ######################################################################## -- 2.34.1 From 8b20ae561cc80c365720838fcdbf7675ae1c28f7 Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Thu, 30 Jun 2022 09:57:12 -0500 Subject: [PATCH 3/8] 7.0.3 (#83) * jitsi-updater: fix condition to set turn config. * quick-jibri-installer: fix typo on path. --- jitsi-updater.sh | 2 +- quick_jibri_installer.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jitsi-updater.sh b/jitsi-updater.sh index 3bee66a..b1af3f4 100644 --- a/jitsi-updater.sh +++ b/jitsi-updater.sh @@ -222,7 +222,7 @@ fi [ "$JIBRI_NODE" != yes ] && \ if [ "$NC_DOMAIN" != "TBD" ]; then printwc "${Purple}" "========== Enable $NC_DOMAIN for sync client ==========\n" - if [ -z "$PREAD_PROXY" ]; then + if [ -f "$JITSI_MEET_PROXY" ] && [ -z "$PREAD_PROXY" ]; then printf "\n Setting up Nextcloud domain on Jitsi Meet turn proxy\n\n" sed -i "/server {/i \ \ map \$ssl_preread_server_name \$upstream {" "$JITSI_MEET_PROXY" sed -i "/server {/i \ \ \ \ \ \ $DOMAIN web;" "$JITSI_MEET_PROXY" diff --git a/quick_jibri_installer.sh b/quick_jibri_installer.sh index da32c76..061f4d9 100644 --- a/quick_jibri_installer.sh +++ b/quick_jibri_installer.sh @@ -425,7 +425,7 @@ else unzip -o /tmp/chromedriver_linux64.zip -d /usr/local/bin/ chown root:root /usr/local/bin/chromedriver chmod 0755 /usr/local/bin/chromedriver - rm -rf /tpm/chromedriver_linux64.zip + rm -rf /tmp/chromedriver_linux64.zip fi printf "\nCheck Google Software Working...\n" -- 2.34.1 From 03251bd0434d1a5504916333462475067283c35c Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Fri, 19 Aug 2022 06:47:21 -0500 Subject: [PATCH 4/8] 7.0.4 (#85) * quick_jibri_installer.sh,jwt.sh: update anonymous string on prosody setup. -fix small format issues. --- mode/jwt.sh | 2 +- quick_jibri_installer.sh | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mode/jwt.sh b/mode/jwt.sh index 73dc381..9c3ae62 100644 --- a/mode/jwt.sh +++ b/mode/jwt.sh @@ -54,7 +54,7 @@ apt-get install -y jitsi-meet-tokens #Setting up sed -i "s|c2s_require_encryption = true|c2s_require_encryption = false|" "$PROSODY_SYS" #- -sed -i "$SRP_STR,$SRP_END{s|authentication = \"anonymous\"|authentication = \"token\"|}" "$PROSODY_FILE" +sed -i "$SRP_STR,$SRP_END{s|authentication = \"jitsi-anonymous\"|authentication = \"token\"|}" "$PROSODY_FILE" sed -i "s|--app_id=\"example_app_id\"|app_id=\"$APP_ID\"|" "$PROSODY_FILE" sed -i "s|--app_secret=\"example_app_secret\"|app_secret=\"$SECRET_APP\"|" "$PROSODY_FILE" sed -i "/app_secret/a \\\\" "$PROSODY_FILE" diff --git a/quick_jibri_installer.sh b/quick_jibri_installer.sh index 061f4d9..87f2c1a 100644 --- a/quick_jibri_installer.sh +++ b/quick_jibri_installer.sh @@ -172,13 +172,13 @@ if [ "$DIST" = "bionic" ]; then fi #Check system resources -echo "Verifying System Resources:" +printf "\n\nVerifying System Resources:" if [ "$(nproc --all)" -lt 4 ];then printf "\nWarning!: The system do not meet the minimum CPU requirements for Jibri to run." - printf "\n>> We recommend 4 cores/threads for Jibri!\n\n" + printf "\n>> We recommend 4 cores/threads for Jibri!\n" CPU_MIN="N" else - printf "\nCPU Cores/Threads: OK (%s)\n\n" "$(nproc --all)" + printf "\nCPU Cores/Threads: OK (%s)\n" "$(nproc --all)" CPU_MIN="Y" fi sleep .1 @@ -189,7 +189,7 @@ if [ "$mem_available" -lt 7700000 ]; then printf "\n>> We recommend 8GB RAM for Jibri!\n\n" MEM_MIN="N" else - printf "\nMemory: OK (%s) MiB)\n\n" "$(mem_available/1024)" + printf "\nMemory: OK (%s) MiB\n\n" "$((mem_available/1024))" MEM_MIN="Y" fi sleep .1 @@ -1058,7 +1058,7 @@ if [ "$ENABLE_SA" = "yes" ] && [ -f "$WS_CONF" ]; then fi #nginx -tlsv1/1.1 if [ "$DROP_TLS1" = "yes" ];then - printf "\nDropping TLSv1/1.1\\nn" + printf "\nDropping TLSv1/1.1\n\n" sed -i "s|TLSv1 TLSv1.1||" /etc/nginx/nginx.conf elif [ "$DROP_TLS1" = "no" ];then printf "\nNo TLSv1/1.1 dropping was done.\n\n" @@ -1073,7 +1073,7 @@ sleep .1 if [ "$ENABLE_SC" = "yes" ]; then SRP_STR=$(grep -n "VirtualHost \"$DOMAIN\"" "$PROSODY_FILE" | awk -F ':' 'NR==1{print$1}') SRP_END=$((SRP_STR + 10)) - sed -i "$SRP_STR,$SRP_END{s|authentication = \"anonymous\"|authentication = \"internal_hashed\"|}" "$PROSODY_FILE" + sed -i "$SRP_STR,$SRP_END{s|authentication = \"jitsi-anonymous\"|authentication = \"internal_hashed\"|}" "$PROSODY_FILE" sed -i "s|// anonymousdomain: 'guest.example.com'|anonymousdomain: \'guest.$DOMAIN\'|" "$MEET_CONF" #Secure room initial user -- 2.34.1 From 658bb07fdd437cc72e35b68e21af8102d66fe2bc Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Fri, 19 Aug 2022 07:23:41 -0500 Subject: [PATCH 5/8] 7.0.5 (#86) * quick_jibri_installer.sh: use new setup to enable local recording feature. --- quick_jibri_installer.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/quick_jibri_installer.sh b/quick_jibri_installer.sh index 87f2c1a..24c7b2b 100644 --- a/quick_jibri_installer.sh +++ b/quick_jibri_installer.sh @@ -300,7 +300,7 @@ sleep .1 #Sysadmin email while [ -z "$SYSADMIN_EMAIL" ] do - read -p " > Set sysadmin email (this is a mandatory field):$NL" -r SYSADMIN_EMAIL + read -p "$NL > Set sysadmin email (this is a mandatory field):$NL" -r SYSADMIN_EMAIL done sleep .1 #Simple DNS test @@ -805,7 +805,10 @@ BREWERY # Jibri tweaks for /etc/jitsi/meet/$DOMAIN-config.js sed -i "s|conference.$DOMAIN|internal.auth.$DOMAIN|" "$MEET_CONF" -sed -i "s|// fileRecordingsEnabled: false,|fileRecordingsEnabled: true,| " "$MEET_CONF" +#New recording implementation. +sed -i "s|// recordingService:|recordingService:|" "$MEET_CONF" +sed -i "/recordingService/,/hideStorageWarning/s|// enabled: false,| enabled: true,|" "$MEET_CONF" +sed -i "/hideStorageWarning: false/,/Local recording configuration/s|// },|},|" "$MEET_CONF" sed -i "s|// liveStreamingEnabled: false,|liveStreamingEnabled: true,\\ \\ hiddenDomain: \'recorder.$DOMAIN\',|" "$MEET_CONF" -- 2.34.1 From 9ab18fc8922d74fbfeb546c806daf25b40d956a0 Mon Sep 17 00:00:00 2001 From: Luis Guzman Date: Fri, 30 Sep 2022 04:04:31 -0500 Subject: [PATCH 6/8] 7.0.6 (#88) * jitsi-updater.sh: fix jitsi repo package update filtering. --- jitsi-updater.sh | 4 ++-- jm-bm.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jitsi-updater.sh b/jitsi-updater.sh index b1af3f4..cbac459 100644 --- a/jitsi-updater.sh +++ b/jitsi-updater.sh @@ -56,12 +56,12 @@ PREAD_PROXY="$(grep -nr "preread_server_name" "$JITSI_MEET_PROXY" | cut -d ":" - fi INT_CONF="/usr/share/jitsi-meet/interface_config.js" INT_CONF_ETC="/etc/jitsi/meet/$DOMAIN-interface_config.js" -read -r -a jibri_packages < <(grep Package /var/lib/apt/lists/download.jitsi.org_*_Packages | \ +read -r -a jibri_packages < <(grep ^Package /var/lib/apt/lists/download.jitsi.org_*_Packages | \ sort -u | awk '{print $2}' | sed '/jigasi/d' | \ xargs) AVATAR="$(grep -r avatar /etc/nginx/sites-*/ 2>/dev/null)" if [ -f "$apt_repo"/google-chrome.list ]; then -read -r -a google_package < <(grep Package /var/lib/apt/lists/dl.google.com_*_Packages | \ +read -r -a google_package < <(grep ^Package /var/lib/apt/lists/dl.google.com_*_Packages | \ sort -u | awk '{print $2}' | xargs) else echo "Seems no Google repo installed" diff --git a/jm-bm.sh b/jm-bm.sh index 39a6dca..9fb3a9e 100644 --- a/jm-bm.sh +++ b/jm-bm.sh @@ -65,7 +65,7 @@ sed -i "s|watermark.png|watermark2.png|g" "$CSS_FILE" sed -i "s|favicon.ico|favicon2.ico|g" "$TITLE_FILE" sed -i "s|jitsilogo.png|watermark2.png|g" "$TITLE_FILE" sed -i "s|logo-deep-linking.png|watermark2.png|g" "$BUNDLE_JS" -sed -i "s|jitsiLogo_square.png|gnome_record.png|g" "$BUNDLE_JS" +sed -i "s|icon-cloud.png|gnome_record.png|g" "$BUNDLE_JS" #Disable logo and url if ! grep -q ".leftwatermark{display:none" "$CSS_FILE" ; then sed -i "s|.leftwatermark{|.leftwatermark{display:none;|" "$CSS_FILE" -- 2.34.1 From dd0de86c714f9721028700a90dde871e354a0c9a Mon Sep 17 00:00:00 2001 From: Ark74 Date: Tue, 15 Nov 2022 02:56:26 -0600 Subject: [PATCH 7/8] changelog: add changelog --- changelog | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..17c6eac --- /dev/null +++ b/changelog @@ -0,0 +1,76 @@ +quick-jibri-installer (7.0.6) + + * jitsi-updater.sh: fix jitsi repo package update filtering. + +-- Software, IT & Networks Fri Sep 30 04:04:31 2022 -0500 + +quick-jibri-installer (7.0.5) + + * quick_jibri_installer.sh: use new setup to enable local recording feature. + +-- Software, IT & Networks Fri Aug 19 07:23:41 2022 -0500 + +quick-jibri-installer (7.0.4) + + * quick_jibri_installer.sh,jwt.sh: update anonymous string on prosody setup. + -fix small format issues. + +-- Software, IT & Networks Fri Aug 19 06:47:21 2022 -0500 + +quick-jibri-installer (7.0.3) + + * jitsi-updater: fix condition to set turn config. + * quick-jibri-installer: fix typo on path. + +-- Software, IT & Networks Thu Jun 30 09:57:12 2022 -0500 + +quick-jibri-installer (7.0.2) + + * Detect jibri node by jitsi-updater. + +-- Software, IT & Networks Fri Jun 17 16:36:15 2022 -0500 + +quick-jibri-installer (7.0.1) + + * Fix debug mode on triggered scripts. + * Fix grep condition. + +-- Software, IT & Networks Mon May 23 23:17:39 2022 -0500 + +quick-jibri-installer (7.0) + + * Major rework, comply with shellcheck + + ## Add + * Add experimental tool for AWS grub setup. + + ## Fix + * Fix grafana configuration + * Actually apply changes to nginx conf instead of symlink. + * Actually require to run with admin rights. + * Improve comments. + * Rename and fix set_once function. + * Fix jibri domain. + + ## Improve + * Comply mode section with shellcheck recommendations. + * Comply tools section with shellcheck recommendations. + * Comply main scripts with shellcheck recommendations. + * Improve shell quality + * Change JDK version to 11 + * Make warning visible. + * Change email position, and small fixes + * Several indenting changes + * Set warning instead of "note". + * Yet again more fixes on echo and printf + * Standarize jra_nextcloud + * Add comment on debconf state + * Update SwITNet copyright and standarize debug option for scripts. + + ## Remove + * Rename deprecated scripts folder + * Remove old + * Remove unused code + * Finally remove jigasi deprecated script. + +-- Software, IT & Networks Fri May 20 20:07:02 2022 -0500 -- 2.34.1 From b67dda5efac7b34438ef495ab57322c7bed52d79 Mon Sep 17 00:00:00 2001 From: Ark74 Date: Tue, 15 Nov 2022 02:58:25 -0600 Subject: [PATCH 8/8] bump version 7.0.8 --- changelog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/changelog b/changelog index 17c6eac..29fcc08 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,17 @@ +quick-jibri-installer (7.0.8) + + * jitsi-updater.sh: add checks for openjdk and nodejs supported versions + * add-jibri-node.sh: set openjdk-jre-headless default version to 11 + * changelog: add changelog + +-- Software, IT & Networks Tue Nov 15 02:56:26 2022 -0600 + +quick-jibri-installer (7.0.7) + + * quick_jibri_installer.sh: fix jaas & acme integration + +-- Software, IT & Networks Sun Oct 23 23:52:23 2022 -0500 + quick-jibri-installer (7.0.6) * jitsi-updater.sh: fix jitsi repo package update filtering. -- 2.34.1