2021-06-08 16:16:09 +02:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: GPL (http://www.google.com/search?q=GPL)
########################################################################
2021-06-11 02:26:49 +02:00
## PUT YOUR PHONE COUNTRY CODE PREFIX HERE
prefix = "+33"
########################################################################
2021-06-09 16:34:48 +02:00
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
2021-06-11 02:26:49 +02:00
########################################################################
2021-07-05 00:02:59 +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"
[ [ ! -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-08 16:16:09 +02:00
########################################################################
2021-06-11 02:26:49 +02:00
# GET smsadmin PHONE NUMBER FROM ~/.zen/SMSADMIN FILE
2021-06-08 16:16:09 +02:00
########################################################################
2021-07-05 00:02:59 +02:00
[ [ ! -f /home/${ YOU } /.zen/SMSADMIN ] ] && echo " EXIT. Indiquez votre numéro de mobile dans /home/ ${ YOU } /.zen/SMSADMIN " && exit 1
SMSADMIN = " $( cat /home/${ YOU } /.zen/SMSADMIN) " ## FRENCH NUMBER
2021-06-11 02:26:49 +02:00
[ [ ${ SMSADMIN # " $prefix " } != " ${ SMSADMIN } " ] ] && smsadmin = 0${ SMSADMIN # " $prefix " } || smsadmin = " ${ SMSADMIN } " ## 06
2021-06-08 16:16:09 +02:00
2021-07-02 03:53:54 +02:00
########################################################################
## CHECK MADEINZION INTERNET SERVICES CONNEXION
ping -q -w 1 -c 1 data.gchange.fr 2>& 1>/dev/null && echo "GCHANGE+ OK" && GCHANGE = 1 || GCHANGE = 0
ping -q -w 1 -c 1 g1.data.e-is.pro 2>& 1>/dev/null && echo "CESIUM+ OK" && CESIUM = 1 || CESIUM = 0
ping -q -w 1 -c 1 oasis.astroport.com 2>& 1>/dev/null && echo "OASIS OK" && OASIS = 1 || OASIS = 0
ping -q -w 1 -c 1 taurus.copylaradio.com 2>& 1>/dev/null && echo "TAURUS OK" && TAURUS = 1 || TAURUS = 0
########################################################################
2021-06-08 16:16:09 +02:00
########################################################################
# GET INCOMING SMS CONTENT
########################################################################
########################################################################
2021-06-11 02:26:49 +02:00
PHONE = " $SMS_1_NUMBER " # gammu-smsd
2021-06-21 18:24:58 +02:00
[ [ ! ${ PHONE } ] ] && PHONE = " $1 " # CLI MODE
2021-07-05 00:02:59 +02:00
[ [ " ${# PHONE } " < 10 || " ${# PHONE } " > 12 ] ] && echo " PHONE ${ PHONE } NON RECONNU. EXIT " && exit 1
2021-06-21 18:24:58 +02:00
## Remove prefix: phone contains local number
[ [ ${ PHONE # " $prefix " } != " ${ PHONE } " ] ] && phone = 0${ PHONE # " $prefix " } || phone = " ${ PHONE } "
2021-06-08 16:16:09 +02:00
2021-06-11 02:26:49 +02:00
TEXT = " $SMS_1_TEXT " # gammu-smsd
2021-06-21 18:24:58 +02:00
[ [ ! ${ TEXT } ] ] && TEXT = " $2 " # CLI MODE
2021-07-02 03:53:54 +02:00
[ [ " ${ TEXT } " = = "" ] ] && echo "SMS IS EMPTY - EXIT -" && exit 1
########################################################################
2021-07-08 22:15:12 +02:00
# INTERNET CONNEXION NOT OK : MAKE REPLAY SCRIPT
2021-07-02 03:53:54 +02:00
########################################################################
if [ [ $GCHANGE = = 0 ] ] ; then
echo "GCHANGE UNREACHABLE => CREATING timestamp.replay.sh - EXIT -"
echo " #!/bin/bash
2021-07-08 22:15:12 +02:00
sudo $MY_PATH /sms_received.sh \" ${ PHONE } \" \" ${ TEXT } \" " > /home/ ${ YOU } /.zen/SMS/ $( date -u +%s%N | cut -b1-13) .replay.sh
2021-07-08 00:55:55 +02:00
chmod +x /home/${ YOU } /.zen/SMS/*.replay.sh
2021-07-02 03:53:54 +02:00
exit 1
fi
########################################################################
# INTERNET CONNEXION NOT OK
########################################################################
2021-06-08 16:16:09 +02:00
########################################################################
## LOG
########################################################################
echo "#################################################################"
echo " SMS received : $( date) "
echo " PHONE: $PHONE "
echo " TEXT: $TEXT "
########################################################################
2021-07-06 18:42:44 +02:00
CMD = $( echo " $TEXT " | awk '{print toupper($1)}' )
2021-07-08 06:44:43 +02:00
## LOG
echo " ${ phone } ; ${ TEXT } " >> /home/${ YOU } /.zen/SMS/received.log
2021-06-08 16:16:09 +02:00
########################################################################
2021-07-02 03:53:54 +02:00
# SWITCH CASE DEPENDING ON SMS TEXT FIRST WORD
2021-06-08 16:16:09 +02:00
########################################################################
echo " COMMAND = $CMD "
2021-07-08 06:31:26 +02:00
[ [ ! $CMD ] ] && exit 1
2021-06-08 16:16:09 +02:00
# Handle commands
case " $CMD " in
2021-07-02 05:28:10 +02:00
AIDE)
2021-06-08 16:16:09 +02:00
## ASK FOR HELP
2021-06-09 16:34:48 +02:00
$MY_PATH /sms/AIDE.sh " $phone " &
2021-06-08 16:16:09 +02:00
; ;
2021-06-30 21:22:33 +02:00
2021-07-02 05:28:10 +02:00
STOP)
## STOP RELATION WITH CMD GUILDE GROUP
2021-07-05 00:02:59 +02:00
GUILDE = $( echo " $TEXT " | awk '{print toupper($2)}' )
$MY_PATH /sms/ERASE.sh " $phone " " $GUILDE " &
2021-07-02 05:28:10 +02:00
; ;
2021-06-21 18:24:58 +02:00
*)
2021-06-21 19:18:43 +02:00
echo " MESSAGE DE $phone POUR $CMD "
2021-06-21 19:13:34 +02:00
MESSAGE = $( echo " $TEXT " | cut -d ' ' -f 2-)
2021-06-21 18:43:23 +02:00
if [ [ ${ MESSAGE } ] ] ; then
2021-06-21 18:24:58 +02:00
echo " ${ MESSAGE } " > /tmp/${ phone } _message
echo " ${ MESSAGE } "
fi
## OK CMD=GROUPE suivi de message
2021-07-08 06:29:37 +02:00
[ [ ${ phone } != $SMSADMIN ] ] && [ [ ! -d /home/${ YOU } /.zen/SMS/GUILDES/${ CMD } ] ] && echo " AUCUNE GUILDE ${ CMD } - EXIT - " && exit 0
2021-07-05 00:02:59 +02:00
$MY_PATH /sms/GUILDE.sh " $phone " " $CMD " > /home/${ YOU } /.zen/SMS/debug.log
2021-07-08 06:39:56 +02:00
cat /home/${ YOU } /.zen/SMS/debug.log
2021-06-08 16:16:09 +02:00
; ;
esac
2021-07-09 14:08:24 +02:00
## FILESYSTEM RIGHTS CORRECTION
chown -R ${ YOU } :${ YOU } /home/${ YOU } /.zen/SMS
## ADMIN MONITORING
2021-06-09 16:45:02 +02:00
## SEND A COPY OF INCOMING MESSAGE TO SMSADMIN
2021-07-08 07:13:17 +02:00
if [ [ " $phone " != " $SMSADMIN " ] ] ; then
adminhash = $( echo $SMSADMIN | sha256sum | cut -d ' ' -f1)
2021-07-08 22:15:12 +02:00
phonehash = $( echo $phone | sha256sum | cut -d ' ' -f1)
ID = $( cat /home/${ YOU } /.zen/SMS/PHONE/${ phonehash } /xzuid.txt 2>/dev/null)
2021-07-08 07:13:17 +02:00
echo " #!/bin/bash
2021-07-09 14:08:24 +02:00
sudo gammu sendsms TEXT \" _PHONE_\" -text \" >> $phone | $ID $TEXT \" " > /home/ ${ YOU } /.zen/SMS/PHONE/ ${ adminhash } / $( date -u +%s%N | cut -b1-13) .tosend.sh
2021-07-08 07:13:17 +02:00
chmod +x /home/${ YOU } /.zen/SMS/PHONE/${ adminhash } /*.tosend.sh
2021-07-08 22:15:12 +02:00
2021-07-09 14:08:24 +02:00
## ADD TO GUILDE GUIDE ROOTING
# /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/$(SCORE)_${phone}_guide.txt
IsThereAGuide = $( ls /home/${ YOU } /.zen/SMS/GUILDES/${ CMD } /INPUT/*_guide.txt | head -n 1 2>/dev/null)
[ [ $IsThereAGuide ] ] && guidephone = $( echo $IsThereAGuide | cut -d '/' -f 9 | cut -f '_' -f 2) || echo "NO GUIDE" && exit 0
guidescore = $( echo $IsThereAGuide | cut -d '/' -f 9 | cut -f '_' -f 1)
guidephonehash = $( echo $guidephone | sha256sum | cut -d ' ' -f1)
echo " #!/bin/bash
sudo gammu sendsms TEXT \" _PHONE_\" -text \" >> $phone | $ID $TEXT \" " > /home/ ${ YOU } /.zen/SMS/PHONE/ ${ guidephonehash } / $( date -u +%s%N | cut -b1-13) .tosend.sh
chmod +x /home/${ YOU } /.zen/SMS/PHONE/${ guidephonehash } /*.tosend.sh
2021-07-08 22:15:12 +02:00
2021-07-08 07:13:17 +02:00
fi
2021-06-08 16:16:09 +02:00
exit 0