Update upstream changes

This commit is contained in:
Luis Guzmán 2019-03-04 06:31:34 -06:00
parent 72adbfbc71
commit e4d772d345
No known key found for this signature in database
GPG Key ID: BE0F0FDD8926E0C5
2 changed files with 51 additions and 17 deletions

View File

@ -14,11 +14,11 @@ Bash installer for Jibri on *buntu 16.04 LTS based systems
* Webcam * Webcam
## Custom changes ## Custom changes
* Disable welcome page * Welcome page enabled
* Video muted by default * Start with video muted by default
* Audio muted but admin * Start with audio muted but moderator
* Rodentia static avatar (icon credit: sixsixfive) * Rodentia static avatar (icon credit: sixsixfive)
* Required display name * Set displayname as not required since jibri can't set it up.
* Language (es) * Language (es)
Please note: This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Please note: This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

View File

@ -19,11 +19,15 @@ if [ "$APACHE_2" -eq 1 ] || [ "$NGINX" -eq 1 ]; then
echo " echo "
Webserver already installed! Webserver already installed!
" "
elif [ "$APACHE_2" -eq 1 ] && [ "$NGINX" -eq 0 ]; then
apt -yqq install python3-certbot-apache
else else
echo " echo "
Installing nginx as webserver! Installing nginx as webserver!
" "
apt -yqq install nginx apt -yqq install nginx python3-certbot-nginx
fi fi
} }
check_snd_driver() { check_snd_driver() {
@ -90,6 +94,7 @@ apt -yqq install \
ffmpeg \ ffmpeg \
git \ git \
htop \ htop \
letsencrypt \
linux-image-extra-virtual \ linux-image-extra-virtual \
unzip \ unzip \
wget wget
@ -145,10 +150,11 @@ else
rm -rf /tpm/chromedriver_linux64.zip rm -rf /tpm/chromedriver_linux64.zip
fi fi
# Check Google Software Working echo "
Check Google Software Working...
"
/usr/bin/google-chrome --version /usr/bin/google-chrome --version
/usr/local/bin/chromedriver --version /usr/local/bin/chromedriver --version | awk '{print$1,$2}'
echo ' echo '
######################################################################## ########################################################################
@ -156,7 +162,7 @@ echo '
######################################################################## ########################################################################
' '
# MEET / JIBRI SETUP # MEET / JIBRI SETUP
DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | cut -d "." -f "1,2,3") DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | cut -d "." -f "1-3")
JB_AUTH_PASS_FILE=/var/JB_AUTH_PASS.txt JB_AUTH_PASS_FILE=/var/JB_AUTH_PASS.txt
JB_REC_PASS_FILE=/var/JB_REC_PASS.txt JB_REC_PASS_FILE=/var/JB_REC_PASS.txt
PROSODY_FILE=/etc/prosody/conf.d/$DOMAIN.cfg.lua PROSODY_FILE=/etc/prosody/conf.d/$DOMAIN.cfg.lua
@ -168,6 +174,13 @@ REC_DIR=/home/jibri/finalize_recording.sh
JB_NAME="Jibri Sessions" JB_NAME="Jibri Sessions"
read -p "Jibri internal.auth.$DOMAIN password: "$'\n' -sr JB_AUTH_PASS read -p "Jibri internal.auth.$DOMAIN password: "$'\n' -sr JB_AUTH_PASS
read -p "Jibri recorder.$DOMAIN password: "$'\n' -sr JB_REC_PASS read -p "Jibri recorder.$DOMAIN password: "$'\n' -sr JB_REC_PASS
#Secure room initial user
read -p "Set username for secure room moderator: "$'\n' -r SEC_ROOM_USER
read -p "Secure room moderator password: "$'\n' -sr SEC_ROOM_PASS
echo "You'll be able to login Secure Room chat with '${SEC_ROOM_USER}' \
or '${SEC_ROOM_USER}@${DOMAIN}' using the password you just entered.
If you have issues with the password refer to your sysadmin."
read -p "Set sysadmin email: "$'\n' -r SYSADMIN_EMAIL
while [[ $ENABLE_DB != yes && $ENABLE_DB != no ]] while [[ $ENABLE_DB != yes && $ENABLE_DB != no ]]
do do
read -p "Do you want to setup the Dropbox feature: (yes or no)"$'\n' -r ENABLE_DB read -p "Do you want to setup the Dropbox feature: (yes or no)"$'\n' -r ENABLE_DB
@ -186,6 +199,7 @@ elif [ $ENABLE_SSL = yes ]; then
echo "SSL will be enabled." echo "SSL will be enabled."
fi fi
done done
echo "$JB_AUTH_PASS" > $JB_AUTH_PASS_FILE echo "$JB_AUTH_PASS" > $JB_AUTH_PASS_FILE
chmod 600 $JB_AUTH_PASS_FILE chmod 600 $JB_AUTH_PASS_FILE
echo "$JB_REC_PASS" > $JB_REC_PASS_FILE echo "$JB_REC_PASS" > $JB_REC_PASS_FILE
@ -194,6 +208,17 @@ JibriBrewery=JibriBrewery
INT_CONF=/usr/share/jitsi-meet/interface_config.js INT_CONF=/usr/share/jitsi-meet/interface_config.js
WAN_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) WAN_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
ssl_wa() {
service $1 stop
letsencrypt certonly --standalone --renew-by-default --agree-tos --email $SYSADMIN_EMAIL -d $DOMAIN
sed -i "s|/etc/jitsi/meet/$DOMAIN.crt|/etc/letsencrypt/live/$DOMAIN/fullchain.pem|" $WS_CONF
sed -i "s|/etc/jitsi/meet/$DOMAIN.key|/etc/letsencrypt/live/$DOMAIN/privkey.pem|" $WS_CONF
service $1 restart
#Add cron
crontab -l | { cat; echo "@weekly certbot renew --${2}"; } | crontab -
crontab -l
}
enable_letsencrypt() { enable_letsencrypt() {
if [ "$ENABLE_SSL" = "yes" ]; then if [ "$ENABLE_SSL" = "yes" ]; then
echo ' echo '
@ -201,8 +226,18 @@ echo '
Starting LetsEncrypt configuration Starting LetsEncrypt configuration
######################################################################## ########################################################################
' '
bash /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh #Disabled 'til fixed upstream
#bash /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
update_certbot update_certbot
#SSL workaround
if [ "$APACHE_2" -eq 1 ]; then
ssl_wa apache2 apache
elif [ "$NGINX" -eq 1 ]; then
ssl_wa nginx nginx
fi
else else
echo "SSL setup will be skipped." echo "SSL setup will be skipped."
fi fi
@ -328,7 +363,7 @@ exit 0
REC_DIR REC_DIR
## JSON Config ## JSON Config
cp $CONF_JSON CONF_JSON.orig cp $CONF_JSON $CONF_JSON.orig
cat << CONF_JSON > $CONF_JSON cat << CONF_JSON > $CONF_JSON
{ {
"recording_directory":"$DIR_RECORD", "recording_directory":"$DIR_RECORD",
@ -409,7 +444,6 @@ elif [ "$ENABLE_SA" = "yes" ] && [ -f /etc/apache2/sites-available/$DOMAIN.conf
wget https://switnet.net/static/avatar.png -O /usr/share/jitsi-meet/images/avatar2.png wget https://switnet.net/static/avatar.png -O /usr/share/jitsi-meet/images/avatar2.png
WS_CONF=/etc/apache2/sites-available/$DOMAIN.conf 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 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_PREFIX/ s|false|\'https://$DOMAIN/avatar/\'|" $INT_CONF
sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" $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 elif [ "$ENABLE_SA" = "yes" ] && [ -f /etc/nginx/sites-available/$DOMAIN.conf ]; then
@ -421,7 +455,6 @@ elif [ "$ENABLE_SA" = "yes" ] && [ -f /etc/nginx/sites-available/$DOMAIN.conf ];
\ \
\ \ \ \ }\\ \ \ \ \ }\\
\ " $WS_CONF \ " $WS_CONF
service nginx reload
sed -i "/RANDOM_AVATAR_URL_PREFIX/ s|false|\'http://$DOMAIN/avatar/\'|" $INT_CONF sed -i "/RANDOM_AVATAR_URL_PREFIX/ s|false|\'http://$DOMAIN/avatar/\'|" $INT_CONF
sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" $INT_CONF sed -i "/RANDOM_AVATAR_URL_SUFFIX/ s|false|\'.png\'|" $INT_CONF
else else
@ -446,6 +479,7 @@ VirtualHost "guest.$DOMAIN"
authentication = "anonymous" authentication = "anonymous"
c2s_require_encryption = false c2s_require_encryption = false
P_SR P_SR
prosodyctl register $SEC_ROOM_USER $DOMAIN $SEC_ROOM_PASS
fi fi
done done
@ -458,11 +492,11 @@ sed -i "s|// startWithVideoMuted: false,|startWithVideoMuted: true,|" $MEET_CONF
#Start with audio muted but admin #Start with audio muted but admin
sed -i "s|// startAudioMuted: 10,|startAudioMuted: 1,|" $MEET_CONF sed -i "s|// startAudioMuted: 10,|startAudioMuted: 1,|" $MEET_CONF
#Disable welcome page #Disable/enable welcome page
sed -i "s|enableWelcomePage: true|enableWelcomePage: false|" $MEET_CONF sed -i "s|// enableWelcomePage: true,|enableWelcomePage: true,|" $MEET_CONF
#Make displayname required #Set displayname as not required since jibri can't set it up.
sed -i "s|// requireDisplayName: true,|requireDisplayName: true,|" $MEET_CONF sed -i "s|// requireDisplayName: true,|requireDisplayName: false,|" $MEET_CONF
#Enable jibri services #Enable jibri services
systemctl enable jibri systemctl enable jibri