diff --git a/sms/GUILDE.sh b/sms/GUILDE.sh index 29bab1b..7800b15 100755 --- a/sms/GUILDE.sh +++ b/sms/GUILDE.sh @@ -12,6 +12,8 @@ echo "EXECUTE $ME ($1=phone, $2=guilde)" phone="$1" guilde="$2" +my_guildes="$guilde" + message="$(cat /tmp/${phone}_message)" ######################################################################## @@ -45,7 +47,7 @@ fi if [[ ! $xzuid ]]; then NEW=1 ######################################################################## - echo "## GESTION IDENTITES: G1 + NEXTCLOUD + QRCODE" + echo "## GESTION IDENTITES: G1 NEXTCLOUD QRCODE + GUILDES" ######################################################################## ## MAKE UNIQ xzuid @@ -55,14 +57,14 @@ if [[ ! $xzuid ]]; then xzuid=$($MY_PATH/diceware.sh 1 | xargs)${RANDOM:0:5} done echo "$xzuid" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt - echo "=> $xzuid + NOUVEAU +" + echo "=> NOUVEAU $xzuid WELCOME <=" ######################################################################## echo "## $xzuid / $phone => NEW DUNIKEY & QRCODE" ######################################################################## echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Heureux de vous accueillir. $xzuid est votre nouvelle Identité Interplanétaire MadeInZion/Astroport.\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"Heureux de vous accueillir. $xzuid est votre Identité Interplanétaire MadeInZion/OneNation émise par Astroport.\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh ######################################################################## echo "## MAKE secret.dunikey" @@ -73,23 +75,24 @@ sudo gammu sendsms TEXT \"_PHONE_\" -text \"Heureux de vous accueillir. $xzuid e g1sec=$(cat /tmp/secret.dunikey | grep "sec" | cut -d ' ' -f 2) echo $g1pub > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/g1pub.txt - echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Votre identifiant est $xzuid, votre mot de passe sera ce numéro de téléphone : $phone'.\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - + G1=$(cat /home/${YOU}/.zen/SMS/PHONE/${phonehash}/g1pub.txt) + + my_guildes="MIZ;$my_guildes" + ######################################################################## - echo "## QRCODES" + echo "## MAKING QRCODES FOR $G1" ######################################################################## qrencode -s 6 -o "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/QR.png" "$g1pub" echo "# CREATE 4 DIGIT PASS" PASS=$(echo "${RANDOM}${RANDOM}${RANDOM}" | tail -c-5) && echo "$PASS" > /tmp/${xzuid}.pin - echo "# SSLSEC QR CODE" + echo "# $PASS SYMETRIC ENCRYPTION CODE" echo "$g1sec" > /tmp/${xzuid}.sec openssl enc -aes-256-cbc -salt -in /tmp/${xzuid}.sec -out "/tmp/${xzuid}.sec.ssl" -k $PASS sslsec=$(cat /tmp/${xzuid}.sec.ssl | base58) qrencode -s 6 -o "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png" "$sslsec" - echo "## $sslsec ($PASS) => /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png" + echo "## /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png ($PASS) => $sslsec" ######################################################################## echo "## SAVING /home/${YOU}/.zen/SMS/PHONE/${phonehash}/secret.dunikey.encrypt" @@ -98,41 +101,22 @@ sudo gammu sendsms TEXT \"_PHONE_\" -text \"Votre identifiant est $xzuid, votre [[ ! $? == 0 ]] && echo "FAILED" && exit 1 ######################################################################## - echo "CREATING FAKE AVATAR" + echo "CREATING EXTRATERRESTRIAL AVATAR PICTURE" ######################################################################## $MY_PATH/timeout.sh -t 10 curl -s https://thispersondoesnotexist.com/image -o /home/${YOU}/.zen/SMS/PHONE/${phonehash}/avatar.jpg - [[ $? == 0 ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Une photo anonyme a été associée à votre identifiant ${xzuid} et mot de passe: ${phone})\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh if [[ -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/avatar.jpg ]]; then ######################################################################## - echo "GCHANGE+ PROFILE" + echo "CREATING GCHANGE+ PROFILE" ######################################################################## $MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://data.gchange.fr" set --name "${xzuid}" --avatar "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/avatar.jpg" #GCHANGE+ - [[ $? == 0 ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Utilisez https://gchange.fr Quittez les Banques et échangez gratuitement en JUNE - https://monnaie-libre.fr - \"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - + [[ $? == 0 ]] && my_guildes="GCHANGE;$my_guildes" && mkdir -p /home/${YOU}/.zen/SMS/GUILDES/GCHANGE/INPUT + ######################################################################## - echo "CESIUM+ PROFILE" + echo "CREATING CESIUM+ PROFILE" ######################################################################## $MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://g1.data.e-is.pro" set --name "${xzuid}" --avatar "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/avatar.jpg" #CESIUM+ - [[ $? == 0 ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Les primes de vos missions vont sur le portefeuille libre https://cesium.app - $g1pub -\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - - fi - - if [[ -f /var/www/nextcloud/occ ]]; then - ######################################################################## - echo "## NEXTCLOUD : ${xzuid} / ${phone} " - ######################################################################## - sudo su -s /bin/sh www-data -c "export OC_PASS=\"${phone}\" && php /var/www/nextcloud/occ user:add --password-from-env --group=\"${guilde}\" --display-name=\"${xzuid}\" ${xzuid}" - [[ $? == 0 ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Quittez les GAFAM! Synchronisez votre smartphone avec NEXTCloud chez l'un des amis du réseau de %MAKER https://copylaradio.com - DEMO - https://taurus.copylaradio.com\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - - sudo mkdir /var/www/nextcloud/data/${xzuid}/astroport/MadeInZion - sudo cp /home/${YOU}/.zen/SMS/PHONE/${phonehash}/* /var/www/nextcloud/data/${xzuid}/astroport/MadeInZion - sudo chown -R www-data:pi /var/www/nextcloud/data/${xzuid}/astroport - + [[ $? == 0 ]] && my_guildes="CESIUM;$my_guildes" && mkdir -p /home/${YOU}/.zen/SMS/GUILDES/CESIUM/INPUT fi ######################################################################## @@ -140,49 +124,79 @@ sudo gammu sendsms TEXT \"_PHONE_\" -text \"Quittez les GAFAM! Synchronisez votr ######################################################################## echo ${phone} > /tmp/${phone}_phone $MY_PATH/natools.py encrypt -p $G1PUB -i /tmp/${phone}_phone -o /home/${YOU}/.zen/SMS/PHONE/${phonehash}/passwd.encrypt - [[ ! $? == 0 ]] && echo "FAILED" && exit 1 + [[ ! $? == 0 ]] && echo "Encrypt ${phone} FAILED" && exit 1 || rm /tmp/${phone}_phone ######################################################################## echo "## Encrypt ${xzuid}.pin into /home/${YOU}/.zen/SMS/PHONE/${phonehash}/pin.encrypt" ######################################################################## $MY_PATH/natools.py encrypt -p $G1PUB -i /tmp/${xzuid}.pin -o /home/${YOU}/.zen/SMS/PHONE/${phonehash}/pin.encrypt - [[ ! $? == 0 ]] && echo "FAILED" && exit 1 + [[ ! $? == 0 ]] && echo "Encrypt ${xzuid}.pin FAILED" && exit 1 || rm /tmp/${xzuid}.pin + + ######################################################################## + ## NEXTCLOUD LINKS + ######################################################################## + + if [[ -f /var/www/nextcloud/occ ]]; then + + ######################################################################## + echo "## NEXTCLOUD : ${xzuid} / ${phone} " + ######################################################################## + sudo su -s /bin/sh www-data -c "export OC_PASS=\"${phone}\" && php /var/www/nextcloud/occ user:add --password-from-env --group=\"MIZ\" --display-name=\"${xzuid}\" ${xzuid}" + [[ $? == 0 ]] && my_guildes="NEXTCLOUD;$my_guildes" && mkdir -p /home/${YOU}/.zen/SMS/GUILDES/NEXTCLOUD/INPUT + + fi else - echo "=> $xzuid OK" + $MY_PATH/natools.py decrypt -f pubsec -k "/home/${YOU}/.zen/secret.dunikey" -i "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/pin.encrypt" -o "/tmp/${phonehash}.pin" + PASS=$(cat /tmp/${phonehash}.pin) && rm /tmp/${phonehash}.pin + G1=$(cat /home/${YOU}/.zen/SMS/PHONE/${phonehash}/g1pub.txt) + $MY_PATH/natools.py decrypt -f pubsec -k "/home/${YOU}/.zen/secret.dunikey" -i "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/secret.dunikey.encrypt" -o "/tmp/secret.dunikey" + echo "=> $xzuid DEJA INSCRIT PASS=$PASS G1=$G1" fi ######################################################################## -echo "## GESTION RELATION PHONE / GUILDE : ${phone} / ${guilde}" +echo "## INSCRIPTION PHONE / GUILDE : ${phone} / ${guilde}" ######################################################################## -## NOUVELLE INSCRIPTION +## NOUVELLE INSCRIPTION GUILDE (pas encore de lien INPUT/${phone}) [[ ! -f /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${phone} ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Bienvenue ${xzuid}. Partagez notre Escape Game vers le Libre sur https://oasis.astroport.com\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/0000000000000.tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"${xzuid}, bienvenue dans la guilde ${guilde}. Proposez, discutez des nouvelles missions sur https://oasis.astroport.com ?\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/0000000000000.tosend.sh ######################################################################## -## CAPTE LES ETOILES GCHANGE STARS. -G1=$(cat /home/${YOU}/.zen/SMS/PHONE/${phonehash}/g1pub.txt) -$MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://data.gchange.fr" stars -p $G1 > /tmp/$g1pub.stars -XUIDSCORE=$(cat /tmp/$g1pub.stars | jq .score) +## COMBIEN D'ETOILES GCHANGE ?? ADMIN +######################################################################## +$MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://data.gchange.fr" stars -p $G1 > /tmp/$G1.stars +XUIDSCORE=$(cat /tmp/$G1.stars | jq .score) || XUIDSCORE=0 ## SCORE > 4 DONNE DROIT DE CREER ET DIALOGUER AVEC LES GUILDES. -SCORE=$(echo $XUIDSCORE | cut -d '.' -f 1) || SCORE=0 -SMSADMIN="$(cat /home/${YOU}/.zen/SMSADMIN)" ## FRENCH NUMBER +SCORE=$(echo $XUIDSCORE | cut -d '.' -f 1) +SMSADMIN="$(cat /home/${YOU}/.zen/SMSADMIN)" +echo "***** ${xzuid} SCORE GCHANGE = $SCORE *****" ## MESSAGE DU GUIDE DE LA GUILDE OU DE L'ADMIN DE LA STATION ? if [[ $SCORE -ge 4 || ${phone} == $SMSADMIN ]]; then + echo "GUILDE ADMIN ${guilde}/OUTPUT/" mkdir -p /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/ mkdir -p /home/${YOU}/.zen/SMS/GUILDES/${guilde}/OUTPUT/ ## PREPARATION DU MESSAGE POUR LA GUILDE [[ ${message} != "" ]] && echo "#!/bin/bash sudo gammu sendsms TEXT \"_PHONE_\" -text \"$xzuid: ${message}\"" > /home/${YOU}/.zen/SMS/GUILDES/${guilde}/OUTPUT/$(date -u +%s%N | cut -b1-13).tosend.sh + echo "ENVOI $xzuid: ${message}" fi -## MEMORISATION INPUT ET LIENS PHONE <-> GUILDE +######################################################################## +#GUILDE################################################################# +## RECUPERATION DE LA LIST DES GUILDES $my_guildes +my_array=($(echo $my_guildes | tr ";" "\n")) +#Print the split string +for guilde in "${my_array[@]}" +do + +######################################################################## +## MEMORISATION INPUT, LIENS PHONE <-> GUILDE & NEXTCLOUD ######################################################################## if [[ -d /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT ]]; then @@ -197,54 +211,73 @@ if [[ -d /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT ]]; then mkdir -p mkdir -p /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/ ln -s /home/${YOU}/.zen/SMS/PHONE/${phonehash} /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/${phone} - ## COPIE DANS REPERTOIRE PERSO GUILDE ESPACE NEXTCLOUD (POUR PARTAGE) + ## CREATION /MadeInZion/${guilde}/${xzuid} dans NEXTCLOUD if [[ -f /var/www/nextcloud/occ ]]; then - sudo mkdir /var/www/nextcloud/data/${xzuid}/astroport/${guilde}/${xzuid} - cp -f /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${phone} /var/www/nextcloud/data/${xzuid}/astroport/${guilde}/${xzuid}/ - sudo chown -R www-data:pi /var/www/nextcloud/data/${xzuid}/astroport + sudo mkdir /var/www/nextcloud/data/${xzuid}/MadeInZion/${guilde}/${xzuid} + sudo chown -R www-data:${YOU} /var/www/nextcloud/data/${xzuid}/MadeInZion + ### IDEA !! USE /var/www/nextcloud/data/${xzuid} AS $HOME for SSH access... TODO ? fi + ## CONFIRMATION SMS : INSCRIPTION A LA GUILDE + echo "#!/bin/bash +sudo gammu sendsms TEXT \"_PHONE_\" -text \"Activation de votre inscription à la guilde : ${guilde}. Gagnez des primes! Inventez, relevez des missions...\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh + else ## GUILDE INCONNUE REPONSE SMS echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"Guilde inconnue. Trouvez ou créez la votre sur https://oasis.astroport.com\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"Guilde inconnue. Trouvez ou proposez la votre sur https://oasis.astroport.com\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh fi +done +##################################################################GUILDE ######################################################################## -## BUG: gammu-smsd HACK (must be stop to send response sms) -## Création de script d'envoi de SMS après gammu-smsd stop -## Rendre exécutable + ######################################################################## -chmod 775 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/*.tosend.sh +## Mise en exécution des script d'envoi de SMS (après gammu-smsd stop) +######################################################################## +chmod +x /home/${YOU}/.zen/SMS/PHONE/${phonehash}/*.tosend.sh +chmod +x /home/${YOU}/.zen/SMS/GUILDES/${guilde}/OUTPUT/*.tosend.sh ######################################################################## ## TAURUS LIVE DEMO PRINT ID + MESSAGE -# Si une imprimante à autocollant est branchée => impression Identité Numérique -# Disable power off = https://github.com/pklaus/brother_ql/issues/50 +# Si une imprimante à autocollant est branchée => Impression Identité Numérique Directe +# NB: Disable power off : https://github.com/pklaus/brother_ql/issues/50 # echo -n -e '\x1b\x69\x55\x41\x00\x00' | brother_ql -m QL-700 -p /dev/usb/lp0 send - -## IMAGE MAGICK https://legacy.imagemagick.org/Usage/layers/#append ######################################################################## -if [[ -e /dev/usb/lp0 && NEW == 1 ]]; then +## DOC IMAGE MAGICK https://legacy.imagemagick.org/Usage/layers/#append +######################################################################## +if [[ -e /dev/usb/lp0 && $NEW == 1 ]]; then ts=$(date -u +%s%N | cut -b1-13) + + # PRINT LOGO + if [[ ! -f /tmp/LOGO.bin ]]; then + brother_ql_create --model QL-700 ../img/MadeInZion_G1_ASTROPORT.png --label-size 62 > /tmp/LOGO.bin + brother_ql_print /tmp/LOGO.bin /dev/usb/lp0 + fi + # PRINT QR.png CREDENTIALS AND QR CODES brother_ql_create --model QL-700 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QR.png --label-size 62 > /tmp/${ts}_QR.bin brother_ql_print /tmp/${ts}_QR.bin /dev/usb/lp0 + rm /tmp/${ts}_QR.bin # PRINT ${xzuid} ${phone} convert -background White label:"${xzuid} ${phone}" -append /tmp/${ts}_ID.png brother_ql_create --model QL-700 /tmp/${ts}_ID.png --label-size 62 > /tmp/${ts}_ID.bin brother_ql_print /tmp/${ts}_ID.bin /dev/usb/lp0 + rm /tmp/${ts}_ID.bin /tmp/${ts}_ID.png # PRINT QRSEC.png brother_ql_create --model QL-700 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png --label-size 62 > /tmp/${ts}_QRSEC.bin brother_ql_print /tmp/${ts}_QRSEC.bin /dev/usb/lp0 + rm /tmp/${ts}_QRSEC.bin # PRINT $PASS convert -background White label:"CODE SECRET : ${PASS} " -append /tmp/${ts}_PASS.png brother_ql_create --model QL-700 /tmp/${ts}_PASS.png --label-size 62 > /tmp/${ts}_PASS.bin brother_ql_print /tmp/${ts}_PASS.bin /dev/usb/lp0 + rm /tmp/${ts}_PASS.bin /tmp/${ts}_PASS.png fi diff --git a/sms_received.sh b/sms_received.sh index 37df74a..8c0b5ab 100755 --- a/sms_received.sh +++ b/sms_received.sh @@ -67,18 +67,6 @@ echo "TEXT: $TEXT" ######################################################################## CMD=$(echo "$TEXT" | awk '{print toupper($1)}') -## ADMIN (OR HIGH STARS GCHANGE... soon) CAN SEND MESSAGE TO GUILDES -if [[ "$phone" == "$SMSADMIN" ]]; then - echo "ADMIN ($phone) message pour tous ceux de la guilde: $CMD" - - - - echo "#!/bin/bash -sudo gammu sendsms TEXT \"$phone\" -text \"Utilisez https://gchange.fr quittez la monnaie des Banques et échangez gratuitement en JUNE : https://monnaie-libre.fr \"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - - -fi - ######################################################################## # SWITCH CASE DEPENDING ON SMS TEXT FIRST WORD ########################################################################