forked from STI/Astroport.ONE
80 lines
2.7 KiB
Bash
80 lines
2.7 KiB
Bash
|
################################################################################
|
||
|
# Author: Fred (support@qo-op.com)
|
||
|
# Version: 0.1
|
||
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||
|
################################################################################
|
||
|
################################################################################
|
||
|
## API: DRAGONS
|
||
|
## Used by OSM2IPFS welcome.html
|
||
|
# ?zone=DEG&ulat=LAT&ulon=LON
|
||
|
## Search for TW numbers in received zone # >> return json
|
||
|
################################################################################
|
||
|
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"
|
||
|
### transfer variables according to script
|
||
|
|
||
|
[[ $MOATS == "" ]] && echo "MISSING MOATS" && exit 1
|
||
|
|
||
|
HTTPCORS="HTTP/1.1 200 OK
|
||
|
Access-Control-Allow-Origin: *
|
||
|
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}"; }
|
||
|
|
||
|
# PREPARE HTTP RESPONSE (application/json)
|
||
|
mkdir -p ~/.zen/tmp/${MOATS}/
|
||
|
echo "${HTTPCORS}" > ~/.zen/tmp/${MOATS}/http
|
||
|
sed -i "s~text/html~application/json~g" ~/.zen/tmp/${MOATS}/http
|
||
|
|
||
|
# ------------------------------------------------------------------- #
|
||
|
# GET/?dragons
|
||
|
# ------------------------------------------------------------------- #
|
||
|
## RUNNING UPLANET STATIONS GPS DETECTION
|
||
|
rm ~/.zen/tmp/DRAGONS.json
|
||
|
|
||
|
if [[ ! -s ~/.zen/tmp/DRAGONS.json ]]; then
|
||
|
|
||
|
echo " ## cat ***/GPS.json"
|
||
|
cat ~/.zen/tmp/${IPFSNODEID}/GPS.json 2>/dev/null | jq -c '.[] + {ipfsnodeid: "'$IPFSNODEID'"}' > ~/.zen/tmp/${MOATS}/gps.grid
|
||
|
cat ~/.zen/tmp/swarm/12D*/GPS.json 2>/dev/null | jq -c '.[] + {ipfsnodeid: "'$IPFSNODEID'"}' | sort -u >> ~/.zen/tmp/${MOATS}/gps.grid
|
||
|
|
||
|
cat ~/.zen/tmp/${MOATS}/gps.grid | jq -s '.' | sed -e 's/\[/[/' -e 's/\]/]/' -e 's/},{/},\n{/g' > ~/.zen/tmp/DRAGONS.json
|
||
|
fi
|
||
|
|
||
|
#~ jq 'unique_by(.umap)' ~/.zen/tmp/DRAGONS.json > ~/.zen/tmp/DRAGONS_no_duplicates.json
|
||
|
#~ mv ~/.zen/tmp/DRAGONS_no_duplicates.json ~/.zen/tmp/DRAGONS.json
|
||
|
echo " ***** WELCOME DRAGONS =========== "
|
||
|
cat ~/.zen/tmp/DRAGONS.json
|
||
|
|
||
|
### SEND RESPONSE ON PORT
|
||
|
cat ~/.zen/tmp/DRAGONS.json >> ~/.zen/tmp/${MOATS}/http
|
||
|
(
|
||
|
cat ~/.zen/tmp/${MOATS}/http | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
|
||
|
rm -Rf ~/.zen/tmp/${MOATS} && echo "BLURP DRAGONS.json"
|
||
|
) &
|
||
|
|
||
|
## TIMING
|
||
|
end=`date +%s`
|
||
|
echo "(DRAGONS) Operation time was "`expr $end - $start` seconds.
|
||
|
exit 0
|