From 34a5938d78fac44a0caa7527910560ebb1f163f0 Mon Sep 17 00:00:00 2001 From: Ark74 Date: Mon, 3 May 2021 17:55:04 -0500 Subject: [PATCH] Moving jigasi into old scripts folder, most likely unsupported. --- jigasi.sh | 307 ------------------------------------------------------ 1 file changed, 307 deletions(-) delete mode 100644 jigasi.sh diff --git a/jigasi.sh b/jigasi.sh deleted file mode 100644 index d5149cc..0000000 --- a/jigasi.sh +++ /dev/null @@ -1,307 +0,0 @@ -#!/bin/bash -# Quick Jigasi Installer - *buntu (LTS) based systems. -# SwITNet Ltd © - 2020, https://switnet.net/ -# GPLv3 or later. - -##################### Whistlist ####################### -# Saves final transcript in translated languages #130 - -# https://github.com/jitsi/jigasi/pull/130 -####################################################### - -#Check if user is root -if ! [ $(id -u) = 0 ]; then - echo "You need to be root or have sudo privileges!" - exit 0 -fi - -clear -echo ' -######################################################################## - Jigasi Transcript addon -######################################################################## - by Software, IT & Networks Ltd -' - -JIGASI_CONFIG=/etc/jitsi/jigasi/config -GC_API_JSON=/opt/gc-sdk/GCTranscriptAPI.json -DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | awk -F'.cfg' '{print $1}' | awk '!NF || !seen[$0]++') -MEET_CONF=/etc/jitsi/meet/${DOMAIN}-config.js -JIG_SIP_CONF=/etc/jitsi/jigasi/config -JIG_SIP_PROP=/etc/jitsi/jigasi/sip-communicator.properties -JIC_SIP_PROP=/etc/jitsi/jicofo/sip-communicator.properties -JIG_TRANSC_PASWD="$(tr -dc "a-zA-Z0-9#*=" < /dev/urandom | fold -w 8 | head -n1)" -JIG_TRANSC_PASWD_B64="$(echo -n "$JIG_TRANSC_PASWD" | base64)" -DIST=$(lsb_release -sc) -CHECK_GC_REPO=$(apt-cache policy | grep http | grep cloud-sdk | head -n1 | awk '{print $3}' | awk -F '/' '{print $1}') - -install_gc_repo() { -if [ "$CHECK_GC_REPO" = "cloud-sdk-$DIST" ]; then - echo " -Google Cloud SDK repository already on the system! -" -else - echo " -Adding Google Cloud SDK repository for latest updates -" - export CLOUD_SDK_REPO="cloud-sdk-$DIST" - echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - -fi -} -install_gc_repo -apt-get -q2 update -apt-get -y install google-cloud-sdk google-cloud-sdk-app-engine-java - -echo "Please select one of the current options: -[1] I want to configure a new project, service account, billing and JSON credentials. -[2] I already have one project configured and already have a JSON key file from Google" -while [[ "$SETUP_TYPE" != "1" && "$SETUP_TYPE" != "2" ]] -do - read -p "What option suits your setup?: (1 or 2)"$'\n' -r SETUP_TYPE - if [ "$SETUP_TYPE" = "1" ]; then - echo "We'll setup a GC Projects from scratch" - elif [ "$SETUP_TYPE" = "2" ]; then - echo "We'll setup only the proect and JSON key." - fi -done - -if [ $SETUP_TYPE = 1 ]; then -### Start of new project configuration - Google SDK -#Setup option 1 - Google Cloud SDK -echo "Once logged on Google Cloud SDK, please create a new project (last option)." -gcloud init -read -p "Enter the project name you just created for Jigasi Speech-to-Text"$'\n' -r GC_PROJECT_NAME -#Second login - Google Auth Library -echo "Login to Google Auth Library" -gcloud auth application-default login - -# Start Google Cloud Configuration - Application Service -GC_MEMBER=transcript -echo "Checking if project exist..." -PROJECT_GC_ID=$(gcloud projects list | grep $GC_PROJECT_NAME | awk '{print$3}') -while [ -z $PROJECT_GC_ID ] -do -read -p "Enter the project name you just created for Jigasi Speech-to-Text"$'\n' -r GC_PROJECT_NAME -if [ -z PROJECT_GC_ID ]; then - echo "Please check your project name," - echo "There is no project listed with the provided name: $GC_PROJECT_NAME" - PROJECT_GC_ID=$(gcloud projects list | grep $GC_PROJECT_NAME | awk '{print$3}') - fi -done -echo "Your $GC_PROJECT_NAME ID's project is: $PROJECT_GC_ID" - -# Enable Speech2Text -echo "Important: Please enable billing on your project using the following URL: -https://console.developers.google.com/project/$PROJECT_GC_ID/settings" - -echo "Checking billing..." -CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" -while [[ $? -eq 1 ]] -do -CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" -if [[ $? -eq 1 ]]; then - echo "Seems you haven't enabled billing for this project: $GC_PROJECT_NAME" - exho " For that go to: https://console.developers.google.com/project/$PROJECT_GC_ID/settings - " - read -p "Press Enter to continue" - CHECK_BILLING="$(gcloud services enable speech.googleapis.com 2>/dev/null)" -fi -done -echo "Billing account seems setup, continuing..." - -gcloud iam service-accounts create $GC_MEMBER - -gcloud projects add-iam-policy-binding $GC_PROJECT_NAME \ - --member serviceAccount:$GC_MEMBER@$GC_PROJECT_NAME.iam.gserviceaccount.com \ - --role roles/editor - -echo "Setup credentials:" -echo "Please go and download your valid json key at: -https://console.developers.google.com/apis/credentials?folder=&organizationId=&project=$GC_PROJECT_NAME" -### End of new project configuration - Google SDK -fi - -if [ "$SETUP_TYPE" = "2" ]; then -#Setup option 1 - Google Cloud SDK -echo "Once logged on Google Cloud SDK, please select the project that owns to the JSON key." -gcloud init -echo "Login to Google Auth Library" -gcloud auth application-default login -fi - -echo "Setting up JSON key file..." -sleep 2 -mkdir /opt/gc-sdk/ -cat << KEY_JSON > $GC_API_JSON -# -# Paste below this comment your GC JSON key for the service account: -# $GC_MEMBER@$GC_PROJECT_NAME.iam.gserviceaccount.com -# -# Visit the following URL and create a *Service Account Key*: -# https://console.developers.google.com/apis/credentials?folder=&organizationId=&project=$GC_PROJECT_NAME -# These comment lines will be deleted afterwards. -# -KEY_JSON -chmod 644 $GC_API_JSON -nano $GC_API_JSON -sed -i '/^#/d' $GC_API_JSON - -CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" -while [[ $? -eq 1 ]] -do -CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" -if [[ $? -eq 1 ]]; then - echo "Check again your JSON file, syntax doesn't seem right" - sleep 2 - nano $GC_API_JSON - CHECK_JSON_KEY="$(cat $GC_API_JSON | python -m json.tool 2>/dev/null)" -fi -done -echo " -Great, seems your JSON key syntax is fine. -" -sleep 2 - -export GOOGLE_APPLICATION_CREDENTIALS=$GC_API_JSON - -echo "Installing Jigasi, your SIP credentials will be asked. (mandatory)" -apt-get -y install jigasi -#apt-mark hold jigasi - -cat << JIGASI_CONF >> $JIGASI_CONFIG - -GOOGLE_APPLICATION_CREDENTIALS=$GC_API_JSON - -JIGASI_CONF - -echo "Your Google Cloud credentials are at $GC_API_JSON" - -echo "Setting up Jigasi transcript with current platform..." -#Connect callcontrol -sed -i "s|// call_control:|call_control:|" $MEET_CONF -sed -i "s|// transcribingEnabled|transcribingEnabled|" $MEET_CONF -sed -i "/transcribingEnabled/ s|false|true|" $MEET_CONF - -#siptest2siptest@domain.con -#changed from conference to internal.auth from jibri -sed -i "s|siptest|siptest@internal.auth.$DOMAIN|" $JIG_SIP_PROP - -#Disable component in favor of MUC -if [ $(grep -c nocomponent $JIG_SIP_CONF) != 0 ]; then - echo "Jigasi component is already disabled." -else - echo "Disabling jigasi component in favor of MUC" - sed -i "s|JIGASI_OPTS=.*|JIGASI_OPTS=\"--nocomponent=true\"|" $JIG_SIP_CONF -fi - -#Setup XMPP -cat << ACC1_XMPP >> $JIG_SIP_PROP - -# XMPP account used for control -net.java.sip.communicator.impl.protocol.jabber.acc1=acc1 -net.java.sip.communicator.impl.protocol.jabber.acc1.ACCOUNT_UID=Jabber:jigasi@auth.$DOMAIN@$DOMAIN -net.java.sip.communicator.impl.protocol.jabber.acc1.USER_ID=jigasi@auth.$DOMAIN -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_SERVER_OVERRIDDEN=true -net.java.sip.communicator.impl.protocol.jabber.acc1.SERVER_ADDRESS=$DOMAIN -net.java.sip.communicator.impl.protocol.jabber.acc1.SERVER_PORT=5222 -net.java.sip.communicator.impl.protocol.jabber.acc1.PASSWORD=$JIG_TRANSC_PASWD_B64 -net.java.sip.communicator.impl.protocol.jabber.acc1.AUTO_GENERATE_RESOURCE=true -net.java.sip.communicator.impl.protocol.jabber.acc1.RESOURCE_PRIORITY=30 -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_CARBON_DISABLED=true -net.java.sip.communicator.impl.protocol.jabber.acc1.DEFAULT_ENCRYPTION=true -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_USE_ICE=true -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_ACCOUNT_DISABLED=false -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_PREFERRED_PROTOCOL=false -net.java.sip.communicator.impl.protocol.jabber.acc1.AUTO_DISCOVER_JINGLE_NODES=false -net.java.sip.communicator.impl.protocol.jabber.acc1.PROTOCOL=Jabber -net.java.sip.communicator.impl.protocol.jabber.acc1.IS_USE_UPNP=false -net.java.sip.communicator.impl.protocol.jabber.acc1.USE_DEFAULT_STUN_SERVER=true -net.java.sip.communicator.impl.protocol.jabber.acc1.ENCRYPTION_PROTOCOL.DTLS-SRTP=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP=true -net.java.sip.communicator.impl.protocol.jabber.acc1.VIDEO_CALLING_DISABLED=true -net.java.sip.communicator.impl.protocol.jabber.acc1.OVERRIDE_ENCODINGS=true -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.G722/8000=705 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.GSM/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.H263-1998/90000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.H264/90000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.PCMA/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.PCMU/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/12000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/16000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/24000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.SILK/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.VP8/90000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.iLBC/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.opus/48000=750 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/16000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/32000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.speex/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.Encodings.telephone-event/8000=0 -net.java.sip.communicator.impl.protocol.jabber.acc1.BREWERY=JigasiBreweryRoom@internal.auth.$DOMAIN -net.java.sip.communicator.impl.protocol.jabber.acc1.DOMAIN_BASE=$DOMAIN - -org.jitsi.jigasi.MUC_SERVICE_ADDRESS=conference.$DOMAIN -org.jitsi.jigasi.BREWERY_ENABLED=true - -org.jitsi.jigasi.HEALTH_CHECK_SIP_URI="" -org.jitsi.jigasi.HEALTH_CHECK_INTERVAL=300000 -org.jitsi.jigasi.HEALTH_CHECK_TIMEOUT=600000 - -org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true -#org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=$DOMAIN - -org.jitsi.jigasi.xmpp.acc.VIDEO_CALLING_DISABLED=true -org.jitsi.jigasi.xmpp.acc.JINGLE_NODES_ENABLED=false -org.jitsi.jigasi.xmpp.acc.AUTO_DISCOVER_STUN=false -org.jitsi.jigasi.xmpp.acc.IM_DISABLED=true -org.jitsi.jigasi.xmpp.acc.SERVER_STORED_INFO_DISABLED=true -org.jitsi.jigasi.xmpp.acc.IS_FILE_TRANSFER_DISABLED=true - -org.jitsi.jigasi.xmpp.acc.USER_ID=jigasi@auth.$DOMAIN -org.jitsi.jigasi.xmpp.acc.PASS=$JIG_TRANSC_PASWD -org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false -org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true -ACC1_XMPP - -#Enable transcription config -sed -i "/ENABLE_TRANSCRIPTION/ s|#||" $JIG_SIP_PROP -sed -i "/ENABLE_TRANSCRIPTION/ s|false|true|" $JIG_SIP_PROP -sed -i "/ENABLE_SIP/ s|#||" $JIG_SIP_PROP -sed -i "/ENABLE_SIP/ s|true|false|" $JIG_SIP_PROP - -#Transcript format -sed -i "/SAVE_JSON/ s|# ||" $JIG_SIP_PROP -sed -i "/SEND_JSON/ s|# ||" $JIG_SIP_PROP -sed -i "/SAVE_TXT/ s|# ||" $JIG_SIP_PROP -sed -i "/SEND_TXT/ s|# ||" $JIG_SIP_PROP -#sed -i "/SEND_TXT/ s|false|true|" $JIG_SIP_PROP - -#Allow to connect other than same server only. -sed -i \ -"/xmpp.acc.SERVER_ADDRESS/ s|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=.*|org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=$DOMAIN|" \ -$JIG_SIP_PROP - -#Remember to study how to use LE or what's needed #ToDo -sed -i "/ALWAYS_TRUST_MODE_ENABLED/ s|# ||" $JIG_SIP_PROP - -prosodyctl register jigasi auth.$DOMAIN $JIG_TRANSC_PASWD - -#Set Brewery -cat << JIG_JIC >> $JIC_SIP_PROP -org.jitsi.jicofo.jigasi.BREWERY=JigasiBreweryRoom@internal.auth.$DOMAIN -JIG_JIC - -systemctl restart prosody \ - jicofo \ - jibri* \ - jitsi-videobridge2 - -echo " -Full transcript files are available at: ---> /var/lib/jigasi/transcripts/ -" - -echo " -Happy transcripting! -"