This commit is contained in:
qo-op 2021-06-08 16:16:09 +02:00
parent 49333f669d
commit e89a280564
6 changed files with 7909 additions and 3 deletions

View File

@ -1,7 +1,9 @@
#!/bin/bash
cd /tmp; rm -f index.html; rm -f /tmp/buffer
wget https://www.bio-dynamie.org/jardinage/demarrer/
## eFile is older than "nn min ago"
if [[ $(date +%s -r /tmp/index.html) -lt $(date +%s --date="1440 min ago") ]]; then
cd /tmp; rm -f index.html; rm -f /tmp/buffer
wget https://www.bio-dynamie.org/jardinage/demarrer/
fi
## EXTRACT SEMAINES
# Semaine du 26 avril au 2 mai 2021
SEM1=$(cat /tmp/index.html | awk '/Semaine/{s=x}{s=s$0"\n"}/Semaine/{print s}' | html2text -utf8 | head -n 1)

15
sms/AIDE.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
echo "EXECUTE AIDE.sh ($1=phone)"
PHONE="$1"
MESS="[Aide]
A VENIR...
"
# Send response SMS
gammu-smsd-inject TEXT "$PHONE" -text "$MESS"
exit 0

34
sms/NEW.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
echo "EXECUTE NEW.sh ($1=phone, $2=uid)"
PHONE="$1"
EXTRA="$2"
## CREATE UNIQUE XZUID
XZUID=$(./diceware.sh 1 | xargs)${RANDOM:0:2}$(./diceware.sh 1 | xargs)
while [[ -d ~/.zen/sms/$XZUID ]]
do
XZUID=$(./diceware.sh 1 | xargs)${RANDOM:0:2}$(./diceware.sh 1 | xargs)
done
mkdir -p ~/.zen/sms/$XZUID
echo $XZUID
exit
## CREATE NEXTCLOUD PROFILE
sudo su -s /bin/sh www-data -c "export OC_PASS=\"$PHONE\" && php /var/www/nextcloud/occ user:add --password-from-env --group=\"astroport\" --display-name=\"$XZUID\" $XZUID"
## REPONSE SMS
MESS="[OASIS]
$XZUID
"
# Send response SMS
gammu-smsd-inject TEXT "$PHONE" -text "$MESS"
exit

7776
sms/diceware-wordlist.txt Normal file

File diff suppressed because it is too large Load Diff

20
sms/diceware.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Download the wordlist
# wget -nc -O ~/.diceware-wordlist http://world.std.com/%7Ereinhold/diceware.wordlist.asc 2> /dev/null
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
MOTS=$(echo "$1" | grep -E "^\-?[0-9]+$")
# Default to 6 words passphrase
if [[ "$MOTS" == "" ]]; then MOTS=6; fi
WORDCOUNT=${1-$MOTS}
# print a list of the diceware words
cat ${MY_PATH}/diceware-wordlist.txt |
awk '/[1-6][1-6][1-6][1-6][1-6]/{ print $2 }' |
# randomize the list order
shuf --random-source=/dev/urandom |
# pick the first n words
head -n ${WORDCOUNT} |
# pretty print
tr '\n' ' '
echo

59
sms_received.sh Executable file
View File

@ -0,0 +1,59 @@
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: GPL (http://www.google.com/search?q=GPL)
########################################################################
prefix="+33"
########################################################################
# GET SMSADMIN PHONE NUMBER FROM ~/.zen/SMSADMIN FILE
########################################################################
[[ ! -f ~/.zen/SMSADMIN ]] && echo "EXIT. Indiquez votre numéro de mobile dans ~/.zen/SMSADMIN" && mkdir -p ~/.zen && touch ~/.zen/SMSADMIN && exit 1
SMSADMIN="$(cat ~/.zen/SMSADMIN)" ## FRENCH NUMBER
smsadmin=0${SMSADMIN#"$prefix"} ## 06
########################################################################
# GET INCOMING SMS CONTENT
########################################################################
[[ "${#PHONE}" < 12 ]] && echo "PHONE LENGTH < 12. EXIT" && exit
########################################################################
PHONE="$SMS_1_NUMBER" ## FRENCH NUMBER
phone=0${PHONE#"$prefix"} ## 06
TEXT="$SMS_1_TEXT"
########################################################################
## LOG
########################################################################
echo "#################################################################"
echo "SMS received : $(date)"
echo "PHONE: $PHONE"
echo "TEXT: $TEXT"
########################################################################
########################################################################
# SWITCH CASE
########################################################################
CMD=$(echo "$TEXT" | awk '{print toupper($1)}')
echo "COMMAND = $CMD"
# Handle commands
case "$CMD" in
A|AIDE)
## ASK FOR HELP
./sms/AIDE.sh "$phone" &
;;
O|OPEN|OASIS)
## CREATE ACCOUNT
EXTRA=$(echo "$TEXT" | awk '{print $2}' | grep -E "([A-Za-z0-9\-\_]+$)")
./sms/NEW.sh "$phone" "$EXTRA" &
;;
*)
echo "EXIT. COMMANDE INCONNUE : $CMD" && exit 1
;;
esac
[[ "$phone" != "$smsadmin" ]] && gammu-smsd-inject TEXT "$smsadmin" -text "$phone : $TEXT"
exit 0