90 lines
3.4 KiB
Bash
Executable File
90 lines
3.4 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
|
|
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"
|
|
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) \
|
|
&& rm -f /tmp/g1billet/${UNIQID}.ipns.key \
|
|
&& ipfs key rm ${UNIQID} > /dev/null &2>1 \
|
|
&& [[ $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
|
|
# <!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
|
|
# CLEANING TEMP FILES
|
|
rm -Rf /tmp/g1billet/${UNIQID}
|
|
# ALLOWS ANY USER TO DELETE
|
|
chmod 777 /tmp/g1billet/${UNIQID}.pdf
|
|
fi
|
|
|
|
|
|
exit
|