scenario SMS accueil guilde

This commit is contained in:
qo-op 2021-07-02 03:54:33 +02:00
parent 2b4038dc67
commit f1a9268024
1 changed files with 82 additions and 39 deletions

View File

@ -8,11 +8,11 @@ MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
echo "EXECUTE $ME ($1=phone, $2=uid)"
echo "EXECUTE $ME ($1=phone, $2=groupe)"
phone="$1"
groupe="$2"
avis="$(cat /tmp/${phone}_message)"
message="$(cat /tmp/${phone}_message)"
########################################################################
echo "## GET STATION G1PUB"
@ -22,7 +22,7 @@ YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail
G1PUB=$(cat /home/${YOU}/.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
## LOG
echo "${phone};${groupe};${avis}" >> /home/${YOU}/.zen/SMS/received.log
echo "${phone};${groupe};${message}" >> /home/${YOU}/.zen/SMS/received.log
########################################################################
echo "## sha256sum($phone)"
@ -34,38 +34,63 @@ echo "=> ${phonehash}"
htest=$(ls /home/${YOU}/.zen/SMS/PHONE/${phonehash} 2>dev/null)
if [[ $htest ]]; then
xzuid=$(cat "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid")
echo "$phone already registered it is $xzuid"
NEW=0
xzuid=$(cat "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt")
echo "OK $phone already registered it is $xzuid"
else
mkdir -p /home/${YOU}/.zen/SMS/PHONE/${phonehash}/
fi
mkdir -p /home/${YOU}/.zen/SMS/PHONE/${phonehash}/
if [[ ! $xzuid ]]; then
NEW=1
########################################################################
echo "## GESTION IDENTITES: G1 + NEXTCLOUD + QRCODE"
########################################################################
## MAKE UNIQ xzuid
xzuid=$($MY_PATH/diceware.sh 1 | xargs)${RANDOM:0:5}
while [[ "$(cat /home/${YOU}/.zen/SMS/PHONE/*/xzuid)" == "${xzuid}" ]]
while [[ "$(cat /home/${YOU}/.zen/SMS/PHONE/*/xzuid.txt)" == "${xzuid}" ]]
do
xzuid=$($MY_PATH/diceware.sh 1 | xargs)${RANDOM:0:5}
done
echo "$xzuid" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid
echo "$xzuid" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt
echo "=> $xzuid + NOUVEAU +"
########################################################################
echo "## $xzuid / $phone => NEW DUNIKEY & QRCODE"
########################################################################
echo "#!/bin/bash
sudo gammu sendsms TEXT \"$phone\" -text \"Bienvenue dans le JEu 'Made In Zion / Astroport' - $xzuid est votre Identité Interplanétaire, heureux de vous compter parmi nous \"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh
########################################################################
echo "## MAKE /tmp/secret.dunikey"
echo "## MAKE secret.dunikey"
########################################################################
$MY_PATH/key_create_dunikey.py "$xzuid" "$phone"
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
g1pub=$(cat /tmp/secret.dunikey | grep "pub" | cut -d ' ' -f 2)
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
########################################################################
echo "## QRCODES"
########################################################################
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 "$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 "## SAVING /home/${YOU}/.zen/SMS/PHONE/${phonehash}/secret.dunikey.encrypt"
########################################################################
@ -73,40 +98,51 @@ if [[ ! $xzuid ]]; then
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
########################################################################
echo "GETTING AVATAR"
echo "CREATING FAKE AVATAR"
########################################################################
$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 \"Notre Intelligence Artificielle Amie vient de créer la photo de profil anonyme de votre avatar ${xzuid}\"" > /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 "CREATING GCHANGE+ PROFILE"
echo "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 \"Avec 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
########################################################################
echo "CREATING CESIUM+ PROFILE"
echo "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 \"Recevez vos primes de missions sur votre 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 "## REGISTER Nextcloud : ${xzuid} / ${phone} "
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=\"${groupe}\" --display-name=\"${xzuid}\" ${xzuid}"
[[ $? == 0 ]] && echo "#!/bin/bash
sudo gammu sendsms TEXT \"$phone\" -text \"Fuyez les GAFAM! Synchronisez votre smartphone sur NEXTCloud chez un ami 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
fi
########################################################################
echo "## MAKING QRCODE"
########################################################################
qrencode -s 6 -o "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/qrcode.png" "$g1pub"
########################################################################
echo "## Encrypt ${phone} into /home/${YOU}/.zen/SMS/PHONE/${phonehash}/passwd.encrypt"
########################################################################
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
########################################################################
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
else
@ -115,43 +151,50 @@ else
fi
########################################################################
echo "## GESTION MESSAGE PHONE VERS GUILDE : ${groupe}"
echo "## GESTION RELATION PHONE / GUILDE : ${phone} / ${groupe}"
########################################################################
## Ajout du SMS de PHONE à la GUILDE
mkdir -p /home/${YOU}/.zen/SMS/GUILDES/${groupe}/INPUT/
## Ajout à la liste "avis" de PHONE à la GUILDE
echo "${avis}" >> /home/${YOU}/.zen/SMS/GUILDES/${groupe}/INPUT/${phone}
## Ajout à la liste "guildes" de PHONE
echo "${groupe}" >> /home/${YOU}/.zen/SMS/PHONE/${phonehash}/guildes
[[ ! -f /home/${YOU}/.zen/SMS/GUILDES/${groupe}/INPUT/${phone} ]] && echo "#!/bin/bash
sudo gammu sendsms TEXT \"$phone\" -text \"$xzuid vous êtes inscrit dans le groupe ${groupe}\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/0000000000000.tosend.sh
echo "${message}" >> /home/${YOU}/.zen/SMS/GUILDES/${groupe}/INPUT/${phone}
## LIEN vers GUILDES/${groupe} dans PHONE/${phonehash}/GUILDES/
mkdir -p /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/
ln -s /home/${YOU}/.zen/SMS/GUILDES/${groupe} /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${groupe}
## LIEN vers PHONE/${phonehash} dans GUILDES/${groupe}/MEMBERS/
mkdir -p mkdir -p /home/${YOU}/.zen/SMS/GUILDES/${groupe}/MEMBERS/
ln -s /home/${YOU}/.zen/SMS/PHONE/${phonehash} /home/${YOU}/.zen/SMS/GUILDES/${groupe}/MEMBERS/${phone}
########################################################################
## BUG: gammu-smsd HACK (must be stop to send response sms)
## Création de script d'envoi de SMS après gammu-smsd stop
########################################################################
ts=$(date -u +%s%N | cut -b1-13)
echo "#!/bin/bash
sudo gammu sendsms TEXT \"$phone\" -text \"Message pour ${groupe} bien reçu.\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/${ts}.tosend.sh
chmod 775 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/${ts}.tosend.sh
chmod 775 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/*.tosend.sh
########################################################################
## PRINT ID + MESSAGE
## TAURUS LIVE DEMO PRINT ID + MESSAGE
# 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 ]]; then
convert -background White label:"$xzuid ${phone}" -append /tmp/${ts}_message.png
brother_ql_create --model QL-700 /tmp/${ts}_message.png --label-size 62 > /tmp/${ts}_message.bin
brother_ql_print /tmp/${ts}_qrcode.bin /dev/usb/lp0
ts=$(date -u +%s%N | cut -b1-13)
# 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
brother_ql_create --model QL-700 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/qrcode.png --label-size 62 > /tmp/${ts}_qrcode.bin
brother_ql_print /tmp/${ts}_qrcode.bin /dev/usb/lp0
# 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
# 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
## TODO RESIZE IMAGE
sms=$(echo "${groupe} ${avis}" | cut -b160- | fold -w 40 )
convert -background White label:"$sms" -append /tmp/${ts}_message.png
brother_ql_create --model QL-700 /tmp/${ts}_message.png --label-size 62 > /tmp/${ts}_message.bin
brother_ql_print /tmp/${ts}_message.bin /dev/usb/lp0
fi
exit 0