2021-06-21 18:24:58 +02:00
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
ME = " ${ 0 ##*/ } "
2021-07-02 03:54:33 +02:00
echo " EXECUTE $ME ( $1 =phone, $2 =groupe) "
2021-06-21 18:24:58 +02:00
phone = " $1 "
groupe = " $2 "
2021-07-02 03:54:33 +02:00
message = " $( cat /tmp/${ phone } _message) "
2021-06-21 18:24:58 +02:00
########################################################################
echo "## GET STATION G1PUB"
########################################################################
2021-06-21 19:20:19 +02:00
YOU = $( ps auxf --sort= +utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || er += " ipfs daemon not running"
2021-06-21 18:24:58 +02:00
[ [ ! -f /home/${ YOU } /.zen/secret.dunikey ] ] && echo " Crypto is missing... please provide /home/ ${ YOU } /.zen/secret.dunikey by installing 'astrXbian' TestNet " && exit 1
G1PUB = $( cat /home/${ YOU } /.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
2021-06-21 19:30:41 +02:00
## LOG
2021-07-02 03:54:33 +02:00
echo " ${ phone } ; ${ groupe } ; ${ message } " >> /home/${ YOU } /.zen/SMS/received.log
2021-06-21 19:30:41 +02:00
2021-06-21 18:24:58 +02:00
########################################################################
echo " ## sha256sum( $phone ) "
########################################################################
2021-06-21 18:43:23 +02:00
phonehash = $( echo $phone | sha256sum | cut -d ' ' -f1)
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 18:43:23 +02:00
echo " => ${ phonehash } "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 18:43:23 +02:00
htest = $( ls /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } 2>dev/null)
2021-06-21 18:24:58 +02:00
if [ [ $htest ] ] ; then
2021-07-02 03:54:33 +02:00
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 } /
2021-06-21 18:24:58 +02:00
fi
if [ [ ! $xzuid ] ] ; then
2021-07-02 03:54:33 +02:00
NEW = 1
2021-06-21 18:24:58 +02:00
########################################################################
echo "## GESTION IDENTITES: G1 + NEXTCLOUD + QRCODE"
########################################################################
## MAKE UNIQ xzuid
xzuid = $( $MY_PATH /diceware.sh 1 | xargs) ${ RANDOM : 0 : 5 }
2021-07-02 03:54:33 +02:00
while [ [ " $( cat /home/${ YOU } /.zen/SMS/PHONE/*/xzuid.txt) " = = " ${ xzuid } " ] ]
2021-06-21 18:24:58 +02:00
do
xzuid = $( $MY_PATH /diceware.sh 1 | xargs) ${ RANDOM : 0 : 5 }
done
2021-07-02 03:54:33 +02:00
echo " $xzuid " > /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /xzuid.txt
2021-06-21 18:24:58 +02:00
echo " => $xzuid + NOUVEAU + "
2021-07-02 03:54:33 +02:00
2021-06-21 18:24:58 +02:00
########################################################################
echo " ## $xzuid / $phone => NEW DUNIKEY & QRCODE "
########################################################################
2021-07-02 03:54:33 +02:00
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
2021-06-21 18:24:58 +02:00
########################################################################
2021-07-02 03:54:33 +02:00
echo "## MAKE secret.dunikey"
2021-06-21 18:24:58 +02:00
########################################################################
$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)
2021-07-02 03:54:33 +02:00
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 "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 18:43:23 +02:00
echo " ## SAVING /home/ ${ YOU } /.zen/SMS/PHONE/ ${ phonehash } /secret.dunikey.encrypt "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 18:43:23 +02:00
$MY_PATH /natools.py encrypt -p $G1PUB -i /tmp/secret.dunikey -o /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /secret.dunikey.encrypt
2021-06-21 18:24:58 +02:00
[ [ ! $? = = 0 ] ] && echo "FAILED" && exit 1
########################################################################
2021-07-02 03:54:33 +02:00
echo "CREATING FAKE AVATAR"
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-22 05:37:25 +02:00
$MY_PATH /timeout.sh -t 10 curl -s https://thispersondoesnotexist.com/image -o /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /avatar.jpg
2021-07-02 03:54:33 +02:00
[ [ $? = = 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
2021-06-22 05:37:25 +02:00
if [ [ -f /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /avatar.jpg ] ] ; then
########################################################################
2021-07-02 03:54:33 +02:00
echo "GCHANGE+ PROFILE"
2021-06-22 05:37:25 +02:00
########################################################################
$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+
2021-07-02 03:54:33 +02:00
[ [ $? = = 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
2021-06-22 05:37:25 +02:00
########################################################################
2021-07-02 03:54:33 +02:00
echo "CESIUM+ PROFILE"
2021-06-22 05:37:25 +02:00
########################################################################
$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+
2021-07-02 03:54:33 +02:00
[ [ $? = = 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
2021-06-22 05:37:25 +02:00
fi
2021-06-21 18:24:58 +02:00
if [ [ -f /var/www/nextcloud/occ ] ] ; then
########################################################################
2021-07-02 03:54:33 +02:00
echo " ## NEXTCLOUD : ${ xzuid } / ${ phone } "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-23 01:58:18 +02:00
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 } "
2021-07-02 03:54:33 +02:00
[ [ $? = = 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
2021-06-21 18:43:23 +02:00
2021-07-02 03:54:33 +02:00
fi
2021-06-21 18:43:23 +02:00
########################################################################
echo " ## Encrypt ${ phone } into /home/ ${ YOU } /.zen/SMS/PHONE/ ${ phonehash } /passwd.encrypt "
########################################################################
2021-06-21 19:18:43 +02:00
echo ${ phone } > /tmp/${ phone } _phone
2021-06-21 18:43:23 +02:00
$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
2021-07-02 03:54:33 +02:00
########################################################################
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
2021-06-21 18:24:58 +02:00
else
2021-06-21 18:43:23 +02:00
echo " => $xzuid OK "
2021-06-21 18:24:58 +02:00
fi
########################################################################
2021-07-02 03:54:33 +02:00
echo " ## GESTION RELATION PHONE / GUILDE : ${ phone } / ${ groupe } "
2021-06-21 18:24:58 +02:00
########################################################################
2021-07-02 03:54:33 +02:00
## Ajout du SMS de PHONE à la GUILDE
2021-06-23 01:58:18 +02:00
mkdir -p /home/${ YOU } /.zen/SMS/GUILDES/${ groupe } /INPUT/
2021-07-02 03:54:33 +02:00
[ [ ! -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 }
2021-06-22 04:52:10 +02:00
2021-06-22 05:37:25 +02:00
########################################################################
2021-06-23 01:58:18 +02:00
## BUG: gammu-smsd HACK (must be stop to send response sms)
## Création de script d'envoi de SMS après gammu-smsd stop
2021-06-22 05:37:25 +02:00
########################################################################
2021-07-02 03:54:33 +02:00
chmod 775 /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /*.tosend.sh
2021-06-22 04:52:10 +02:00
2021-06-22 05:37:25 +02:00
########################################################################
2021-07-02 03:54:33 +02:00
## TAURUS LIVE DEMO PRINT ID + MESSAGE
2021-06-22 05:37:25 +02:00
# 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 -
2021-06-30 21:22:33 +02:00
## IMAGE MAGICK https://legacy.imagemagick.org/Usage/layers/#append
2021-06-22 05:37:25 +02:00
########################################################################
if [ [ -e /dev/usb/lp0 ] ] ; then
2021-07-02 03:54:33 +02:00
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
# 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
2021-06-22 05:37:25 +02:00
fi
2021-06-22 04:52:10 +02:00
2021-06-21 18:24:58 +02:00
exit 0