From ac25e42e737c00738114b63b7152482335f4abd3 Mon Sep 17 00:00:00 2001 From: fred Date: Sat, 9 Sep 2023 15:10:03 +0200 Subject: [PATCH] AMZQR API /?amzqr=URLENCODEDSTRING&logo=IMAGE - produce png QRCODE IPFS link --- 12345.sh | 2 +- API/AMZQR.sh | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100755 API/AMZQR.sh diff --git a/12345.sh b/12345.sh index 624a6fa7..8280d2c7 100755 --- a/12345.sh +++ b/12345.sh @@ -55,7 +55,7 @@ while true; do [[ $(zIp) ]] && PORT=45779 # ZIP if [[ $(zIp) ]]; then - PORT=$((PORT+1)) && [ ${PORT} -ge 45782 ] && PORT=45780 ## yunohost : OPEN FIREWALL 1234 12345 45780 45781 + PORT=$((PORT+1)) && [ ${PORT} -ge 45782 ] && PORT=45780 ## ♥Box : OPEN FIREWALL 1234 12345 45780 45781 else # EACH VISITOR RECEIVE COMMAND RESPONSE ON ## RANDOM PORT = RESPONSE SOCKET & IPNS SESSION TOKEN diff --git a/API/AMZQR.sh b/API/AMZQR.sh new file mode 100755 index 00000000..cecb794b --- /dev/null +++ b/API/AMZQR.sh @@ -0,0 +1,61 @@ +################################################################################ +# Author: Fred (support@qo-op.com) +# Version: 0.1 +# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) +################################################################################ +################################################################################ +## API: AMZQR +## An API to create QRCode with logo +# ?amzqr=URLENCODEDSTRING&logo=IMAGE +################################################################################ +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +. "${MY_PATH}/../tools/my.sh" + +start=`date +%s` + +echo "PORT=$1 +THAT=$2 +AND=$3 +THIS=$4 +APPNAME=$5 +WHAT=$6 +OBJ=$7 +VAL=$8 +MOATS=$9 +COOKIE=$10" +PORT="$1" THAT="$2" AND="$3" THIS="$4" APPNAME="$5" WHAT="$6" OBJ="$7" VAL="$8" MOATS="$9" COOKIE="$10" + +HTTPCORS="HTTP/1.1 200 OK +Access-Control-Allow-Origin: ${myASTROPORT} +Access-Control-Allow-Credentials: true +Access-Control-Allow-Methods: GET +Server: Astroport.ONE +Content-Type: text/html; charset=UTF-8 + +" + +function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } + +mkdir -p ~/.zen/tmp/${MOATS}/ + +################################################## +USTRING=$(urldecode "${THAT}") +IMAGE="${THIS}" + +[[ ! -s ${MY_PATH}/../images/${IMAGE}.png || ${USTRING} == "" ]] \ + && exho "UNKNOW IMAGE ${IMAGE}" \ + && (echo "$HTTPCORS ERROR - BAD PARAMS" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) \ + && echo "(☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && exit 1 + +## RUN AMZQR +amzqr "${USTRING}" -l H -c -p ${MY_PATH}/../images/${IMAGE}.png -n ${MOATS}.png -d ~/.zen/tmp/${MOATS}/ +IPFSMG=$(ipfs add -q ~/.zen/tmp/${MOATS}/${MOATS}.png | tail -n 1) +echo "${myIPFS}/ipfs/${IPFSMG}" + +echo "$HTTPCORS " | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 & + +rm -Rf ~/.zen/tmp/${MOATS}/ +end=`date +%s` +echo "(AMZQR) Operation time was "`expr $end - $start` seconds. +exit 0