Update upstream changes
This commit is contained in:
		
							parent
							
								
									72adbfbc71
								
							
						
					
					
						commit
						e4d772d345
					
				|  | @ -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. | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue