Added first version of the script

This commit is contained in:
Oswaldo Zerpa
2020-09-16 14:42:41 -05:00
parent 1b6ec645c4
commit 263cdb7872
Regular → Executable
+95 -54
View File
@@ -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