bio-dynamie/sms/GUILDE.sh

123 lines
6.0 KiB
Bash
Raw Normal View History

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-22 04:27:36 +02:00
mkdir -p /home/${YOU}/.zen/SMS/SAUBOLE/${groupe}
2021-06-21 18:24:58 +02:00
## 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 18:24:58 +02:00
exit 0