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 ##*/ } "
echo " EXECUTE $ME ( $1 =phone, $2 =uid) "
phone = " $1 "
groupe = " $2 "
avis = " $( cat /tmp/${ phone } _message) "
########################################################################
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
echo " ${ phone } ; ${ groupe } ; ${ avis } " >> /home/${ YOU } /.zen/SMS/received.log
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
echo " $phone already registered in $htest "
2021-06-21 18:43:23 +02:00
xzuid = $( cat " /home/ ${ YOU } /.zen/SMS/PHONE/ ${ phonehash } /xzuid " )
2021-06-21 18:24:58 +02:00
fi
2021-06-21 18:43:23 +02:00
mkdir -p /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /
2021-06-21 18:24:58 +02:00
if [ [ ! $xzuid ] ] ; then
########################################################################
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 } " ] ]
do
xzuid = $( $MY_PATH /diceware.sh 1 | xargs) ${ RANDOM : 0 : 5 }
done
2021-06-21 18:43:23 +02:00
echo " $xzuid " > /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /xzuid
2021-06-21 18:24:58 +02:00
echo " => $xzuid + NOUVEAU + "
########################################################################
echo " ## $xzuid / $phone => NEW DUNIKEY & QRCODE "
########################################################################
########################################################################
echo "## MAKE /tmp/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)
########################################################################
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
########################################################################
echo "GETTING AVATAR"
########################################################################
2021-06-21 18:43:23 +02:00
curl -s https://thispersondoesnotexist.com/image -o /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /avatar.jpg
2021-06-21 18:24:58 +02:00
########################################################################
echo "CREATING GCHANGE+ PROFILE"
########################################################################
2021-06-21 18:43:23 +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-06-21 18:24:58 +02:00
########################################################################
echo "CREATING CESIUM+ PROFILE"
########################################################################
2021-06-21 18:43:23 +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-06-21 18:24:58 +02:00
if [ [ -f /var/www/nextcloud/occ ] ] ; then
########################################################################
2021-06-21 19:26:04 +02:00
echo " ## REGISTER Nextcloud : ${ xzuid } / ${ phone } "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 19:26:04 +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=\"saubole\" --display-name=\" ${ xzuid } \" ${ xzuid } "
2021-06-21 18:24:58 +02:00
fi
########################################################################
echo "## MAKING QRCODE"
########################################################################
2021-06-21 18:43:23 +02:00
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 "
########################################################################
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-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-06-21 18:43:23 +02:00
echo " ## GESTION MESSAGE VERS ${ groupe } "
2021-06-21 18:24:58 +02:00
########################################################################
2021-06-21 18:43:23 +02:00
if [ [ ! -d /home/${ YOU } /.zen/SMS/SAUBOLE/${ groupe } ] ] ;
2021-06-21 18:24:58 +02:00
then
2021-06-21 18:43:23 +02:00
mkdir -p /home/${ YOU } /.zen/SMS/SAUBOLE/${ groupe }
2021-06-21 18:24:58 +02:00
gammu-smsd-inject TEXT " $phone " -text " Enregistrement ${ groupe } "
fi
## WRITE AVIS FOR GROUPE
2021-06-21 18:43:23 +02:00
echo " ${ phone } ; ${ avis } " >> /home/${ YOU } /.zen/SMS/SAUBOLE/${ groupe } /AVIS
2021-06-21 19:18:43 +02:00
[ [ ! $? = = 0 ] ] && echo "FAILED" && exit 1
2021-06-21 19:26:56 +02:00
gammu-smsd-inject TEXT " $phone " -text " Votre message à destination de $groupe est enregistré. MERCI. "
2021-06-21 18:24:58 +02:00
exit 0