From d44579eca79eaae5a27633276aff6c03866e4b94 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 30 Oct 2022 15:44:49 +0100 Subject: [PATCH] API --- 12345.sh | 17 ++++++++++++----- README.md | 40 ++++++++++++++++++++++++++++++++++++++-- templates/register.html | 2 +- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/12345.sh b/12345.sh index d517993a..33a34009 100755 --- a/12345.sh +++ b/12345.sh @@ -27,8 +27,16 @@ mkdir -p ~/.zen/tmp/123/ ncrunning=$(ps auxf --sort=+utime | grep -w 'nc -l -p 1234' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) [[ $ncrunning ]] && echo "ERROR - API Server Already Running - http://$myIP:1234/?salt=toto&pepper=toto " && exit 1 echo "_________________________________________________________" -echo "LAUNCHING Astroport API Server " -echo "TEST http://$myIP:1234/?salt=toto&pepper=toto&official" +echo "LAUNCHING Astroport API Server - TEST - " +echo +echo "CREATE GCHANGE + TW http://$myIP:1234/?salt=toto&pepper=toto&g1pub=on&email=fred@astroport.com" +echo "CREATE TW ONLY http://$myIP:1234/?salt=toto&pepper=toto&g1pub=off&email=fred@astroport.com" +echo "OPEN TW R/W http://$myIP:1234/?salt=toto&pepper=toto&official" +echo +echo "GCHANGE MESSAGING http://$myIP:1234/?salt=toto&pepper=toto&messaging" +echo "GCHANGE PLAYER URL http://$myIP:1234/?salt=toto&pepper=toto&g1pub" +echo +echo "TESTCRAFT http://$myIP:1234/?salt=toto&pepper=toto&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmZXo87nn34i54HhuMrbuXM5fKXymhV3Zj9exeZDK6s4WD" echo "_________________________________________________________" # [[ $DISPLAY ]] && xdg-open "file://$HOME/.zen/Astroport.ONE/templates/instascan.html" 2>/dev/null @@ -185,7 +193,6 @@ cat ~/.zen/tmp/123/${MOATS}.messaging.json >> ~/.zen/tmp/123/${MOATS}.index.redi fi ######################################## #TESTCRAFT=ON nodeid dataid -# 192.168.199.166:1234/?salt=toto&pepper=toto&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmZXo87nn34i54HhuMrbuXM5fKXymhV3Zj9exeZDK6s4WD ######################################## if [[ "$TYPE" == "testcraft" ]]; then ## RECORD DATA MADE IN BROWSER (JSON) @@ -286,7 +293,7 @@ Content-Type: text/html; charset=UTF-8 # API ONE : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email/elastic=ELASTICID&pseudo=PROFILENAME if [[ (${arr[6]} == "email" || ${arr[6]} == "elastic") && ${arr[7]} != "" ]]; then - [[ $TYPE != "g1pub" ]] && (echo "ERROR - BAD COMMAND TYPE" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue + [[ $TYPE != "g1pub" ]] && (echo "ERROR - BAD COMMAND $TYPE" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue start=`date +%s` @@ -295,7 +302,7 @@ Content-Type: text/html; charset=UTF-8 WHAT=$(urldecode ${arr[7]} | xargs) PSEUDO=$(urldecode ${arr[9]} | xargs) - [[ ! $WHAT ]] && (echo "ERROR - MISSING EMAIL FOR WHAT CONTACT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue + [[ ! $WHAT ]] && (echo "ERROR - MISSING $WHAT FOR WHAT CONTACT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue if [[ ! $PSEUDO ]]; then PSEUDO=$(echo $WHAT | cut -d '@' -f 1) diff --git a/README.md b/README.md index 135b2d6c..7d55ad0f 100644 --- a/README.md +++ b/README.md @@ -76,9 +76,45 @@ et des [Json](http://libra.copylaradio.com:8080/ipns/12D3KooWL2FcDJ41U9SyLuvDmA5 # API -Astroport n'utilise pas de serveur web! **netcat** publie un dcoument de bienvenu sur le port 1234... Il redirige le visiteur vers le $PORT du retour de l'exécution de l'API. Ce processus rend tout DDOS impossible. Le Round Robin DNS réparti les délégations de clefs. +## hybride et asynchrone +API du système. -Chaque appel API comporte "salt" et "pepper", correspondance NaCl de la clef en usage. +En utilisant netcat comme "serveur web minimal", la première page que renvoi le serveur est un rendez-vous vers la prochaine adresse IP et port où trouver la réponse à l'appel de l'API. + +Comme un client qui commande, à qui on attribue un point relai qu'il devra contrôler lui même pour en connaitre la livraison. + +chaque passerelle de l'essaim sert toujours la même page (voir "templates/index.http") + +http://tube.copylaradio.com:1234, informe où trouver la suite qui permet de découvrir la suite. + +ici pour informer de l'état de la commande (OK, ERROR) +``` + + +``` +http://_ASTROIP_:_ASTROPORT_ + +ici pour récupérer les éventuels colis +``` + +``` +http://_ASTROIP_:8080/ipns/_APID_/ + +_APID_ est la clef IPNS qui contient l'arborescence "json" en lecture + +Exemple pour l'application "G1Voeu" http://149.102.158.67:8080/ipns/12D3KooWL2FcDJ41U9SyLuvDmA5qGzyoaj2RoEHiJPpCvY8jvx9u + +Application "messaging" +http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&messaging=on + + +Pour écrire une application utilisera "jsipfs" + +https://js.ipfs.tech/ + +et l'appel API "testcraft" ?salt=toto&pepper=toto&testcraft=on&nodeid=_IPFDNODEID_&DATAID=_IPDSID_ + +http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmZXo87nn34i54HhuMrbuXM5fKXymhV3Zj9exeZDK6s4WD ``` # TYPE = official, g1pub, messaging, testcraft, .... diff --git a/templates/register.html b/templates/register.html index cf5805b8..f2cd14aa 100644 --- a/templates/register.html +++ b/templates/register.html @@ -19,7 +19,7 @@
--- Astronaute ---
-Créez votre TW sur IPFS
+INSCRIVEZ VOUS

Astroport Ŋ1 Swarm#0