Update from upstream
This commit is contained in:
parent
0127016558
commit
694cafec4d
|
@ -1,3 +1,5 @@
|
||||||
|
Quick Jibri installer based for Xenial servers.
|
||||||
|
=======
|
||||||
# Quick Jibri Installer
|
# Quick Jibri Installer
|
||||||
Bash installer for Jibri on *buntu 16.04 LTS based systems
|
Bash installer for Jibri on *buntu 16.04 LTS based systems
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Jitsi Meet upgrade and custom keeper for Debian/*buntu binaries.
|
||||||
|
# 2018 - SwITNet Ltd
|
||||||
|
# GNU GPLv3 or later.
|
||||||
|
|
||||||
|
Blue='\e[0;34m'
|
||||||
|
Purple='\e[0;35m'
|
||||||
|
Color_Off='\e[0m'
|
||||||
|
support="https://switnet.net/support"
|
||||||
|
apt_repo="/etc/apt/sources.list.d"
|
||||||
|
jibri_packages=$(grep Package /var/lib/apt/lists/download.jitsi.org_*_Packages | sort -u | awk '{print $2}' | paste -s -d ' ')
|
||||||
|
CHD_LST=$(curl -sL https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
||||||
|
CHDB=/usr/local/bin/chromedriver
|
||||||
|
DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | cut -d "." -f "1-3")
|
||||||
|
if [ -f $apt_repo/google-chrome.list ]; then
|
||||||
|
google_package=$(grep Package /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages | sort -u | cut -d ' ' -f2 | paste -s -d ' ')
|
||||||
|
else
|
||||||
|
echo "Seems no Google repo installed"
|
||||||
|
fi
|
||||||
|
if [ -f $CHDB ]; then
|
||||||
|
CHD_AVB=$(chromedriver -v | awk '{print $2}' | cut -d . -f "1,2")
|
||||||
|
else
|
||||||
|
echo "Seems no chromedriver installed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
|
||||||
|
|
||||||
|
check_jibri() {
|
||||||
|
if [ "$(dpkg-query -W -f='${Status}' "jibri" 2>/dev/null | grep -c "ok installed")" == "1" ]
|
||||||
|
then
|
||||||
|
service jibri restart
|
||||||
|
service jibri-icewm restart
|
||||||
|
service jibri-xorg restart
|
||||||
|
else
|
||||||
|
echo "Jibri service not installed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Restarting services
|
||||||
|
restart_services() {
|
||||||
|
service jitsi-videobridge restart
|
||||||
|
service jicofo restart
|
||||||
|
check_jibri
|
||||||
|
service prosody restart
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade_cd() {
|
||||||
|
if version_gt $CHD_LST $CHD_AVB
|
||||||
|
then
|
||||||
|
echo "Upgrading ..."
|
||||||
|
wget https://chromedriver.storage.googleapis.com/$CHD_LST/chromedriver_linux64.zip
|
||||||
|
unzip chromedriver_linux64.zip
|
||||||
|
sudo cp chromedriver $CHDB
|
||||||
|
rm -rf chromedriver chromedriver_linux64.zip
|
||||||
|
chromedriver -v
|
||||||
|
else
|
||||||
|
echo "No need to upgrade Chromedriver"
|
||||||
|
printf "Current version: ${Green} $CHD_AVB ${Color_Off}\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update_jitsi_repo() {
|
||||||
|
apt-get update -o Dir::Etc::sourcelist="sources.list.d/jitsi-$1.list" \
|
||||||
|
-o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
|
||||||
|
apt-get install -qq --only-upgrade $jibri_packages
|
||||||
|
}
|
||||||
|
|
||||||
|
update_google_repo() {
|
||||||
|
if [ -f $apt_repo/google-chrome.list ]; then
|
||||||
|
apt-get update -o Dir::Etc::sourcelist="sources.list.d/google-chrome.list" \
|
||||||
|
-o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
|
||||||
|
apt-get install -qq --only-upgrade $google_package
|
||||||
|
else
|
||||||
|
echo "No Google repository found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_lst_cd() {
|
||||||
|
printf "${Purple}Checking for the latest Chromedriver${Color_Off}\n"
|
||||||
|
if [ -f $CHDB ]; then
|
||||||
|
printf "Current installed Chromedriver: ${Yellow} $CHD_AVB ${Color_Off}\n"
|
||||||
|
printf "Latest Chromedriver version available: ${Green} $CHD_LST ${Color_Off}\n"
|
||||||
|
upgrade_cd
|
||||||
|
else
|
||||||
|
printf "${Yellow} -> Seems there is no Chromedriver installed${Color_Off}\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
printf "${Blue}Update & upgrade Jitsi and components - v2.3${Color_Off}\n"
|
||||||
|
if [ -f $apt_repo/jitsi-unstable.list ]; then
|
||||||
|
update_jitsi_repo unstable
|
||||||
|
update_google_repo
|
||||||
|
check_lst_cd
|
||||||
|
elif [ -f $apt_repo/jitsi-stable.list ]; then
|
||||||
|
update_jitsi_repo stable
|
||||||
|
update_google_repo
|
||||||
|
check_lst_cd
|
||||||
|
else
|
||||||
|
echo "Please check your repositories, something is not right."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Keeping changes #
|
||||||
|
########################################################################
|
||||||
|
printf "${Purple}========== Setting Static Avatar ==========${Color_Off}\n"
|
||||||
|
avatar="$(grep -r avatar /etc/*/sites-*/ 2>/dev/null)"
|
||||||
|
if ($avatar) < /dev/null > /dev/null 2>&1; then
|
||||||
|
echo "Moving on..."
|
||||||
|
else
|
||||||
|
echo "Setting Static Avatar"
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_PREFIX/ s|false|\'http://$DOMAIN/avatar/\'|" /usr/share/jitsi-meet/interface_config.js
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" /usr/share/jitsi-meet/interface_config.js
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "${Purple}========== Setting Support Link ==========${Color_Off}\n"
|
||||||
|
if ($support) < /dev/null > /dev/null 2>&1; then
|
||||||
|
echo "Moving on..."
|
||||||
|
else
|
||||||
|
echo "Setting Support custom link"
|
||||||
|
sed -i "s|https://jitsi.org/live|$support|g" /usr/share/jitsi-meet/interface_config.js
|
||||||
|
fi
|
||||||
|
|
||||||
|
restart_services
|
||||||
|
printf "${Blue}Script completed \o/! ${Color_Off}\n"
|
|
@ -10,7 +10,6 @@ APACHE_2=$(dpkg-query -W -f='${Status}' apache2 2>/dev/null | grep -c "ok instal
|
||||||
NGINX=$(dpkg-query -W -f='${Status}' nginx 2>/dev/null | grep -c "ok installed")
|
NGINX=$(dpkg-query -W -f='${Status}' nginx 2>/dev/null | grep -c "ok installed")
|
||||||
DIST=$(lsb_release -sc)
|
DIST=$(lsb_release -sc)
|
||||||
GOOGL_REPO="/etc/apt/sources.list.d/dl_google_com_linux_chrome_deb.list"
|
GOOGL_REPO="/etc/apt/sources.list.d/dl_google_com_linux_chrome_deb.list"
|
||||||
CHD_VER=$(curl -sL https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
|
||||||
|
|
||||||
if [ $DIST = flidas ]; then
|
if [ $DIST = flidas ]; then
|
||||||
DIST="xenial"
|
DIST="xenial"
|
||||||
|
@ -122,7 +121,7 @@ fi
|
||||||
echo "snd-aloop" | tee -a /etc/modules
|
echo "snd-aloop" | tee -a /etc/modules
|
||||||
|
|
||||||
check_snd_driver
|
check_snd_driver
|
||||||
|
CHD_VER=$(curl -sL https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
||||||
echo "# Installing Google Chrome / ChromeDriver"
|
echo "# Installing Google Chrome / ChromeDriver"
|
||||||
if [ -f $GOOGL_REPO ]; then
|
if [ -f $GOOGL_REPO ]; then
|
||||||
echo "Google repository already set."
|
echo "Google repository already set."
|
||||||
|
@ -224,8 +223,8 @@ fi
|
||||||
restart_services() {
|
restart_services() {
|
||||||
service jitsi-videobridge restart
|
service jitsi-videobridge restart
|
||||||
service jicofo restart
|
service jicofo restart
|
||||||
check_jibri
|
|
||||||
service prosody restart
|
service prosody restart
|
||||||
|
check_jibri
|
||||||
}
|
}
|
||||||
|
|
||||||
# Configure Jibri
|
# Configure Jibri
|
||||||
|
@ -265,7 +264,7 @@ org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
|
||||||
BREWERY
|
BREWERY
|
||||||
|
|
||||||
# Jibri tweaks for /etc/jitsi/meet/$DOMAIN-config.js
|
# Jibri tweaks for /etc/jitsi/meet/$DOMAIN-config.js
|
||||||
sed -i "s|guest.example.com|guest.$DOMAIN|" $MEET_CONF
|
sed -i "s|// anonymousdomain: 'guest.example.com'|anonymousdomain: \'guest.$DOMAIN\'|" $MEET_CONF
|
||||||
sed -i "s|conference.$DOMAIN|internal.auth.$DOMAIN|" $MEET_CONF
|
sed -i "s|conference.$DOMAIN|internal.auth.$DOMAIN|" $MEET_CONF
|
||||||
sed -i "s|// fileRecordingsEnabled: false,|fileRecordingsEnabled: true,| " $MEET_CONF
|
sed -i "s|// fileRecordingsEnabled: false,|fileRecordingsEnabled: true,| " $MEET_CONF
|
||||||
sed -i "s|// liveStreamingEnabled: false,|liveStreamingEnabled: true,\\
|
sed -i "s|// liveStreamingEnabled: false,|liveStreamingEnabled: true,\\
|
||||||
|
@ -364,21 +363,14 @@ cat << CONF_JSON > $CONF_JSON
|
||||||
}
|
}
|
||||||
CONF_JSON
|
CONF_JSON
|
||||||
|
|
||||||
#Tune webserver for Jitsi App control.
|
#Tune webserver for Jitsi App control
|
||||||
if [ -f /etc/apache2/sites-available/$DOMAIN.conf ]; then
|
if [ -f /etc/apache2/sites-available/$DOMAIN.conf ]; then
|
||||||
WS_CONF=/etc/apache2/sites-available/$DOMAIN.conf
|
WS_CONF=/etc/apache2/sites-available/$DOMAIN.conf
|
||||||
sed -i '$ d' $WS_CONF
|
sed -i '$ d' $WS_CONF
|
||||||
cat << NG_APP >> $WS_CONF
|
cat << NG_APP >> $WS_CONF
|
||||||
|
|
||||||
Alias "/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
|
Alias "/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
|
||||||
<Location /config.js>
|
|
||||||
Require all granted
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
Alias "/external_api.min.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
|
Alias "/external_api.min.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
|
||||||
<Location /config.js>
|
|
||||||
Require all granted
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
NG_APP
|
NG_APP
|
||||||
|
@ -406,13 +398,45 @@ else
|
||||||
-> https://github.com/switnet-ltd/quick-jibri-installer/issues"
|
-> https://github.com/switnet-ltd/quick-jibri-installer/issues"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#Enable static avatar
|
||||||
|
while [[ "$ENABLE_SA" != "yes" && "$ENABLE_SA" != "no" ]]
|
||||||
|
do
|
||||||
|
read -p "Do you want to enable static avatar?: (yes or no)"$'\n' -r ENABLE_SA
|
||||||
|
if [ "$ENABLE_SA" = "no" ]; then
|
||||||
|
echo "Static avatar won't be enable"
|
||||||
|
elif [ "$ENABLE_SA" = "yes" ] && [ -f /etc/apache2/sites-available/$DOMAIN.conf ]; then
|
||||||
|
echo "Static avatar are being enable"
|
||||||
|
wget https://switnet.net/static/avatar.png -O /usr/share/jitsi-meet/images/avatar2.png
|
||||||
|
WS_CONF=/etc/apache2/sites-available/$DOMAIN.conf
|
||||||
|
sed -i "/Alias \"\/external_api.js\"/i \ \ AliasMatch \^\/avatar\/\(.\*\)\\\.png /usr/share/jitsi-meet/images/avatar2.png" $WS_CONF
|
||||||
|
service apache2 reload
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_PREFIX/ s|false|\'https://$DOMAIN/avatar/\'|" $INT_CONF
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" $INT_CONF
|
||||||
|
elif [ "$ENABLE_SA" = "yes" ] && [ -f /etc/nginx/sites-available/$DOMAIN.conf ]; then
|
||||||
|
wget https://switnet.net/static/avatar.png -O /usr/share/jitsi-meet/images/avatar2.png
|
||||||
|
WS_CONF=/etc/nginx/sites-available/$DOMAIN.conf
|
||||||
|
sed -i "/location \/external_api.min.js/i \ \ \ \ location \~ \^\/avatar\/\(.\*\)\\\.png {\\
|
||||||
|
\
|
||||||
|
\ \ \ \ \ \ \ \ alias /usr/share/jitsi-meet/images/avatar2.png;\\
|
||||||
|
\
|
||||||
|
\ \ \ \ }\\
|
||||||
|
\ " $WS_CONF
|
||||||
|
service nginx reload
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_PREFIX/ s|false|\'http://$DOMAIN/avatar/\'|" $INT_CONF
|
||||||
|
sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" $INT_CONF
|
||||||
|
else
|
||||||
|
echo "No app configuration done to server file, please report to:
|
||||||
|
-> https://github.com/switnet-ltd/quick-jibri-installer/issues"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
#Enable secure rooms?
|
#Enable secure rooms?
|
||||||
while [[ $ENABLE_SC != yes && $ENABLE_SC != no ]]
|
while [[ "$ENABLE_SC" != "yes" && "$ENABLE_SC" != "no" ]]
|
||||||
do
|
do
|
||||||
read -p "Do you want to enable secure rooms?: (yes or no)"$'\n' -r ENABLE_SC
|
read -p "Do you want to enable secure rooms?: (yes or no)"$'\n' -r ENABLE_SC
|
||||||
if [ $ENABLE_SC = no ]; then
|
if [ "$ENABLE_SC" = "no" ]; then
|
||||||
echo "Secure rooms won't be enable"
|
echo "Secure rooms won't be enable"
|
||||||
elif [ $ENABLE_SC = yes ]; then
|
elif [ "$ENABLE_SC" = "yes" ]; then
|
||||||
echo "Secure rooms are being enable"
|
echo "Secure rooms are being enable"
|
||||||
cat << P_SR >> $PROSODY_FILE
|
cat << P_SR >> $PROSODY_FILE
|
||||||
VirtualHost "$DOMAIN"
|
VirtualHost "$DOMAIN"
|
||||||
|
@ -425,6 +449,15 @@ P_SR
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
#Set main language (Spanish)
|
||||||
|
sed -i "s|// defaultLanguage: 'en',|defaultLanguage: 'es',|" $MEET_CONF
|
||||||
|
|
||||||
|
#Start with video muted by default
|
||||||
|
sed -i "s|// startWithVideoMuted: false,|startWithVideoMuted: true,|" $MEET_CONF
|
||||||
|
|
||||||
|
#Start with audio muted but admin
|
||||||
|
sed -i "s|// startAudioMuted: 10,|startAudioMuted: 1,|" $MEET_CONF
|
||||||
|
|
||||||
#Enable jibri services
|
#Enable jibri services
|
||||||
systemctl enable jibri
|
systemctl enable jibri
|
||||||
systemctl enable jibri-xorg
|
systemctl enable jibri-xorg
|
||||||
|
|
Loading…
Reference in New Issue