quick-jibri-installer/jm-bm.sh

101 lines
3.2 KiB
Bash
Raw Normal View History

2020-04-11 10:03:16 +00:00
#!/bin/bash
# Jitsi Meet brandless mode
# for Debian/*buntu binaries.
2024-03-21 20:09:38 +00:00
# SwITNet Ltd © - 2024, https://switnet.net/
2020-04-11 10:03:16 +00:00
# GNU GPLv3 or later.
while getopts m: option
do
case "${option}"
in
m) MODE=${OPTARG};;
\?) echo "Usage: sudo bash ./$0 [-m debug]" && exit;;
esac
done
#DEBUG
if [ "$MODE" = "debug" ]; then
set -x
fi
DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)"
2020-04-11 10:03:16 +00:00
CSS_FILE="/usr/share/jitsi-meet/css/all.css"
TITLE_FILE="/usr/share/jitsi-meet/title.html"
INT_CONF="/usr/share/jitsi-meet/interface_config.js"
INT_CONF_ETC="/etc/jitsi/meet/$DOMAIN-interface_config.js"
2020-04-12 16:13:25 +00:00
BUNDLE_JS="/usr/share/jitsi-meet/libs/app.bundle.min.js"
2020-04-11 10:03:16 +00:00
#
JM_IMG_PATH="/usr/share/jitsi-meet/images"
2020-04-11 10:03:16 +00:00
WTM2_PATH="$JM_IMG_PATH/watermark2.png"
WTM2_SVG_PATH="$JM_IMG_PATH/watermark2.svg"
2020-04-11 10:03:16 +00:00
FICON_PATH="$JM_IMG_PATH/favicon2.ico"
REC_ICON_PATH="$JM_IMG_PATH/gnome_record.png"
2020-04-11 10:03:16 +00:00
#
APP_NAME="Conferences"
2020-04-12 16:13:25 +00:00
MOVILE_APP_NAME="Jitsi Meet"
2020-04-11 10:03:16 +00:00
PART_USER="Participant"
2020-04-12 16:13:25 +00:00
LOCAL_USER="me"
2020-04-13 17:48:22 +00:00
#
#SEC_ROOM="TBD"
copy_if_not_there() {
if [ ! -f "$1" ]; then
cp images/"$(echo $1|xargs basename)" "$1"
else
echo "$(echo $1|xargs basename) file exists, skipping copying..."
fi
}
2020-04-11 10:03:16 +00:00
echo '
#--------------------------------------------------
# Applying Brandless mode
#--------------------------------------------------
'
2020-04-11 10:03:16 +00:00
#Watermark
copy_if_not_there "$WTM2_PATH"
#Watermark svg
copy_if_not_there "$WTM2_SVG_PATH"
2020-04-11 10:03:16 +00:00
#Favicon
copy_if_not_there "$FICON_PATH"
#Local recording icon
copy_if_not_there "$REC_ICON_PATH"
2020-04-11 10:03:16 +00:00
#Custom / Remove icons
2021-04-12 03:06:27 +00:00
sed -i "s|watermark.png|watermark2.png|g" "$CSS_FILE"
sed -i "s|favicon.ico|favicon2.ico|g" "$TITLE_FILE"
sed -i "s|jitsilogo.png|watermark2.png|g" "$TITLE_FILE"
sed -i "s|logo-deep-linking.png|watermark2.png|g" "$BUNDLE_JS"
sed -i "s|icon-cloud.png|gnome_record.png|g" "$BUNDLE_JS"
2020-04-11 10:03:16 +00:00
#Disable logo and url
if ! grep -q ".leftwatermark{display:none" "$CSS_FILE" ; then
sed -i "s|.leftwatermark{|.leftwatermark{display:none;|" "$CSS_FILE"
2020-04-30 19:43:37 +00:00
fi
#Replace App logo
sed -i "s|// defaultLogoUrl: .*| defaultLogoUrl: 'images/watermark2.svg',|" "$MEET_CONF"
#Overwrite favicon svg
cp images/watermark2.svg $JM_IMG_PATH/favicon.svg
2020-04-11 10:03:16 +00:00
#Customize room title
2021-04-12 03:06:27 +00:00
sed -i "s|Jitsi Meet|$APP_NAME|g" "$TITLE_FILE"
sed -i "s| powered by the Jitsi Videobridge||g" "$TITLE_FILE"
sed -i "/appNotInstalled/ s|{{app}}|$MOVILE_APP_NAME|g" /usr/share/jitsi-meet/lang/*
2020-04-11 10:03:16 +00:00
#Custom UI changes
if [ -f "$INT_CONF_ETC" ]; then
echo "Static interface_config.js exists, skipping modification..."
else
echo "This setup doesn't have a static interface_config.js, checking changes..."
2021-04-12 03:06:27 +00:00
echo -e "\nPlease note that brandless mode will also overwrite support links.\n"
sed -i "21,32 s|Jitsi Meet|$APP_NAME|g" "$INT_CONF"
sed -i "s|\([[:space:]]\)APP_NAME:.*| APP_NAME: \'$APP_NAME\',|" "$INT_CONF"
sed -i "s|Fellow Jitster|$PART_USER|g" "$INT_CONF"
sed -i "s|'me'|'$LOCAL_USER'|" "$INT_CONF"
sed -i "s|LIVE_STREAMING_HELP_LINK: .*|LIVE_STREAMING_HELP_LINK: '#',|g" "$INT_CONF"
sed -i "s|SUPPORT_URL: .*|SUPPORT_URL: '#',|g" "$INT_CONF"
#Logo 2
sed -i "s|watermark.png|watermark2.png|g" "$INT_CONF"
2021-04-23 11:58:41 +00:00
sed -i "s|watermark.svg|watermark2.png|g" "$INT_CONF"
fi