#!/bin/bash ################################################################################ # Author: Fred (support@qo-op.com) # Version: 0.1 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ # INSTALLER convert et qrencode: sudo apt install imagemagick qrencode ################################################################################ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" ############################################################################################################################################################ # ${MY_PATH}/G1BILLET_MAKE.sh "nu me ro test" "se cr et" 100 7sn9dKeCNEsHmqm1gMWNREke4YAWtNw8KG1YBSN8CmSh 97968583 ############################################################################ ## SEND LOG TO ~/.zen/tmp/_12345.log exec 2>&1 >> ~/.zen/G1BILLET/tmp/G1BILLETS.log ## LOAD PERSONAL OR DEFAULT STYLES [[ -d ${MY_PATH}/_images/_/ ]] \ && IMAGES="_images" \ || IMAGES="images" 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" echo STYLE=${STYLE} ASTRONS="$7" echo ASTRONS=${ASTRONS} EMAIL="$8" echo EMAIL=${EMAIL} 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 ${SECRET1} | sed 's/ /_/g') # Prepare June logo color case "$MONTANT" in 1) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill grey -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 2) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill green -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 5) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill orange -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 10) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill blue -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 20) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill purple -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 50) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill red -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; 100) convert "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" -fuzz 20% -fill black -opaque '#e5912b' "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; *) cp "${MY_PATH}/${IMAGES}/${STYLE}/fond.jpg" "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ;; esac ## UPPER RIGHT SIGN (g1.png) cp "${MY_PATH}/${IMAGES}/${STYLE}/g1.png" "${MY_PATH}/tmp/g1billet/${UNIQID}/g1.png" ## ♥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) ::" [[ "${STYLE:0:1}" == "x" ]] \ && mv ${MY_PATH}/tmp/g1billet/${UNIQID}/TW.png ${MY_PATH}/tmp/g1billet/${UNIQID}/CENTER.png \ && BOTTOM="$(date) :: ♥Box :: G1PASS+ :: $(hostname) ::" ########################## 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" \ "${MY_PATH}/tmp/${BILLETNAME}.jpg" ## NOT TO BE IN FINAL PDF (getting all jpg) rm "${MY_PATH}/tmp/g1billet/${UNIQID}/fond.jpg" ### TEXT OVERLAY #~ -pointsize 22 -draw 'text 50,100 "'"Secret 1: ${SECRET1}"'"' \ #~ -pointsize 22 -fill black -draw 'text 50,130 "'"Secret 2: $SECRET2"'"' \ 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 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 -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