#!/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##*/}" ################################################################################ # Create and print 6 G1Billets de $MONTANT DU # ${MY_PATH}/G1BILLETS.sh 5 986397643 ticket ################################################################################ MONTANT="$1" [[ $MONTANT == "" ]] && MONTANT="___" UNIQID="$2" [[ $UNIQID == "" ]] && UNIQID=$(${MY_PATH}/diceware.sh 1 | xargs)${RANDOM:0:2}$(${MY_PATH}/diceware.sh 1 | xargs) STYLE="$3" ## CHECK STYLE IS EMAIL if [[ "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then echo "PLAYER : $STYLE" EMAIL=${STYLE} STYLE="astro" else echo "STYLE=${STYLE}" fi ## PLANCHE DE 6 BILLETS PAR DEFAUT NBbillets=6 [[ "$STYLE" == "xbian" ]] && NBbillets=1 ## STYLE=xbian => 1 BILLET [[ "$STYLE" == "1" ]] && NBbillets=1 && STYLE="" ## 1 BILLET PDF [[ "$STYLE" == "ticket" ]] && NBbillets=1 && echo "TICKET" ## 1 BILLET JPG [[ "$STYLE" == "astro" ]] && NBbillets=1 # CHECK IF $STYLE IMAGES EXIST [[ ! -f ${MY_PATH}/images/fond${STYLE}.jpg ]] && echo "missing fond${STYLE}.jpg" && exit 1 [[ ! -f ${MY_PATH}/images/g1${STYLE}.png ]] && echo "missing g1${STYLE}.jpg" && exit 1 [[ ! -f ${MY_PATH}/images/logo${STYLE}.png ]] && echo "missing logo${STYLE}.jpg" && exit 1 mkdir -p "/tmp/g1billet/${UNIQID}" # CREATION DE $NBbillets BILLETS DE $MONTANT DU boucle=0; while [ $boucle -lt $NBbillets ] do boucle=$((boucle+1)) NUMBER=$(${MY_PATH}/diceware.sh 4 | xargs) SECRET=$(${MY_PATH}/diceware.sh 4 | xargs) # CREATION CLEF BILLET BILLETPUBKEY=$(python3 ${MY_PATH}/key_create_dunikey.py "$NUMBER" "$SECRET") rm -f /tmp/secret.dunikey [[ "$STYLE" == "astro" ]] \ && ${MY_PATH}/keygen -t ipfs -o /tmp/g1billet/${UNIQID}.ipns.key "$NUMBER" "$SECRET" \ && ASTRONAUTENS=$(ipfs key import ${UNIQID} -f pem-pkcs8-cleartext /tmp/g1billet/${UNIQID}.ipns.key) \ && ipfs key rm ${UNIQID} && rm /tmp/g1billet/${UNIQID}.ipns.key \ && [[ $EMAIL ]] && curl -s "https://astroport.copylaradio.com/?salt=$NUMBER$pepper=$SECRET&g1pub=on&email=$EMAIL" \ # CREATION FICHIER IMAGE BILLET $(${MY_PATH}/MAKE_G1BILLET.sh "${NUMBER}" "${SECRET}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONAUTENS}") done if [[ "${STYLE}" == "ticket" || "${STYLE}" == "xbian" || "${STYLE}" == "astro" ]] then cp /tmp/g1billet/${UNIQID}/*.jpg /tmp/g1billet/${UNIQID}.jpg # CLEANING TEMP FILES rm -Rf /tmp/g1billet/${UNIQID} # ALLOWS ANY USER TO DELETE chmod 777 /tmp/g1billet/${UNIQID}.jpg else # MONTAGE DES IMAGES DES BILLETS VERS /tmp/g1billet/${UNIQID}.pdf montage /tmp/g1billet/${UNIQID}/*.jpg -tile 2x3 -geometry 964x459 /tmp/g1billet/${UNIQID}.pdf # NB!! if "not autorized" then edit /etc/ImageMagick-6/policy.xml and comment # # CLEANING TEMP FILES rm -Rf /tmp/g1billet/${UNIQID} # ALLOWS ANY USER TO DELETE chmod 777 /tmp/g1billet/${UNIQID}.pdf fi exit