diff --git a/G1BILLETS.sh b/G1BILLETS.sh index 2e38b12..704b17c 100755 --- a/G1BILLETS.sh +++ b/G1BILLETS.sh @@ -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 # + # 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}" + OPT="${OPT}" + elif [[ $(echo ${stname} | grep '@') ]]; then + OPT="${OPT}" ## HIDDEN DEV elif [[ $pre == "x" ]]; then OPT="${OPT}" else - OPT="${OPT}" + OPT="${OPT}" 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 diff --git a/MAKE_G1BILLET.sh b/MAKE_G1BILLET.sh index 285928d..671fe02 100755 --- a/MAKE_G1BILLET.sh +++ b/MAKE_G1BILLET.sh @@ -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