G1BILLET+ & G1PASS & G1PASS+

This commit is contained in:
fred 2023-05-06 02:55:19 +02:00
parent fb5083ab42
commit e20f719d1f
2 changed files with 229 additions and 153 deletions

View File

@ -13,7 +13,6 @@ ME="${0##*/}"
&& IMAGES="_images" \
|| IMAGES="images"
################################################################################
# Create different king of G1BILLET(s) with $MONTANT DU or TW IPNS + G1PASS
# ${MY_PATH}/G1BILLETS.sh 5 ticket 2 # MONTANT # STYLE # SECURITE
@ -30,29 +29,43 @@ if [[ $MONTANT != "daemon" ]]; then
DICE="$3"
[[ $MONTANT != "___" ]] && DICE=3 ## Planche G1BILLET avec MONTANT securité 3
[[ $DICE != ?(-)+([0-9]) ]] && DICE=$(cat $MY_PATH/DICE 2>/dev/null) ## HOW MANY WORDS SECRETS
[[ $DICE != ?(-)+([0-9]) ]] && DICE=4
echo "G1BILLET FACTORY MONTANT=$MONTANT DICE=$DICE"
echo "$STYLE : $MY_PATH/${IMAGES}/$STYLE"
## CHECK IF STYLE IS EMAIL => astro IPFS G1BILLET
if [[ "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
echo "ASTROPORT $STYLE DEDICACE G1PASS"
# echo "PLAYER : $STYLE"
EMAIL=${STYLE}
STYLE="$(ls -d ${MY_PATH}/${IMAGES}/xbian* | tail -n 1 | rev | cut -d '/' -f 1 | rev)"
fi
## CHECK IF STYLE IS EMAIL => astro IPFS G1BILLET
if [[ "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
echo "ASTROPORT $STYLE G1BILLET+ or G1TW"
# echo "PLAYER : $STYLE"
EMAIL=${STYLE}
DICE=5
## DEFAULT xZSTYLE
LASTX=$(ls -d ${MY_PATH}/${IMAGES}/x* | tail -n 1)
STYLE="$(cat ${LASTX} | rev | cut -d '/' -f 1 | rev)"
## IS EMAIL LOCAL PLAYER ====> COPY / REFRESH STYLE
[[ -d ~/.zen/game/players/${EMAIL} ]] \
&& rm -Rf ${MY_PATH}/_images/${EMAIL} \
&& mkdir -p ${MY_PATH}/_images/${EMAIL} \
&& cp ${LASTX}/* ${MY_PATH}/_images/${EMAIL} \
&& cp ~/.zen/game/players/${EMAIL}/fond.jpg ${MY_PATH}/_images/${EMAIL} 2>/dev/null \
&& cp ~/.zen/game/players/${EMAIL}/g1.png ${MY_PATH}/_images/${EMAIL} 2>/dev/null \
&& cp ~/.zen/game/players/${EMAIL}/logo.png ${MY_PATH}/_images/${EMAIL} 2>/dev/null \
&& IMAGES="_images" && STYLE="${EMAIL}"
fi
## STYLE SELECTED: PDF DE 6 BILLETS OR SINGLE
NBbillets=6
[[ "${STYLE:0:1}" != "_" ]] && NBbillets=1 && MONTANT="___"
[[ ${STYLE} == "" ]] && NBbillets=6
[[ "${STYLE:0:1}" != "_" ]] && NBbillets=1 && MONTANT="___" ## NOT DEFAULT (empty or _ style)
[[ ${STYLE} == "" || ${STYLE} == "_" ]] && NBbillets=6 && STYLE="_" # 6 x G1BILLET v1 = "MLC"
echo "CREATION $NBbillets x G1BILLET - $STYLE - "
## DEFAULT STYLE FOLDER IS ${MY_PATH}/${IMAGES}/_
[[ ${STYLE} == "" ]] && STYLE="_"
echo "G1BILLET MAKE $NBbillets - ${STYLE} (${DICE}) - "
# CHECK IF $STYLE IMAGES EXIST
[[ ! -f ${MY_PATH}/${IMAGES}/${STYLE}/g1.png ]] && ERROR="MISSING ./${IMAGES}/${STYLE}/g1.png - EXIT" && echo $ERROR && exit 1
@ -72,35 +85,39 @@ if [[ $MONTANT != "daemon" ]]; then
mkdir -p "${MY_PATH}/tmp/g1billet/${UNIQID}"
## ADAPT SECURITY LEVEL
SALT=$(${MY_PATH}/diceware.sh $DICE | xargs)
#~ [[ $EMAIL != "" ]] && SALT="$EMAIL $SALT"
SECRET=$(${MY_PATH}/diceware.sh $DICE | xargs)
#~ [[ $EMAIL != "" ]] && SECRET="$EMAIL $SECRET"
SECRET1=$(${MY_PATH}/diceware.sh $DICE | xargs)
SECRET2=$(${MY_PATH}/diceware.sh $DICE | xargs)
echo "$SECRET1" "$SECRET2"
# CREATION CLEF BILLET
BILLETPUBKEY=$(python3 ${MY_PATH}/key_create_dunikey.py "$SALT" "$SECRET")
BILLETPUBKEY=$(python3 ${MY_PATH}/key_create_dunikey.py "$SECRET1" "$SECRET2")
rm -f /tmp/secret.dunikey
echo "$boucle : $BILLETPUBKEY "
${MY_PATH}/keygen -t ipfs -o ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key "$SALT" "$SECRET"
ASTRONAUTENS=$(ipfs key import ${UNIQID} -f pem-pkcs8-cleartext ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key)
rm -f ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key
ipfs key rm ${UNIQID} && echo "/ipns/$ASTRONAUTENS"
### GRAPHISM #####
if [[ $DICE -ge 4 || "${STYLE:0:1}" != "_" ]]; then
# + ASTRONS ## G1BILLET APP STICKER
${MY_PATH}/keygen -t ipfs -o ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key "$SECRET1" "$SECRET2"
ASTRONS=$(ipfs key import ${UNIQID} -f pem-pkcs8-cleartext ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key)
rm -f ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key
ipfs key rm ${UNIQID} && echo "/ipns/$ASTRONS"
fi
#######################################################################################################
# CREATION FICHIER IMAGE BILLET dans ${MY_PATH}/tmp/g1billet/${UNIQID}
${MY_PATH}/MAKE_G1BILLET.sh "${SALT}" "${SECRET}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONAUTENS}" "${EMAIL}"
#######################################################################################################
echo ${MY_PATH}/MAKE_G1BILLET.sh "${SECRET1}" "${SECRET2}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONS}" "${EMAIL}"
${MY_PATH}/MAKE_G1BILLET.sh "${SECRET1}" "${SECRET2}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONS}" "${EMAIL}"
#######################################################################################################
#######################################################################################################
done
if [[ ${NBbillets} == 1 ]]
then
if [[ ${NBbillets} == 1 ]]; then
# ONE FILE ONLY
cp ${MY_PATH}/tmp/g1billet/${UNIQID}/*.jpg ${MY_PATH}/tmp/g1billet/${UNIQID}.jpg
# CLEANING TEMP FILES
echo rm -Rf ${MY_PATH}/tmp/g1billet/${UNIQID}
# ALLOWS ANY USER TO DELETE
chmod 777 ${MY_PATH}/tmp/g1billet/${UNIQID}.jpg
export ZFILE="${MY_PATH}/tmp/g1billet/${UNIQID}.jpg"
@ -112,41 +129,31 @@ if [[ $MONTANT != "daemon" ]]; then
# NB!! if "not autorized" then edit /etc/ImageMagick-6/policy.xml and comment
[[ ! -s ${MY_PATH}/tmp/g1billet/${UNIQID}.pdf ]] && echo "ERROR PDF NOT FOUND - contact - support@qo-op.com" && exit 1
# <!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
# CLEANING TEMP FILES
rm -Rf ${MY_PATH}/tmp/g1billet/${UNIQID}
# ALLOWS ANY USER TO DELETE
chmod 777 ${MY_PATH}/tmp/g1billet/${UNIQID}.pdf
export ZFILE="${MY_PATH}/tmp/g1billet/${UNIQID}.pdf"
fi
###########################################################################
## ASTRO : FIND TW ADDRESS + EMAIL = CREATE PLAYER on 1234 API
if [[ ${EMAIL} ]]; then
UN=$(echo ${SALT} | jq -Rr @uri) ## URL ENCODED
DE=$(echo ${SECRET} | jq -Rr @uri) ## URL ENCODED
echo 'curl -s https://astroport.copylaradio.com/?salt='$UN'&pepper='$DE'&g1pub=on&email='$EMAIL
# && curl -s 'https://astroport.copylaradio.com/?salt='$UN'&pepper='$DE'&g1pub=on&email='$EMAIL
fi
###########################################################################
[[ $XDG_SESSION_TYPE == 'x11' ]] && xdg-open "$ZFILE"
###########################################################################
echo "$ZFILE" # IMPORTANT ## LAST LINE : INFORM DAEMON
###########################################################################
else
################################################################################
################################################################################
## MAKE IT A NETWORK MICRO SERVICE -- PORTS : INPUT=33101 OUTPUT=33102
############## CLEAN START DAEMON MODE ###
pidportinuse=$(ps axf --sort=+utime | grep -w "nc -l -p 33101" | grep -v -E 'color=auto|grep' | awk '{gsub(/^ +| +$/,"")} {print $0}' | tail -n 1 | cut -d " " -f 1)
pidportinuse=$(lsof -i :33101 | tail -n 1 | awk '{print $2}')
[[ $pidportinuse ]] && echo "KILLING OLD DEAMON 33101 $pidportinuse" && kill -9 $pidportinuse && killall G1BILLETS.sh && exit 1
pidportinuse=$(ps axf --sort=+utime | grep -w "nc -l -p 33102" | grep -v -E 'color=auto|grep' | awk '{gsub(/^ +| +$/,"")} {print $0}' | tail -n 1 | cut -d " " -f 1)
pidportinuse=$(lsof -i :33102 | tail -n 1 | awk '{print $2}')
[[ $pidportinuse ]] && kill -9 $pidportinuse && echo "KILLING NOT COLLECTED THREAD $pidportinuse"
#####################################################################
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
@ -159,7 +166,7 @@ else
fi
RNAME="$HNAME:33102"
## AVAILABLE STYLES
## AVAILABLE STYLES : CREATING SELECT
sytle=($(find ${MY_PATH}/${IMAGES}/* -type d | sort | rev | cut -d '/' -f 1 | rev))
sytlenb=${#sytle[@]}
OPT=""
@ -168,15 +175,18 @@ else
pre=${stname:0:1}
if [[ $pre == "_" ]]; then
OPT="${OPT}<option value='_'>:: G1BILLET :: _ 6 pack :: </option>"
OPT="${OPT}<option value='_'>:: G1BILLET :: _ + :: </option>"
elif [[ $(echo ${stname} | grep '@') ]]; then
OPT="${OPT}" ## HIDDEN DEV
elif [[ $pre == "x" ]]; then
OPT="${OPT}<option value='${stname}'>:: G1TW :: ${stname} :: </option>"
else
OPT="${OPT}<option value='${stname}'>:: G1PASS :: ${stname} :: </option>"
OPT="${OPT}<option value='${stname}'>:: G1PASS :: ${stname} :: ~</option>"
fi
done
## WELCOME HTTP / HTML PAGE
HTTPWELLCOME='HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
@ -262,23 +272,25 @@ function countdown() {
mkdir -p ${MY_PATH}/tmp
exec 2>&1 >> ${MY_PATH}/tmp/G1BILLETS.log
#####################################################################
########### daemon loop
#####################################################################
########### daemon loop
#####################################################################
while true; do
echo "=================================================="
echo "$ME DAEMON READY $(date)"
echo "=================================================="
echo "============= ************ =========================="
echo " STARTING $ME DAEMON READY $(date)"
echo "============= ************ =========================="
REQ=$(echo "$HTTPWELLCOME" | nc -l -p 33101 -q 1) ## # WAIT FOR 33101 PORT CONTACT
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
start=`date +%s`
URL=$(echo "$REQ" | grep '^GET' | cut -d ' ' -f2 | cut -d '?' -f2) ### CONTACT URL ####
URL=$(echo "$REQ" | grep '^GET' | cut -d ' ' -f2 | cut -d '?' -f2)
HOSTP=$(echo "$REQ" | grep '^Host:' | cut -d ' ' -f2 | cut -d '?' -f2)
HOST=$(echo "$HOSTP" | cut -d ':' -f 1)
echo "=================================================="
echo "$MOATS" $(date)
echo "$ME RUN $(date)"
echo "=========== %%%%%%%%%%%%%%% =============="
echo "$REQ"
echo "=========== %%%%%%%%%%%%%%% =============="
@ -294,13 +306,14 @@ function countdown() {
[[ $STYLE == "dice" ]] && STYLE="_" && XPARM=$X ## /?montant=0&type=&dice=1
# EXECUTE COMMAND
#####################################################################
echo ${MY_PATH}/${ME} '"'$MONTANT'"' '"'$STYLE'"' '"'$XPARM'"'
#####################################################################
# EXECUTE COMMAND
LOG=$(${MY_PATH}/${ME} "$MONTANT" "$STYLE" "$XPARM")
echo "$LOG"
# echo $LOG
echo "$LOG"
# EXTRACT VALUES FROM SELF LOG
IPNS=$(echo "$LOG" | grep '/ipns/')
[[ $IPNS ]] && echo "TW IPNS : $IPNS"
@ -310,6 +323,7 @@ function countdown() {
ZFILE=$(echo "$LOG" | tail -n 1) ### LAST LINE : INFORM DAEMON
echo $ZFILE
echo "========="
### AUCUN RESULTAT
if [[ ! -s $ZFILE ]]; then
(
@ -332,7 +346,7 @@ Content-Type: text/html; charset=UTF-8
BSIZE=$(du -b "${ZFILE}" | awk '{print $1}' | tail -n 1)
# KILL OLD 33102 - USE IT IF YOU ( publishing )&
pidportinuse=$(ps axf --sort=+utime | grep -w "nc -l -p 33102" | grep -v -E 'color=auto|grep' | awk '{gsub(/^ +| +$/,"")} {print $0}' | tail -n 1 | cut -d " " -f 1)
pidportinuse=$(lsof -i :33102 | tail -n 1 | awk '{print $2}')
[[ $pidportinuse ]] && kill -9 $pidportinuse && echo "KILLING NOT COLLECTED THREAD $pidportinuse"
# HTTP/1.1 200 OK
@ -367,6 +381,10 @@ Content-Disposition: attachment; filename='${FILE_NAME}'
&& echo "G1BILLETS FILE CONSUMED"
fi
end=`date +%s`
dur=`expr $end - $start`
echo "G1BILLET GENERATION WAS $dur SECONDS"
fi
done

View File

@ -21,24 +21,34 @@ exec 2>&1 >> ~/.zen/G1BILLET/tmp/G1BILLETS.log
&& IMAGES="_images" \
|| IMAGES="images"
SALT="$1"
SECRET="$2"
SECRET1="$1"
echo SECRET1=${SECRET1}
SECRET2="$2"
echo SECRET2=${SECRET2}
MONTANT="$3"
echo MONTANT=${MONTANT}
NOTERIB="$4"
echo NOTERIB=${NOTERIB}
UNIQID="$5"
echo UNIQID=${UNIQID}
STYLE="$6"
## ASTRO TW MODE
ASTRONAUTENS="$7"
echo STYLE=${STYLE}
ASTRONS="$7"
echo ASTRONS=${ASTRONS}
EMAIL="$8"
echo EMAIL=${EMAIL}
if [[ "$SALT" == "" || "$SECRET" == "" || "$MONTANT" == "" || "$NOTERIB" == "" || "$UNIQID" == "" ]]
if [[ "${SECRET1}" == "" || "$SECRET2" == "" || "$MONTANT" == "" || "$NOTERIB" == "" || "$UNIQID" == "" ]]
then
echo "ERROR MISSING PARAM"
exit 1
fi
TAB=(${SECRET1} $SECRET2)
FULLDICE=${#TAB[@]}
mkdir -p ${MY_PATH}/tmp/g1billet/$UNIQID
BILLETNAME=$(echo $SALT | sed 's/ /_/g')
BILLETNAME=$(echo ${SECRET1} | sed 's/ /_/g')
# Prepare June logo color
case "$MONTANT" in
@ -68,10 +78,106 @@ case "$MONTANT" in
;;
esac
## PREPARE LOGO
## UPPER RIGHT SIGN (g1.png)
cp "${MY_PATH}/${IMAGES}/${STYLE}/g1.png" "${MY_PATH}/tmp/g1billet/${UNIQID}/g1.png"
# Add logo.png over FOND
## ♥Box :: G1PASS or G1ASTRO
BOTTOM="$(date) :: ♥Box :: _G1BILLET_ :: $(hostname) ::"
XZUID="__________@__________"
## PGP @PASS QRCODE
## NOT G1BILLET v1 : Create EXTRA PGP QR
if [[ "${STYLE:0:1}" != "_" ]]; then
USALT=$(echo "${SECRET1}" | jq -Rr @uri)
UPEPPER=$(echo "$SECRET2" | jq -Rr @uri)
## SECURED RANDOM salt : pepper GPG SEQUENCE
s=$(${MY_PATH}/diceware.sh 1 | xargs)
p=$(${MY_PATH}/diceware.sh 1 | xargs)
echo "(≖‿‿≖) PGP /?${s}=${USALT}&${p}=${UPEPPER} (PASS=$UNIQID)"
echo "/?${s}=${USALT}&${p}=${UPEPPER}" > ~/.zen/tmp/topgp
cat ~/.zen/tmp/topgp | gpg --symmetric --armor --batch --passphrase "$UNIQID" -o ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc
rm ~/.zen/tmp/topgp ## CLEANING CACHE
DISCO="$(cat ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc | tr '-' '~' | tr '\n' '-' | tr '+' '_' | jq -Rr @uri )"
echo "$DISCO"
## Put astrologo_nb in QRCode
cp ${MY_PATH}/${IMAGES}/astrologo_nb.png ${MY_PATH}/tmp/fond.png
## MAKE amzqr WITH astro:// LINK
amzqr -d ${MY_PATH}/tmp \
-l H \
-p ${MY_PATH}/tmp/fond.png \
"$DISCO"
## ADD PLAYER EMAIL
convert -gravity southeast -pointsize 28 -fill black -draw "text 5,3 \"${EMAIL}\"" ${MY_PATH}/tmp/fond_qrcode.png ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.G1PASS.png
convert ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.G1PASS.png -resize 300 ${MY_PATH}/tmp/g1billet/${UNIQID}/300.png
rm ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc
fi
if [[ ${ASTRONS} != "" ]] ; then
amzqr "https://ipfs.copylaradio.com/ipns/${ASTRONS}" \
-l H -p "$MY_PATH/${IMAGES}/moa_net.png" \
-c -n QRTWavatar.png \
-d ${MY_PATH}/tmp/g1billet/${UNIQID}/
convert ${MY_PATH}/tmp/g1billet/${UNIQID}/QRTWavatar.png -resize 260 ${MY_PATH}/tmp/g1billet/${UNIQID}/TW.png
fi
[[ "${EMAIL}" != "" ]] && XZUID="${EMAIL}"
## ♥Box :: G1BILLET+ :: G1PASS :: G1(TW)
# GIBILLET dice > 3 => G1BILLET+
[[ "${STYLE:0:1}" == "_" && ${FULLDICE} -gt 6 && ${MONTANT} == "___" ]] \
&& mv ${MY_PATH}/tmp/g1billet/${UNIQID}/TW.png ${MY_PATH}/tmp/g1billet/${UNIQID}/LEFT.png \
&& BOTTOM="$(date) :: ♥Box :: G1BILLET+ :: $(hostname) ::" && XZUID="G1BILLET +"
[[ "${STYLE:0:1}" != "_" ]] \
&& mv ${MY_PATH}/tmp/g1billet/${UNIQID}/300.png ${MY_PATH}/tmp/g1billet/${UNIQID}/LEFT.png \
&& BOTTOM="$(date) :: ♥Box :: G1PASS :: $(hostname) ::" && XZUID="G1PASS"
[[ "${STYLE:0:1}" == "x" ]] \
&& mv ${MY_PATH}/tmp/g1billet/${UNIQID}/TW.png ${MY_PATH}/tmp/g1billet/${UNIQID}/CENTER.png \
&& BOTTOM="$(date) :: ♥Box :: G1ASTRO :: $(hostname) ::" && XZUID="G1ASTRO"
########################## G1Voeu _ G1BILLET linking TEST ## DEV
#~ ## Astroport.ONE THERE :: STYLE=EMAIL :: G1BILLET+
#~ if [[ -s ~/.zen/Astroport.ONE/tools/VOEUX.print.sh && "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
#~ # CREATE @PASS (Connect G1BILLET+ TO current PLAYER)
#~ MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
#~ SRCMAIL=$(cat ~/.zen/game/players/.current/.player 2>/dev/null)
#~ G1PUB=$(cat ~/.zen/game/players/.current/.g1pub 2>/dev/null)
#~ ## GET current PLAYER G1PUB
#~ [[ -d ~/.zen/game/players/${STYLE} ]] \
#~ && SRCMAIL=${STYLE} && G1PUB=$(cat ~/.zen/game/players/${STYLE}/.g1pub 2>/dev/null)
#~ BILLETFULLNAME=$(echo "${SRCMAIL} ${SECRET1} ${SECRET2}" | sed 's/ /_/g') # EMAIL_dice_words
#~ #### VOEUX.print.sh G1BILLET+
#~ echo ~/.zen/Astroport.ONE/tools/VOEUX.print.sh "${BILLETFULLNAME}" "G1BILLET+" "${MOATS}" "${G1PUB}"
#~ NEWIMAGIC=$(~/.zen/Astroport.ONE/tools/VOEUX.print.sh "${BILLETFULLNAME}" "G1BILLET+" "${MOATS}" "${G1PUB}" | tail -n 1)
#~ convert ~/.zen/tmp/${MOATS}/START.png -resize 300 ${MY_PATH}/tmp/g1billet/${UNIQID}/300.png
#~ ## MODIFY fond with "moa" ( TODO : Extract from TAG = moa + G1Voeu )
#~ [[ -s ~/.zen/game/players/${SRCMAIL}/moa.jpg ]] \
#~ && convert ~/.zen/game/players/${SRCMAIL}/moa.jpg -resize 964x459 -background grey -gravity center -extent 964x459 ${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg
#~ fi
# ADD G1ASTRO LINK
# OVERLAY LOGO over FOND (logo.png)
composite -compose Over -dissolve 60% \
"${MY_PATH}/${IMAGES}/${STYLE}/logo.png" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" \
@ -80,108 +186,60 @@ composite -compose Over -dissolve 60% \
## NOT TO BE IN FINAL PDF (getting all jpg)
rm "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg"
if [[ "${STYLE:0:1}" != "_" ]]
then
if [[ ${ASTRONAUTENS} ]]; then
## ♥Box :: G1PASS
BOTTOM="$(date) :: ♥Box :: G1PASS :: $(hostname) ::"
XZUID="__________@__________"
### TEXT OVERLAY
#~ -pointsize 22 -draw 'text 50,100 "'"Secret 1: ${SECRET1}"'"' \
#~ -pointsize 22 -fill black -draw 'text 50,130 "'"Secret 2: $SECRET2"'"' \
USALT=$(echo "$SALT" | jq -Rr @uri)
UPEPPER=$(echo "$SECRET" | jq -Rr @uri)
echo "(≖‿‿≖) Making gpg of /?salt=${USALT}&pepper=${UPEPPER} with pass=$UNIQID"
## SECURED RANDOM salt : pepper GPG SEQUENCE
s=$(${MY_PATH}/diceware.sh 1 | xargs)
p=$(${MY_PATH}/diceware.sh 1 | xargs)
echo "/?${s}=${USALT}&${p}=${UPEPPER}" > ~/.zen/tmp/topgp
cat ~/.zen/tmp/topgp | gpg --symmetric --armor --batch --passphrase "$UNIQID" -o ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc
rm ~/.zen/tmp/topgp ## CLEANING CACHE
DISCO="$(cat ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc | tr '-' '~' | tr '\n' '-' | tr '+' '_' | jq -Rr @uri )"
echo "$DISCO"
## Add logo to QRCode
cp ${MY_PATH}/${IMAGES}/astrologo_nb.png ${MY_PATH}/tmp/fond.png
## MAKE amzqr WITH astro:// LINK
amzqr -d ${MY_PATH}/tmp \
-l H \
-p ${MY_PATH}/tmp/fond.png \
"$DISCO"
## ADD PLAYER EMAIL
convert -gravity southeast -pointsize 28 -fill black -draw "text 5,3 \"${EMAIL}\"" ${MY_PATH}/tmp/fond_qrcode.png ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.G1PASS.png
convert ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.G1PASS.png -resize 300 ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png
composite -compose Over -gravity SouthWest -geometry +50+50 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg"
rm ${MY_PATH}/tmp/gpg.${BILLETNAME}.asc
if [[ "${STYLE:0:1}" == "x" ]]; then
[[ "${EMAIL}" != "" ]] && XZUID="${EMAIL}"
## ♥Box :: G1TW (central IPFS QRCODE)
BOTTOM="$(date) :: ♥Box :: G1TW :: $(hostname) ::"
amzqr "https://ipfs.copylaradio.com/ipns/${ASTRONAUTENS}" -l H -p "$MY_PATH/${IMAGES}/moa_net.png" -c -n QRTWavatar.png -d ${MY_PATH}/tmp/g1billet/${UNIQID}/
convert ${MY_PATH}/tmp/g1billet/${UNIQID}/QRTWavatar.png -resize 260 ${MY_PATH}/tmp/g1billet/${UNIQID}/300.png
composite -compose Over -gravity Center -geometry +30+40 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/300.png" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg"
fi
fi
else
XZUID="G1BILLET"
BOTTOM="$(date) :: ♥Box :: G1BILLET :: $(hostname) ::"
fi
# G1PUB QR CODE
qrencode -s 6 -o "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.QR.png" "$NOTERIB"
# AJOUT DU QRCODE SUR LE FOND DE BILLET
composite -compose Over -gravity SouthEast -geometry +35+50 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.QR.png" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg"
# Add g1.png SIGLE
composite -compose Over -dissolve 90% \
"${MY_PATH}/tmp/g1billet/${UNIQID}/g1.png" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" \
"${MY_PATH}/tmp/${BILLETNAME}.jpg"
if [[ "$MONTANT" != "___" ]]; then
if [[ "${STYLE:0:1}" != "_" && "${STYLE:0:1}" != "x" && ${MONTANT} != "___" ]]; then
convert -font 'Liberation-Sans' \
-pointsize 40 -fill black -draw 'text 70,50 "'"$XZUID"'"' \
-pointsize 150 -fill black -draw 'text 120,380 "'"$MONTANT"'"' \
-pointsize 20 -fill black -draw 'text 340,22 "'"${NOTERIB}"'"' \
-pointsize 22 -draw 'text 50,100 "'"Secret 1: $SALT"'"' \
-pointsize 22 -fill black -draw 'text 50,130 "'"Secret 2: $SECRET"'"' \
-pointsize 25 -fill black -draw 'text 50,440 "'"$BOTTOM"'"' \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
else
convert -font 'Liberation-Sans' \
-pointsize 35 -fill black -draw 'text 50,56 "'"$XZUID"'"' \
-pointsize 22 -fill black -draw 'text 340,26 "'"${NOTERIB}"'"' \
-pointsize 22 -draw 'text 50,90 "'"Secret 1: $SALT"'"' \
-pointsize 22 -fill black -draw 'text 50,110 "'"Secret 2: $SECRET"'"' \
-pointsize 22 -fill black -draw 'text 50,85 "'"Secret 1: ${SECRET1}"'"' \
-pointsize 22 -fill black -draw 'text 50,105 "'"Secret 2: $SECRET2"'"' \
-pointsize 25 -fill white -draw 'text 50,440 "'"$BOTTOM"'"' \
"${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
fi
rm -f ${MY_PATH}/tmp/${BILLETNAME}.jpg
## ADD SouthWEST
[[ -s "${MY_PATH}/tmp/g1billet/${UNIQID}/LEFT.png" ]] && \
composite -compose Over -gravity SouthWest -geometry +50+50 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/LEFT.png" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
## ADD CENTER QRCODE
[[ -s "${MY_PATH}/tmp/g1billet/${UNIQID}/CENTER.png" ]] && \
composite -compose Over -gravity Center -geometry +30+40 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/CENTER.png" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
# G1PUB QR CODE RIGHT
qrencode -s 6 -o "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.QR.png" "$NOTERIB"
# AJOUT DU G1PUB QRCODE A DROITE DU BILLET
composite -compose Over -gravity SouthEast -geometry +35+50 \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.QR.png" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
# Add g1.png SIGLE
composite -compose Over -dissolve 90% \
"${MY_PATH}/tmp/g1billet/${UNIQID}/g1.png" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg" \
"${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
## BILLET READY in ${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg
exit 0