Astroport.ONE/README.md

15 KiB
Raw Blame History

Préambule - read this introduction in english -

Quand pourrons nous sortir de ce Méchant Cloud qui nous profile, nous scrute, nous analyse... Pour au final nous faire consommer. Je n'ai pas suivi la formation dingénieur réseau pour fabriquer ça! Alors j'ai fait autre chose.

Astroport est contruit sur IPFS pour former nos Cloud personnels échangés entre amis d'amis à labri des algorithmes de l'IA et du datamining sauvage qui règne ici bas. L'avantage de ce système, une consommation énergétique divisé par 100, une répartition des données qui permet de fonctionner déconnecté, un système d'information pair à pair inaltérable, inviolable. S'il vous plaît arrêtons cet Internet Supermarché de nous même... C'est une bibliothèque du savoir à la base.

https://astroport.com

Avec cette technologie, nous devenons chacun hébergeur et fournisseur d'accès, souverain monétaire et médiatique. Avec cette technologie, nous établissons le "Crypto Département 96" dont la carte relie les territoires au delà des frontières et des pays.

Astroport ONE propulse un monde numérique fait de toiles confiances interconnectées

Astroport.ONE

Chaque Station "Astroport.ONE" est une ambassade numérique qui dialogue et se synchronise avec ses pairs. Les utilisateurs peuvent "déplacer leur compte". La dernière utilisée dans la journée devient "station officielle".

L'architecture attachée à chaque clefs publiques se déploie et en forme de "pétales de fleur" selon les cercles de confiance Ŋ1 et Ŋ2.

Des clefs dérivées sont crées pour exporter et explorer les "G1MotsClefs" associés au Tiddlers. A chaque copie le tiddlers reçoit une nouvelle signature et déclenche le processus "G1PalPay".

DOCUMENTATION

INSTALLATION (Linux Mint / Ubuntu / DEBIAN)

# GIT.P2P.LEGAL

