diff --git a/g1sms/cron_VIR.recurrent.sh b/g1sms/cron_VIR.recurrent.sh index 6fd612e..732f8ea 100755 --- a/g1sms/cron_VIR.recurrent.sh +++ b/g1sms/cron_VIR.recurrent.sh @@ -7,8 +7,11 @@ # Effectue les payements récurrents et enlève le vérrou (DESTROY) # TAKES CARE OF DOING RECURRENT PAYEMENTS EVERY DAY FOR ITS $PHONE G1Wallets # TODO: Add SMS Alert if G1sms Wallet is low... -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "__SUB:cron_VIR.reccurent.sh: START" rm -f /tmp/VIR* @@ -75,8 +78,8 @@ for virfile in "/home/$YOU/.zen/g1sms_wallets/*/VIREMENTS.gpg"; do if [[ $nv -eq 0 ]]; then log "__SUB:cron_VIR.reccurent.sh: Plus AUCUN payement récurrent !!" sms_SEND "$phone" "Plus AUCUN payement récurrent" - rm -f "/home/$YOU/.zen/g1sms_wallets/$phone/VIREMENTS.gpg" - rm -f "/home/$YOU/.zen/g1sms_wallets/$phone/VIREMENTS" + rm -f /home/$YOU/.zen/g1sms_wallets/$phone/VIREMENTS.gpg + rm -f /home/$YOU/.zen/g1sms_wallets/$phone/VIREMENTS I=$(ipfs_node_wallets_add) else log "__SUB:cron_VIR.reccurent.sh: Encore $nv payements récurrents à réaliser pour $tot G1" diff --git a/g1sms/functions.sh b/g1sms/functions.sh index 4744169..aff330b 100755 --- a/g1sms/functions.sh +++ b/g1sms/functions.sh @@ -322,16 +322,11 @@ log "__SUB:sms_INIT_ACCOUNT: ($1=phone, $2=NOSMS)" # PUBLISH G1sms+ WALLET PROPERTIES MAIN PROCESS ################################################# ###################################################################### - log "__SUB:sms_INIT_ACCOUNT: Déchiffrage PGP PIN..." + log "__SUB:sms_INIT_ACCOUNT: RECUPERATION PARAMETRES" # GPG decypher PIN # TODO make decypher less stress on filesystem, use /tmp and ramdisk - echo "${IPFSPrivKey}" | gpg -d -q --output "$PINFILE" --yes --pinentry-mode loopback --passphrase-fd 0 "$GPGPINFILE" - PIN=$(cat "$PINFILE" | xargs) - [[ "$PIN" == "" ]] && [[ -f "${PINFILE}.crypt" ]] && /home/$YOU/.zen/astroport/zen/tools/natools.py decrypt --pubsec -k "$NODE_PUBSECFILE" -i "${PINFILE}.crypt" -o "$PINFILE" && PIN=$(cat "$PINFILE"); - [[ "$PIN" != "" ]] && echo "" > "$PINFILE" || log "SYSTEM ERROR :: PIN EMPTY !!! GPG???" - - # TODO /home/$YOU/.zen/astroport/zen/tools/natools.py encrypt -p $NODE_G1PUBKEY -i "$DUNIKEYFILE" -o "$DUNIKEYFILE.crypt" - # /home/$YOU/.zen/astroport/zen/tools/natools.py decrypt --pubsec -k "$NODE_PUBSECFILE" -i "$DUNIKEYFILE.crypt" -o "$DUNIKEYFILE" + # /home/$YOU/.zen/astroport/zen/tools/natools.py encrypt -p $NODE_G1PUBKEY -i "$DUNIKEYFILE" -o "$DUNIKEYFILE.crypt" + # /home/$YOU/.zen/astroport/zen/tools/natools.py decrypt --pubsec -k "$NODE_PUBSECFILE" -i "$DUNIKEYFILE.crypt" -o "$DUNIKEYFILE" # EMAIL [[ $SMSEMAIL == "" ]] && [[ -f "$GPGMAILFILE" ]] && echo "${IPFSPrivKey}" | gpg -d -q --output "$MAILFILE" --yes --pinentry-mode loopback --passphrase-fd 0 "$GPGMAILFILE" && SMSEMAIL=$(cat $MAILFILE) diff --git a/g1sms/sms_AIDE.sh b/g1sms/sms_AIDE.sh index eb6c776..ebd1934 100755 --- a/g1sms/sms_AIDE.sh +++ b/g1sms/sms_AIDE.sh @@ -4,8 +4,11 @@ # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "X sms_AIDE.sh ($1=phone)" sms_INIT_ACCOUNT "$1" "NOSMS" diff --git a/g1sms/sms_BILLET.sh b/g1sms/sms_BILLET.sh index 0242714..e141764 100755 --- a/g1sms/sms_BILLET.sh +++ b/g1sms/sms_BILLET.sh @@ -5,8 +5,11 @@ # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ # Create and print 6 G1Billets de nn LOVE -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "__SUB:sms_BILLET.sh: ($1=phone, $2=VALbillet)" phone="$1" @@ -162,7 +165,7 @@ Support: $ADMINPSEUDO ($ADMINPHONE) sms_SEND "$phone" "$mess" # ADMIN ALERT SMS + TODO Add ADMINEMAIL parameter in "install.sh" sms_SEND "$ADMINPHONE" "$MEMBER vient de créer $NBbillets G1Billets de $VALbillet $UNIT ($TRANSAC G1): $SMSEMAIL" - cat ./email.txt | sed s/EMAIL/support@qo-op.com/g | sed s/SUBJECT/Creation_G1Billets/g | sed s/MESSAGE/"$MEMBER ($PHONE) vient de creer $NBbillets G1Billets de $VALbillet $UNIT ($TRANSAC G1) vers $SMSEMAIL"/g | ssmtp "frenault@linkeo.com" + cat ./email.txt | sed s/EMAIL/support@qo-op.com/g | sed s/SUBJECT/Creation_G1Billets/g | sed s/MESSAGE/"$MEMBER ($PHONE) vient de creer $NBbillets G1Billets de $VALbillet $UNIT ($TRANSAC G1) vers $SMSEMAIL"/g | ssmtp "support@qo-op.com" ##################################### # Amount too High, solde insuffisant diff --git a/g1sms/sms_BILLETCHK.sh b/g1sms/sms_BILLETCHK.sh index e927fa6..9013b11 100755 --- a/g1sms/sms_BILLETCHK.sh +++ b/g1sms/sms_BILLETCHK.sh @@ -7,8 +7,11 @@ # If 4 words provided => Check if Billet exists and return BILLET AMOUNT VALUE # If 7 words provided => if Billet exists, transfer AMOUNT to PHONE & destroy BILLET # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "X sms_BILLETCHK.sh $0" PHONE="$1" diff --git a/g1sms/sms_COUNT.sh b/g1sms/sms_COUNT.sh index ec94aaf..e4d584b 100755 --- a/g1sms/sms_COUNT.sh +++ b/g1sms/sms_COUNT.sh @@ -4,8 +4,11 @@ # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "X sms_COUNT.sh ($1=phone $2=NOSMS)" PHONE=$1 TODAY=$(date '+%Y%m%d') diff --git a/g1sms/sms_EMAIL.sh b/g1sms/sms_EMAIL.sh index de81884..b4d46d6 100755 --- a/g1sms/sms_EMAIL.sh +++ b/g1sms/sms_EMAIL.sh @@ -7,9 +7,10 @@ # sudo apt install ssmtp mpack # Configure in /etc/ssmtp # Send email with file attachement: mpack -s "Logo G1Tag" /home/pi/G1sms+/G1Tag.png dest@email.ext - -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh log "__SUB:sms_EMAIL.sh.sh: START ($1=phone, $2=mail)" @@ -20,6 +21,7 @@ MAILFILE="/home/$YOU/.zen/g1sms_wallets/$phone/_email" # Contains the member EMA # Initialise PHONE, PIN, PUBKEY, UNIT ... sms_INIT_ACCOUNT "$phone" "NOSMS" + if [[ $UNKNOWN == "unknown" || "$MEMBER" == "" ]]; then sms_ERROR "$phone" "Porte-monnaie non identifié. Envoyez N suivi de votre pseudo membre (en respectant Majuscule et minuscule)." diff --git a/g1sms/sms_NEW.sh b/g1sms/sms_NEW.sh index 8299920..7b94e95 100755 --- a/g1sms/sms_NEW.sh +++ b/g1sms/sms_NEW.sh @@ -4,8 +4,11 @@ # Version: 0.1 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "${c_yellow}X sms_NEW.sh ($1=phone, $2=uid)$c_" PHONE="$1" @@ -13,8 +16,8 @@ MEMBERUID="$2" # Initialise PHONE, PIN, PUBKEY, UNIT sms_INIT_ACCOUNT "$PHONE" + if [[ "$MEMBERUID" != "" && "$MEMBERUID" != "N" && "$MEMBERUID" != "D" && "$MEMBERUID" != "NOUV" ]]; then - log "# UID RECEIVED in SMS searching for $MEMBERUID" VIRDEST=$MEMBERUID MEMRIB=$(sms_uid2key "$MEMBERUID" "$PHONE" "$PIN") @@ -31,6 +34,12 @@ AMOUNTG1=${countvalues[0]} AMOUNT=${countvalues[1]} UNIT=${countvalues[2]} +# ONLY USED BY sms_NEW.sh !!! To send back PIN +echo "${IPFSPrivKey}" | gpg -d -q --output "$PINFILE" --yes --pinentry-mode loopback --passphrase-fd 0 "$GPGPINFILE" +PIN=$(cat "$PINFILE" | xargs) +[[ "$PIN" == "" ]] && [[ -f "${PINFILE}.crypt" ]] && /home/$YOU/.zen/astroport/zen/tools/natools.py decrypt --pubsec -k "$NODE_PUBSECFILE" -i "${PINFILE}.crypt" -o "$PINFILE" && PIN=$(cat "$PINFILE"); +[[ "$PIN" != "" ]] && echo "" > "$PINFILE" || PIN="PIN EMPTY !!! Contacter $ADMINPHONE SVP" + mess="[G1sms+] Id: $UIDNA $PIN @@ -38,18 +47,21 @@ $PIN Solde: $AMOUNT $UNIT (DAB: $DABID) " + sms_SEND "$PHONE" "$mess" sleep 2 + sms_SEND "$PHONE" "$PUBKEY" + [[ $MEMRIB != "" ]] && sms_SEND "$PHONE" "Compte Atttaché: $MEMBER $SMSEMAIL $MEMRIB" [[ -f /home/$YOU/.zen/g1sms_wallets/$PHONE ]] && [[ $(whoami) == "root" ]] && chown -R $YOU /home/$YOU/.zen/g1sms_wallets/$PHONE -# Add contact to database +# Add contact to database (TODO REFRESH Member Name in SQL) add_contact $PHONE $MEMBERUID && log "${c_green}Contact has been added to database$c_" || log "${c_red}Contact can't be added to database$c_" log "${c_yellow}END sms_NEW.sh$c_" log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -exit +exit 0 diff --git a/g1sms/sms_PAY.sh b/g1sms/sms_PAY.sh index c10f1b0..a1d5d74 100755 --- a/g1sms/sms_PAY.sh +++ b/g1sms/sms_PAY.sh @@ -4,8 +4,11 @@ # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "__SUB:sms_PAY.sh: START ($1=PHONE, $2=PHONEDEST, $3=AMOUNT)" phone="$1" diff --git a/g1sms/sms_REC.sh b/g1sms/sms_REC.sh index dd38273..dbce1e1 100755 --- a/g1sms/sms_REC.sh +++ b/g1sms/sms_REC.sh @@ -5,8 +5,11 @@ # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) # RECORD RECURRENT PAYEMENTS WITH "Cesium+ ID" Pubkey TODO cron /home/$YOU/.zen/g1sms_wallets/$PHONE/VIREMENTS, Fusion avec sms_VIR.sh ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "__SUB:sms_REC.sh: START ($1=PHONE, $2=VIRDEST, $3=AMOUNT, $4=PERIOD, $5=TIME)" PHONE="$1" diff --git a/g1sms/sms_SETUNIT.sh b/g1sms/sms_SETUNIT.sh index 95fae48..da422c8 100755 --- a/g1sms/sms_SETUNIT.sh +++ b/g1sms/sms_SETUNIT.sh @@ -4,8 +4,11 @@ # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "X sms_SETUNIT.sh ($1=phone, $2=unit)" phone="$1" diff --git a/g1sms/sms_VIR.sh b/g1sms/sms_VIR.sh index 84660b2..85b1c98 100755 --- a/g1sms/sms_VIR.sh +++ b/g1sms/sms_VIR.sh @@ -4,8 +4,11 @@ # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ -source ./init.sh -source ./functions.sh +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +source $MY_PATH/init.sh +source $MY_PATH/functions.sh + log "__SUB:sms_VIR.sh: START ($1=phone, $2=AMOUNT, $3=VIRDEST)" phone="$1" diff --git a/zen/tools/make_G1SSB_secret.sh b/zen/tools/make_G1SSB_secret.sh index 04b285a..b2d9fba 100755 --- a/zen/tools/make_G1SSB_secret.sh +++ b/zen/tools/make_G1SSB_secret.sh @@ -123,7 +123,8 @@ export PATH=$PATH:~/.local/bin if [[ ! $(which silkaj) ]]; then sudo apt update || true libzzz=$(sudo apt-cache search libsodium | awk '{print $1}' | grep libsodium2) - sudo apt install libffi-dev build-essential qrencode jq bc gawk $libzzz -y + [[ $libzzz == "" ]] && libzzz=$(sudo apt-cache search libsodium | awk '{print $1}' | grep libsodium1) + sudo apt install ssmtp mpack libffi-dev build-essential qrencode jq bc gawk $libzzz -y sudo apt install python3-pip python3-setuptools python3-wheel -y sudo pip3 install base58 pip3 install silkaj --user