diff --git a/configure.sh b/configure.sh old mode 100644 new mode 100755 index 51ac09f..b9d3100 --- a/configure.sh +++ b/configure.sh @@ -1,77 +1,118 @@ -#Run this after a Jitsi upgrade +#!/bin/sh -#En la carpeta donde se ejecute este script, deben estar los siguientes archivos: own-favicon.ico, own-watermark.png, background.png +# Activating Debug mode +echo "Press CTRL+C to proceed." +trap "pkill -f 'sleep 1h'" INT +trap "set +x ; sleep 1h ; set -x" DEBUG -#LOGOS +clear +echo " ***********************************************" +echo " * *" +echo " * WELCOME TO THE CLUSTERMEET CONFIGURATOR *" +echo " * powered by clusteres.com *" +echo " * *" +echo " ***********************************************" +echo " " +echo " " +echo " " +echo "Before executing this script, make sure to meet the following requisites:" +echo " 1. Properly configure HAProxy in OPNsense" +echo " 2. Replace favicon.ico, watermark.png, background.png for company ones" +echo " 3. " +echo " 4. " +echo "" +echo "Execute this script every time you run apt-get upgrade" +echo "" +read -r -p "Do you want to continue customizing this Jitsi Meet server? Choose \"No\" to Cancel and Exit [y/N]: " response + case $response in + [yY][eE][sS]|[yY]) + echo "Starting Jitsi Meet customization..." + ;; + *) + exit 1 + ;; + esac -cp -ripv own-favicon.ico /usr/share/jitsi-meet/images/favicon.ico -cp -ripv own-watermark.png /usr/share/jitsi-meet/images/watermark.png -cp -ripv background.png /usr/share/jitsi-meet/images/background.png +# CUSTOMIZING JITSI -#INGLES - -sed -i 's/Secure, fully featured, and completely free video conferencing/Welcome to ZH Consultores video conferencing server/g' /usr/share/jitsi-meet/libs/app.bundle.min.js +# Copy logos and background +cp ~/ClusterMeetConfigurator/favicon.ico /usr/share/jitsi-meet/images/favicon.ico +cp ~/ClusterMeetConfigurator/watermark.png /usr/share/jitsi-meet/images/watermark.png +cp ~/ClusterMeetConfigurator/background.png /usr/share/jitsi-meet/images/background.png +cp ~/ClusterMeetConfigurator/watermark.png /usr/share/jitsi-meet/images/jitsilogo.png +# Modifying English text +sed -i "s/Secure, fully featured, and completely free video conferencing/Welcome to $COMPANYNAME video conferencing server/g" /usr/share/jitsi-meet/libs/app.bundle.min.js sed -i 's/Go ahead, video chat with the whole team. In fact, invite everyone you know. {{app}} is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed./Please type the name of the room and click the GO button to start the meeting. All communications are fully encrypted./g' /usr/share/jitsi-meet/libs/app.bundle.min.js - sed -i 's/Start a new meeting/Meeting room name:/g' /usr/share/jitsi-meet/libs/app.bundle.min.js -#ESPAÑOL ES - -sed -i 's/Videoconferencias seguras, con gran variedad de funcionalidades y completamente gratuitas/Bienvenidos al servidor de video conferencias de ZH Consultores/g' /usr/share/jitsi-meet/lang/main-es.json - +# Modifying Spanish ES text +sed -i "s/Videoconferencias seguras, con gran variedad de funcionalidades y completamente gratuitas/Bienvenidos al servidor de video conferencias de $COMPANYNAME/g" /usr/share/jitsi-meet/lang/main-es.json sed -i 's/Adelante, video chat con todo el equipo. De hecho, invita a todos los que conozcas. {{app}} es una solución de videoconferencia de código abierto de 100%, totalmente encriptada, que puede usar todo el día, todos los días, de forma gratuita, sin necesidad de contar con ninguna cuenta./Por favor introduce el nombre de la sala y presiona IR para empezar la reunión. Todas las comunicaciones son completamente cifradas./g' /usr/share/jitsi-meet/lang/main-es.json - sed -i 's/Comenzar una reunión/Nombre de la sala:/g' /usr/share/jitsi-meet/lang/main-es.json -#ESPAÑOL LA - -sed -i 's/Conferencias en video seguras, con gran variedad de funciones y completamente gratuitas/Bienvenidos al servidor de video conferencias de ZH Consultores/g' /usr/share/jitsi-meet/lang/main-esUS.json - +# Modifying Spanish LA text +sed -i "s/Conferencias en video seguras, con gran variedad de funciones y completamente gratuitas/Bienvenidos al servidor de video conferencias de $COMPANYNAME/g" /usr/share/jitsi-meet/lang/main-esUS.json sed -i 's/Adelante, ten una sesión de chat de video con todo el equipo. De hecho, invita a todas las personas que conozcas. {{app}} es una solución de conferencias en video en código abierto al 100% y completamente cifrada que puedes usar todo el día, todos los días y sin cargo, sin necesidad de tener una cuenta./Por favor introduce el nombre de la sala y presiona IR para empezar la reunión. Todas las comunicaciones son completamente cifradas./g' /usr/share/jitsi-meet/lang/main-esUS.json - sed -i 's/Iniciar una nueva reunión/Nombre de la sala:/g' /usr/share/jitsi-meet/lang/main-esUS.json -#URL y Nombre web - -sed -i 's/jitsi.org/zhconsultores.com/g' /usr/share/jitsi-meet/interface_config.js - -sed -i 's/Jitsi Meet/ZH Consultores Conferences/g' /usr/share/jitsi-meet/interface_config.js - -#COLORES - -#Cambiar tonos de colores solidos -#sed -i 's/-90deg,#1251AE 0,#0074FF 50%,#1251AE 100%/-90deg,#3BCB83 0,#1AE881 50%,#3BCB83 100%/g' /usr/share/jitsi-meet/css/all.css - -#Cambiar por un archivo de fondo background.png en el welcome page +# Changing web name and URL +sed -i "s/jitsi.org/$COMPANYDOMAIN/g" /usr/share/jitsi-meet/interface_config.js +sed -i "s/Jitsi Meet/$COMPANYNAME Conferences/g" /usr/share/jitsi-meet/interface_config.js +# Changing background of the front page sed -i 's!background-image:linear-gradient(-90deg,#1251AE 0,#0074FF 50%,#1251AE 100%);!background-image:url(../images/background.png);background-position:center;background-repeat:none;background-size:cover;!g' /usr/share/jitsi-meet/css/all.css -#Solicitar un nombre antes de entrar a la sala +# Asking the user to identify by name before entering the meeting room +sed -i 's!// requireDisplayName: true,!requireDisplayName: true,!g' "/etc/jitsi/meet/$COMPANYSUBDOMAIN.$COMPANYDOMAIN-config.js" -sed -i 's!// requireDisplayName: true,!requireDisplayName: true,!g' /etc/jitsi/meet/reunion.zhconsultores.com-config.js +#Disable Audio LevelS +sed -i 's!// disableAudioLevels: false,!disableAudioLevels: true,!g' "/etc/jitsi/meet/$COMPANYSUBDOMAIN.$COMPANYDOMAIN-config.js" -#Activar Layer Suspension +# Modifying html titles +sed -i "s/Jitsi Meet/$COMPANYNAME/g" /usr/share/jitsi-meet/title.html +sed -i "s/Join a WebRTC video conference powered by the Jitsi Videobridge/Únete a la conferencia en línea de $COMPANYNAME" /usr/share/jitsi-meet/title.html -sed -i 's!// enableLayerSuspension: false,!enableLayerSuspension: true,!g' /etc/jitsi/meet/reunion.zhconsultores.com-config.js +echo "" +echo "" +read -r -p "Do you want to apply the \"Secure Domain\" configuration? Choose \"No\" to continue and finish the installation [y/N]: " response + case $response in + [yY][eE][sS]|[yY]) + echo "Starting Secure Domain configuration..." + # Secure Domain config + sed -i "s!authentication = "anonymous"!authentication = "internal_hashed"!g" "/etc/prosody/conf.avail/$COMPANYSUBDOMAIN.$COMPANYDOMAIN.cfg.lua" + grep -Pzo "VirtualHost \"guest.$COMPANYSUBDOMAIN.$COMPANYDOMAIN\"\n authentication = \"anonymous\"\n c2s_require_encryption = false" "/etc/prosody/conf.avail/$COMPANYSUBDOMAIN.$COMPANYDOMAIN.cfg.lua" || echo -e "\nVirtualHost \"guest.$COMPANYSUBDOMAIN.$COMPANYDOMAIN\"\n authentication = \"anonymous\"\n c2s_require_encryption = false" >> "/etc/prosody/conf.avail/$COMPANYSUBDOMAIN.$COMPANYDOMAIN.cfg.lua" + sed -i "s?// anonymousdomain: 'guest.example.com',?anonymousdomain: 'guest.$COMPANYSUBDOMAIN.$COMPANYDOMAIN',?g" "/etc/jitsi/meet/$COMPANYSUBDOMAIN.$COMPANYDOMAIN-config.js" + grep -Pzo "org.jitsi.jicofo.auth.URL=XMPP:$COMPANYSUBDOMAIN.$COMPANYDOMAIN" /etc/jitsi/jicofo/sip-communicator.properties || echo -e "org.jitsi.jicofo.auth.URL=XMPP:$COMPANYSUBDOMAIN.$COMPANYDOMAIN" >> /etc/jitsi/jicofo/sip-communicator.properties + echo "" + echo "" + # Registering users + ANSWER="yes" + while [ "$ANSWER" == "yes" ] + do + read -r -p "Input the username: " USERNAME + echo "" + echo "Input password for $USERNAME: " + prosodyctl register $USERNAME $COMPANYSUBDOMAIN.$COMPANYDOMAIN + echo "done" + echo "" + echo "" + read -r -p "Do you want to add another user? [y/N] " response2 + case $response2 in + [yY][eE][sS]|[yY]) + ANSWER="yes" + ;; + *) + ANSWER="no" + ;; + esac + done + ;; + *) + echo "Continuing..." + ;; +esac -#Disable Audio Levels - -sed -i 's!// disableAudioLevels: false,!disableAudioLevels: true,!g' /etc/jitsi/meet/reunion.zhconsultores.com-config.js - -#Establecer autenticacion de usuarios - -sed -i 's!authentication = "anonymous"!authentication = "internal_hashed"!g' /etc/prosody/conf.avail/reunion.zhconsultores.com.cfg.lua - -grep -Pzo 'VirtualHost "guest.reunion.zhconsultores.com"\n authentication = "anonymous"\n c2s_require_encryption = false' /etc/prosody/conf.avail/reunion.zhconsultores.com.cfg.lua || echo -e '\nVirtualHost "guest.reunion.zhconsultores.com"\n authentication = "anonymous"\n c2s_require_encryption = false' >> /etc/prosody/conf.avail/reunion.zhconsultores.com.cfg.lua - -sed -i "s?// anonymousdomain: 'guest.example.com',?anonymousdomain: 'guest.reunion.zhconsultores.com',?g" /etc/jitsi/meet/reunion.zhconsultores.com-config.js - -grep -Pzo 'org.jitsi.jicofo.auth.URL=XMPP:reunion.zhconsultores.com' /etc/jitsi/jicofo/sip-communicator.properties || echo -e 'org.jitsi.jicofo.auth.URL=XMPP:reunion.zhconsultores.com' >> /etc/jitsi/jicofo/sip-communicator.properties - -sudo prosodyctl register oswaldo reunion.zhconsultores.com ZH$consultor3s - -#REINICIAR SERVICIOS +# Restart services /etc/init.d/jicofo restart && /etc/init.d/jitsi-videobridge2 restart && /etc/init.d/nginx restart && /etc/init.d/prosody restart -