bio-dynamie/sms/ERASE.sh

113 lines
5.7 KiB
Bash
Executable File

#!/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
cd $MY_PATH
echo "Reçu sms : STOP GUILDE (phone=$1 guilde=$2) - désinscription -"
phone="$1"
guilde="$2"
########################################################################
echo "## GET STATION G1PUB"
########################################################################
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"
[[ ! -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)
########################################################################
## TEST PHONE
########################################################################
phonehash=$(echo $phone | sha256sum | cut -d ' ' -f1)
if [[ -d /home/${YOU}/.zen/SMS/PHONE/${phonehash} ]]; then
NEW=0
xzuid=$(cat "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt" 2>/dev/null)
[[ ! $xzuid ]] && xzuid=$(cat "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid")
echo "OK $phone est inscrit sous le pseudo $xzuid"
else
echo "$phone inconnu - EXIT -"
exit 1
fi
echo "## BACKUP ${xzuid}_${phone}.dunikey"
mkdir -p /home/${YOU}/.zen/SMS/ERASE/${guilde}
$MY_PATH/natools.py decrypt -f pubsec -k "/home/${YOU}/.zen/secret.dunikey" -i "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/secret.dunikey.encrypt" -o "/home/${YOU}/.zen/SMS/ERASE/${xzuid}_${phone}.dunikey"
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
########################################################################
### STOP MIZ GUILDE = TOTAL ERASE
########################################################################
if [[ "${guilde}" == "MIZ" ]]; then
if [[ -f /var/www/nextcloud/occ ]]; then
echo "## DELETE NEXTCLOUD : $xzuid"
sudo su -s /bin/sh www-data -c "export OC_PASS=\"$phone\" && php /var/www/nextcloud/occ user:delete $xzuid"
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/NEXTCLOUD
rm -f /home/${YOU}/.zen/SMS/GUILDES/NEXTCLOUD/MEMBERS/${phone}
rm -Rf /var/www/nextcloud/data/${xzuid}/
fi
echo "## DELETE GCHANGE : $xzuid"
$MY_PATH/jaklis/jaklis.py -k /home/${YOU}/.zen/SMS/ERASE/${xzuid}_${phone}.dunikey -n "https://data.gchange.fr" erase
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/GCHANGE
rm -f /home/${YOU}/.zen/SMS/GUILDES/GCHANGE/MEMBERS/${phone}
echo "## DELETE CESIUM : $xzuid"
$MY_PATH/jaklis/jaklis.py -k /home/${YOU}/.zen/SMS/ERASE/${xzuid}_${phone}.dunikey -n "https://g1.data.e-is.pro" erase
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/CESIUM
rm -f /home/${YOU}/.zen/SMS/GUILDES/CESIUM/MEMBERS/${phone}
fi
########################################################################
########################################################################
if [[ "${guilde}" == "NEXTCLOUD" ]]; then
if [[ -f /var/www/nextcloud/occ ]]; then
sudo su -s /bin/sh www-data -c "export OC_PASS=\"$phone\" && php /var/www/nextcloud/occ user:delete $xzuid"
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/NEXTCLOUD
rm -f /home/${YOU}/.zen/SMS/GUILDES/NEXTCLOUD/MEMBERS/${phone}
rm -Rf /var/www/nextcloud/data/${xzuid}/
fi
fi
########################################################################
########################################################################
if [[ "${guilde}" == "GCHANGE" ]]; then
$MY_PATH/jaklis/jaklis.py -k /home/${YOU}/.zen/SMS/ERASE/${xzuid}_${phone}.dunikey -n "https://data.gchange.fr" erase
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/GCHANGE
rm -f /home/${YOU}/.zen/SMS/GUILDES/GCHANGE/MEMBERS/${phone}
fi
########################################################################
########################################################################
if [[ "${guilde}" == "CESIUM" ]]; then
$MY_PATH/jaklis/jaklis.py -k /home/${YOU}/.zen/SMS/ERASE/${xzuid}_${phone}.dunikey -n "https://g1.data.e-is.pro" erase
[[ ! $? == 0 ]] && echo "FAILED" && exit 1
rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/CESIUM
rm -f /home/${YOU}/.zen/SMS/GUILDES/CESIUM/MEMBERS/${phone}
fi
########################################################################
########################################################################
## REMOVE RELATION PHONE / GUILDE
########################################################################
if [[ "${guilde}" != "" ]]; then
[[ -e /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${guilde} ]] && rm -f /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${guilde}
[[ -e /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/${phone} ]] && rm -f /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/${phone}
mv /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${phone} /home/${YOU}/.zen/SMS/ERASE/${guilde}/
fi
########################################################################
## EMPTY GUILDES DIRECTORY? then remove PHONE/${phonehash}
[ -z "$(ls -A /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES)" ] && rm -Rf /home/${YOU}/.zen/SMS/PHONE/${phonehash}
exit 0