bash <(wget -qO- https://git.p2p.legal/qo-op/Astroport.ONE/raw/branch/master/install.sh)

# GITHHUB
bash <(wget -qO- https://raw.githubusercontent.com/papiche/Astroport.ONE/master/install.sh)


LANCEMENT

Après l'installation, rendez-vous sur http://astroport.localhost:1234

Comment Activer votre "Astroport" !

Commencez par créer (ou importer) un premier compte.

~/.zen/Astroport.ONE/command.sh

Permet la Gestion des PLAYER (et des G1VoeuX) en mode CLI

"OPEN API" : "♥BOX"

http://astroport.localhost:1234

Une fois votre Station Astroport démarrée:

  • le port 1234 publie API (REPONSE PORT TCP 12145 à 12445 )

  • le port 12345 publie MAP(*) (CARTE DE L'ESSAIM - BOOTSTRAP / STATIONS)

  • le port 33101 publie G1BILLETS (REPONSE PORT TCP 33102)

  • le port 8080, 4001 et 5001 sont ceux de la passerelle IPFS

⚠ ASTROPORT NETCAT SYSTEM ⚠

Astroport utilise l'outil réseau le plus simple "netcat". Il s'agit d'un moteur STEP donnant accès à une "OPEN API". Notre programme est conçu pour fonctionner dans des conditions de réseau local. Le premier HTTP GET envoie la commande, mais l'APP doit obtenir le PORT de réponse.

Voici comment procéder en BASH ou JAVASCRIPT

RECUPERATION DU PORT DE REPONSE API : (◕‿‿◕)

CLI

    # PLAYER COPIER "_URL_" FAVORITE
    curl -so ~/.zen/tmp/${MOATS}/astro.port "http://astroport.localhost:1234/?salt=0&pepper=0&g1pub=_URL_&email=${EMAIL}"

    TELETUBE=$(cat ~/.zen/tmp/${MOATS}/astro.port | grep "(◕‿‿◕)" | cut -d ':' -f 2 | cut -d '/' -f 3)
    TELEPORT=$(cat ~/.zen/tmp/${MOATS}/astro.port | grep "(◕‿‿◕)" | cut -d ':' -f 3 | cut -d '"' -f 1)

                sleep 30

    # RECUPERER SON JETON PLAYER
    curl -so ~/.zen/tmp/${MOATS}/astro.rep "http://$TELETUBE:$TELEPORT"

JS

Exemple :

var myURL = 'http://astroport.localhost:1234/?' + query;
async function fetchAstroport(myURL) {
      try {

         let one = await fetch(myURL); // Gets a promise
         var doc =  await one.text();
         var regex = /url='([^']+)/i; // Get response PORT
         var redirectURL = doc.match(regex)[1]

         console.log(redirectURL)

        setTimeout(function() {
                // let two = await fetch(redirectURL);
                // document.mydiv.innerHTML = await two.text(); // Replaces body with response
                window.open( redirectURL, "AstroTab");
        }, 5000);

      } catch (err) {
        console.log('Fetch error:' + err); // Error handling
      }
    }

Nous utilisons "astro.js" dans l'Application DEMO

    <script src="http://127.0.0.1:8080/ipfs/Qmae5v9zydax9u6C9ceDijURu5PYdd5avmv4NkenCw7RFv/astro.js"></script>

➤ PRIVATE ZONE (fonctionne sur toutes les Stations.)

/?salt=${SALT}&pepper=${PEPPER}&${APPNAME}=${WHAT}&${OBJ}=${VAL}...

Créer (ou téléporter) un PLAYER TW : OFFICIAL <3BOX :

GET /?salt=${SALT}&pepper=${PEPPER}&g1pub=${URLENCODEDURL}&email=${PLAYER}
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
g1pub string Required. Your prefered URL to copy video from
email email Required. Your email token

LOGOUT PLAYER (remove IPNS keys from Station)

GET /?salt=${SALT}&pepper=${PEPPER}&logout=${PLAYER}
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
logout string Required. Your email token

LOGIN PLAYER (Activate IPNS keys on Station)

GET /?salt=${SALT}&pepper=${PEPPER}&login=${PLAYER}
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
login string Required. Your email token

Définir le niveau ★ accordé à un "g1friend"

GET /?salt=${SALT}&pepper=${PEPPER}&friend=${G1PUB}&stars=${1:5}
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
friend string Required. G1PUB token of friend
stars number Required. Number between 1 to 5

Lire Messagerie de la base "GChange"

GET /?salt=${SALT}&pepper=${PEPPER}&messaging=on
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
messaging string Required. (on=json) output type

Conversion vers adresse IPNS

GET /?salt=${SALT}&pepper=${PEPPER}&getipns=on
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
getipns string Required on

AppName=testcraft : Enregistrer JSON

GET /?salt=${SALT}&pepper=${PEPPER}&testcraft=json&nodeid=_&dataid=$QRHASH
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
testcraft string Required AppNAME subcommand
${OBJ} ${VAL} depends on App

This IPFS object transfer needs that the client is using well configured WebRTC/IPFS relays Look for example in www/upload_to_astroport.html

    '/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star',
    '/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star'

Redirections

  • vers Gchange

/?salt=${SALT}&pepper=${PEPPER}&g1pub=on

  • vers TW

/?salt=${SALT}&pepper=${PEPPER}&g1pub=astro

Déclencher un Payement de Ğ1 à une G1PUB

GET /?salt=${SALT}&pepper=${PEPPER}&pay=1&g1pub=DsEx1pS33vzYZg4MroyBV9hCw98j1gtHEhwiZ5tK7ech
Parameter Type Description
salt string Required. Your passphrase one token
pepper string Required. Your passphrase two token
pay integer Required G1 AMOUNT
g1pub G1PUB Required destination "wallet key"

➤ PLAYER ZONE (API Station qui héberge ${PLAYER})

/?player=${PLAYER}&${APPNAME}=${WHAT}&${OBJ}=${VAL}...

Exporter Tiddlers.json depuis son TW selon valeur des "tags" ( ici TAG=G1CopierYoutube)

GET /?player=${PLAYER}&moa=json&tag=G1CopierYoutube
Parameter Type Description
player string Required. Your EMAIL token
moa string Required APP = output format
tag ${VAL} TW filtering default G1CopierYoutube

Modifier URL du G1Voeu "G1CopierYoutube" du PLAYER

GET /?player=${PLAYER}&youtube=URLENCODED
Parameter Type Description
player string Required. Your EMAIL token
youtube string Required URL = Video URL

MORE TEST NEEDED

QRCODE (API SandBox)

GET /?qrcode=${G1PUB}
Parameter Type Description
qrcode string Required. Your G1PUB token

Look for details & extend as you like in ~/.zen/Astroport.ONE/API/QRCODE.sh

ACTUAL BEHAVIOUR IS TO RECEIVE QRCODE VALUES

  1. Is IPNS key & PLAYER is local ? Redirect to G1BILLET

  2. Is G1*? Redirect to G1WishApp / Export Tags from TW

http://astroport.localhost:1234/?qrcode=G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0 redirect to http://ipfs.localhost:8080/ipns/k51qzi5uqu5din47zmnzk6tmk1tjqaeaj9pbb3qilmstbsf9uyc12qpdmigtd3/

http://astroport.localhost:1234/?qrcode=G1G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0&json redirect to pure "tag=" result json

  1. Is G1PUB ...

LOW RESSOURCE STATION CAN ACTIVATE LOW MODE (disable ipfs daemon)

~/.zen/Astroport.ONE/tools/cron_VRFY.sh LOW

sudo systemctl restart astroport.service
sudo systemctl restart g1billet.service

STATION : Show Station PLAYER's G1 investments levels

GET /?qrcode=station

STATION MAP & PLAYER DATA PROPAGATION

Chaque Station collecte et publie sur sa clef "self" (/ipns/$IPFSNODEID) les liens vers le cache de l'ensemble de l'essaim http://localhost:12345 renvoi un json

{
    "created" : "202304111854481040",
    "hostname" : "kitty.localhost",
    "myIP" : "192.168.1.14",
    "ipfsnodeid" : "12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j",
    "astroport" : "http://192.168.1.14:1234",
    "g1station" : "http://ipfs.localhost:8080/ipns/12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j",
    "g1swarm" : "http://ipfs.localhost:8080/ipns/k51qzi5uqu5djv0qz9wkl8i94opzm62csh56mnp9zove8i543e4vv4cy9gvr1o"
}

Parameter Description
created date de creation du document
hostname nom de la station
myIP adresse IP de la station
ipfsnodeid date de creation du document
astroport Lien vers l'API de la station
g1station Lien vers la carte PLAYER de la Station
g1swarm Lien vers la carte des cartes des Stations de l'essaim

Afin de propager la carte chaque Stations lors de son raffraichissement de cache demande aux Boostrap de la récupérer

STATION MAP UPSYNC : http://$nodeip:12345/?${GNODEID}=${IPFSNODEID}

20H12

Chaque jour, les ASTROBOTs captent les de leurs PLAYERs puis exécutent le protocole de synchronisation Ŋ1

20H12.sh

Ils analysent les données et extraient des flux json selon les G1Voeu présent dans chaque TW.

Le niveau informationnel de confiance exploré permet de proposer des alertes issues du niveau Ŋ2.

EXEMPLE DE FLUX TW :

TW FEEDS

IPFS : UN STOCKAGE INALTERABLE ET INTELLIGENT

[

"The Barefoot Architect" de Johan Van Lengen.

Lignes de commandes

ipfs ls Qme6a6RscGHTg4e1XsRrpRoNbfA6yojC6XNCBrS8nPSEox/
ipfs cat QmbfVUAyX6hsxTMAZY7MhvUmB3AkfLS7KqWihjGfu327yG > /tmp/vdoc.pub_the-barefoot-architect.pdf && xdg-open /tmp/vdoc.pub_the-barefoot-architect.pdf

Après un passage par ajouter_media.sh

Vos données son stockées dans des Tiddlers

Foret Enchantée - PROJET ASTROPORT.pdf

https://ipfs.copylaradio.com/ipfs/QmUtGpGeMZvwp47ftqebVmoFWCmvroy5wEtWsKvWvDWJpR


SIMULATIONS LOOPY

Simulateur Astronaute/Voeux

Essaim Astroport.ONE

Stargazers over time

Stargazers over time