API
This commit is contained in:
parent
76066dae50
commit
d44579eca7
17
12345.sh
17
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)
|
||||
|
|
40
README.md
40
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)
|
||||
```
|
||||
<meta http-equiv="refresh" content="12; url='http://_ASTROIP_:_ASTROPORT_'" />
|
||||
|
||||
```
|
||||
http://_ASTROIP_:_ASTROPORT_
|
||||
|
||||
ici pour récupérer les éventuels colis
|
||||
```
|
||||
<a href="http://_ASTROIP_:8080/ipns/_APID_" target="json">
|
||||
```
|
||||
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, ....
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
<center>
|
||||
<b>--- Astronaute ---</b><br>
|
||||
Créez votre TW sur IPFS<br>
|
||||
INSCRIVEZ VOUS<br>
|
||||
<h2>Astroport Ŋ1 Swarm#0</h2>
|
||||
<form id="formlink" action = "http://127.0.0.1:1234" method = "GET">
|
||||
<br>
|
||||
|
|
Loading…
Reference in New Issue