Astroport.ONE/README.md

536 lines
23 KiB
Markdown
Raw Normal View History

2023-02-25 18:30:03 +01:00
# Préambule - [read this introduction in english](https://github.com/papiche/Astroport.ONE/blob/master/README.en.md) -
2023-06-04 21:58:50 +02:00
Bienvenue dans l'équipe d'Astroport, le réseau pair-à-pair (P2P) révolutionnaire qui repousse les limites de la liberté d'information et d'interaction ! Si vous êtes un développeur passionné à la recherche d'un projet novateur et audacieux, alors vous êtes au bon endroit.
Astroport offre une plateforme sécurisée et décentralisée permettant le partage d'informations, en particulier de vidéos, via IPFS. Notre objectif est de contrer les restrictions de censure qui pourraient être imposées par les futures lois de fact-checking avancées par l'Union Européenne. Nous croyons fermement en la liberté d'expression et nous nous engageons à protéger cette valeur fondamentale.
Mais ce n'est pas tout ! Astroport va bien au-delà du simple partage d'informations. Notre plateforme vous permet également d'identifier les ressources autour de vous, qu'il s'agisse de nourriture, d'amis, de services ou de biens. Grâce à Astroport, vous serez en mesure de trouver et de partager les ressources nécessaires à votre vie quotidienne de manière simple et efficace.
2023-06-04 22:22:17 +02:00
Et ce n'est pas tout ! Nous souhaitons également intégrer un "[build guide](https://ipfs.copylaradio.com/ipfs/QmNcNcYRDUFmR1Ey1MAyhzzZRJEi1Dfq8YXRTXq6XZ9n4A/#)" à Astroport, inspiré par les célèbres livres de recettes de Minecraft. Vous pourrez utiliser ce guide pour apprendre à créer des objets réels, en utilisant les matériaux disponibles sur notre place de marché. Imaginez un tutoriel détaillé pour fabriquer des meubles, des objets de décoration, voire même des outils pratiques pour votre quotidien. Astroport met la créativité entre vos mains.
2023-06-04 21:58:50 +02:00
2023-06-04 22:22:17 +02:00
Nous nous sommes également associés à la [monnaie libre Ğ1](https://monnaie-libre.fr) et à sa place de marché, [gchange.fr](https://gchange.fr). Cela signifie que vous pourrez commander les matériaux nécessaires à la réalisation de vos projets directement depuis Astroport. Tout est à portée de clic, dans une seule et même application.
2023-06-04 21:58:50 +02:00
Rejoindre l'équipe d'Astroport, c'est contribuer à une cause qui va bien au-delà de la simple programmation. C'est faire partie d'un mouvement qui aspire à défendre les principes de liberté, de partage et de créativité. C'est travailler sur un projet qui a le potentiel de changer la façon dont nous interagissons avec l'information et les ressources qui nous entourent.
Alors, si vous êtes prêt à relever le défi et à participer à la construction d'un avenir où la censure n'a pas sa place, rejoignez-nous dès aujourd'hui et laissez votre empreinte sur le monde avec Astroport. Ensemble, nous pouvons libérer le potentiel de la technologie et créer un avenir plus ouvert pour tous.
2023-10-17 23:13:30 +02:00
[PRESENTATION UPLANET](https://pad.p2p.legal/Astroport.old.ONE#)
[BASH ENGINE FOR A CRYPTO PLAYGROUND](https://pad.p2p.legal/p/G1FabLab#)
2022-03-14 00:17:44 +01:00
2022-12-26 19:17:52 +01:00
## https://astroport.com
2022-03-14 00:17:44 +01:00
Avec cette technologie, nous devenons chacun hébergeur et fournisseur d'accès, souverain monétaire et médiatique.
2023-01-20 18:56:17 +01:00
Avec cette technologie, nous établissons le "Crypto Département 96" dont la carte relie les territoires au delà des frontières et des pays.
2022-10-30 03:23:01 +01:00
**Astroport ONE propulse un monde numérique fait de toiles confiances interconnectées**
2022-03-14 00:17:44 +01:00
# 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 clef publiquesse déploie et en forme de "pétales de fleur" selon les cercles de confiance Ŋ1 et Ŋ2 et les flux de données produit par les clefs dérivées.
![N.ONE.2](https://www.copylaradio.com/web/image/6038/ASTROPORT_multiWoTNet.png)
Contrat intelligent déclenchés par "G1Tag" (clefs dérivées) assure l'extraction les "G1MotsClefs" des Tiddlers "environnant".
Introduit dans [UPlanet](https://git.p2p.legal/qo-op/OSM2IPFS), inscrit dans le système de fichier interplanétaire, nos TiddlyWiki sont la base d'un système d'information planétaire Libre.
Le contrat intelligent de base consiste à collecter les données produites par chaque TW pour les remonter au niveau de la couche d'information supérieure.
* 0.01°: Les Tiddlers sont inscrit au niveau local et possèdent une signature (votre email). Chaque jour un processus en analyse les nouveaux pour vous informer de la détection de "doublons différents". Le "conflit" est résolu en
* 0.1° : > 2 signatures
* 1° : > 3 signatures
* 10° : > 4 signatures
* UPlanet : 5 signatures et plus.
Afin de déclencher lexécution de "contrat intelligent personnel", il vous suffit de créer un "voeu" (et de lui attribuer quelques Zen)
A ce moment, "ASTROBOT" publiera les données relatives au Tag concerné sur une nouvelle "clef dérivée IPNS personnelle"
2022-12-26 19:14:54 +01:00
# INSTALLATION (Linux Mint / Ubuntu / DEBIAN)
2022-03-04 00:01:58 +01:00
There is 2 methods one for server and one for Linux Mint desktop
## SERVER : Using DOCKER (and MyOS)
Server & printer only, the easiest way to automaticaly deploy Astroport.ONE services
```
sudo apt install docker-compose make
make install
2022-08-24 15:46:02 +02:00
```
> PLEASE REPORT ANY ISSUES
## DESKTOP : Using install.sh script
With desktop. Best for "Linux Mint" (or Debian compatible)
```
# install on system wide
# SOURCE GIT.P2P.LEGAL
2022-08-24 15:46:02 +02:00
bash <(wget -qO- https://git.p2p.legal/qo-op/Astroport.ONE/raw/branch/master/install.sh)
# SOURCE GITHUB
bash <(wget -qO- https://raw.githubusercontent.com/papiche/Astroport.ONE/master/install.sh)
2022-08-24 15:46:02 +02:00
```
2022-03-04 00:01:58 +01:00
> PLEASE REPORT ANY ISSUES
2023-04-23 19:04:36 +02:00
Si tout s'est bien déroulé, vous devriez trouver ces processus en cours d'execution...
```
2023-04-25 14:50:40 +02:00
/usr/local/bin/ipfs daemon --enable-pubsub-experiment --enable-namesy
/bin/bash /home/fred/.zen/G1BILLET/G1BILLETS.sh daemon
\_ /bin/bash /home/fred/.zen/G1BILLET/G1BILLETS.sh daemon
\_ nc -l -p 33101 -q 1
/bin/bash /home/fred/.zen/Astroport.ONE/12345.sh
\_ /bin/bash /home/fred/.zen/Astroport.ONE/12345.sh
\_ nc -l -p 1234 -q 1
/bin/bash /home/fred/.zen/Astroport.ONE/_12345.sh
\_ nc -l -p 12345 -q 1
2023-04-23 19:04:36 +02:00
```
2022-10-27 14:13:02 +02:00
# LANCEMENT
2023-04-23 19:04:36 +02:00
Après l'installation, vous devriez avoir 2 nouveaux raccourcis sur votre "Bureau"
2022-12-05 13:22:18 +01:00
2023-04-23 19:04:36 +02:00
* "Astroport" qui ouvre le portail de votre Station : http://astroport.localhost:1234
* "REC" qui permet d'enregistrer vos fichiers sur IPFS et publier leur Capusle dans votre TW
2022-12-26 19:14:54 +01:00
2023-04-23 19:04:36 +02:00
## Comment Gérer votre "Astroport" !
2023-01-07 19:19:33 +01:00
```
~/.zen/Astroport.ONE/command.sh
```
Permet la Gestion des PLAYER (et des G1VoeuX) en mode CLI
2022-12-04 23:02:09 +01:00
2023-04-26 23:13:03 +02:00
# "BASH API" : "♥BOX"
2023-01-12 16:20:47 +01:00
## http://astroport.localhost:1234
2022-12-26 19:17:52 +01:00
2023-03-31 17:47:28 +02:00
Une fois votre Station Astroport démarrée:
2023-04-16 23:26:48 +02:00
* le port 1234 publie API (REPONSE PORT TCP 12245 à 12445 )
* le port 12345 publie MAP(*) (CARTE DE L'ESSAIM - BOOTSTRAP / STATIONS)
2023-03-26 19:02:01 +02:00
* le port 33101 publie G1BILLETS (REPONSE PORT TCP 33102)
2022-12-26 19:17:52 +01:00
2023-03-31 17:47:28 +02:00
* le port 8080, 4001 et 5001 sont ceux de la passerelle IPFS
2023-03-26 19:02:01 +02:00
⚠ ASTROPORT NETCAT SYSTEM ⚠
2022-12-26 19:17:52 +01:00
2023-11-21 23:38:18 +01:00
Astroport n'a pas besoin de serveur web pour fonctionner. Nous utilisons l'outil réseau le plus simple "**netcat**".
Le fonctionnement donne accès à une "API BASH" (script du répertoire API)
2023-11-21 23:38:18 +01:00
Les requêtes se font en HTTP GET sur le port 1234, le PORT de réponse se trouve dans la page chargée.
Effectuez un regexp sur "url=ADRESSE:PORT" ou (◕‿‿◕) pour découvrir lequel.
Voici des exemples sur comment procéder.
2023-01-20 20:56:42 +01:00
## RECUPERATION DU PORT DE REPONSE API : (◕‿‿◕)
2023-04-26 23:21:47 +02:00
### CLI (BASH)
2023-01-20 20:56:42 +01:00
```
2023-01-21 13:51:44 +01:00
# PLAYER COPIER "_URL_" FAVORITE
curl -so ~/.zen/tmp/${MOATS}/astro.port "http://astroport.localhost:1234/?salt=0&pepper=0&g1pub=_URL_&email=${EMAIL}"
2023-01-20 20:56:42 +01:00
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
2023-01-21 13:51:44 +01:00
# RECUPERER SON JETON PLAYER
2023-01-20 20:56:42 +01:00
curl -so ~/.zen/tmp/${MOATS}/astro.rep "http://$TELETUBE:$TELEPORT"
```
2023-03-01 03:19:05 +01:00
### JS
Exemple :
2023-03-01 03:19:05 +01:00
```
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
}
}
```
2023-11-21 23:38:18 +01:00
Utilisez "[astro.js](templates/G1PalPay/G1PalPay_fichiers/astro.js)"
```
2023-06-30 16:34:42 +02:00
<script src="https://ipfs.asycn.io/ipfs/Qmae5v9zydax9u6C9ceDijURu5PYdd5avmv4NkenCw7RFv/astro.js"></script>
```
2023-01-20 18:56:17 +01:00
## ➤ PRIVATE ZONE (fonctionne sur toutes les Stations.)
2022-12-26 19:17:52 +01:00
### ```/?salt=${SALT}&pepper=${PEPPER}&${APPNAME}=${WHAT}&${OBJ}=${VAL}...```
2023-04-14 17:42:58 +02:00
### Créer (ou téléporter) un PLAYER TW : OFFICIAL <3BOX :
2023-01-20 18:56:17 +01:00
```http
GET /?salt=${SALT}&pepper=${PEPPER}&g1pub=${URLENCODEDURL}&email=${PLAYER}
```
2022-12-28 14:28:31 +01:00
2023-01-20 18:56:17 +01:00
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `salt` | `string` | **Required**. Your passphrase one token |
| `pepper` | `string` | **Required**. Your passphrase two token |
2023-04-14 17:42:58 +02:00
| `g1pub` | `string` | **Required**. Your prefered _URL_ to copy video from |
| `email` | `email` | **Required**. Your email token |
2022-12-26 19:17:52 +01:00
### LOGOUT PLAYER (remove IPNS keys from Station)
```http
GET /?salt=${SALT}&pepper=${PEPPER}&logout=${PLAYER}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `salt` | `string` | **Required**. Your passphrase one token |
| `pepper` | `string` | **Required**. Your passphrase two token |
2023-04-14 17:42:58 +02:00
| `logout` | `string` | **Required**. Your email token |
### LOGIN PLAYER (Activate IPNS keys on Station)
```http
GET /?salt=${SALT}&pepper=${PEPPER}&login=${PLAYER}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `salt` | `string` | **Required**. Your passphrase one token |
| `pepper` | `string` | **Required**. Your passphrase two token |
2023-04-14 17:42:58 +02:00
| `login` | `string` | **Required**. Your email token |
2023-03-11 14:29:27 +01:00
### Définir le niveau ★ accordé à un "g1friend"
```http
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 |
2022-12-28 14:28:31 +01:00
2023-04-14 17:42:58 +02:00
### Lire Messagerie de la base "GChange"
2023-01-20 18:56:17 +01:00
```http
GET /?salt=${SALT}&pepper=${PEPPER}&messaging=on
```
2022-12-26 19:17:52 +01:00
2023-01-20 18:56:17 +01:00
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `salt` | `string` | **Required**. Your passphrase one token |
| `pepper` | `string` | **Required**. Your passphrase two token |
| `messaging` | `string` | **Required**. (on=json) output type |
2022-12-28 14:28:31 +01:00
2023-01-20 18:56:17 +01:00
### Conversion vers adresse IPNS
```http
GET /?salt=${SALT}&pepper=${PEPPER}&getipns=on
```
2022-12-26 19:17:52 +01:00
2023-01-20 18:56:17 +01:00
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `salt` | `string` | **Required**. Your passphrase one token |
| `pepper` | `string` | **Required**. Your passphrase two token |
| `getipns` | `string` | **Required** on |
2022-12-28 14:28:31 +01:00
2023-01-20 18:56:17 +01:00
### AppName=testcraft : Enregistrer JSON
```http
GET /?salt=${SALT}&pepper=${PEPPER}&testcraft=json&nodeid=_&dataid=$QRHASH
```
2022-12-26 19:17:52 +01:00
2023-01-20 18:56:17 +01:00
| 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 |
2022-12-26 19:17:52 +01:00
2023-04-14 17:42:58 +02:00
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'
```
2023-03-26 20:46:27 +02:00
### Redirections
2022-12-26 19:17:52 +01:00
* vers Gchange
2022-12-28 14:28:31 +01:00
2022-12-26 19:17:52 +01:00
```/?salt=${SALT}&pepper=${PEPPER}&g1pub=on```
* vers TW
2022-12-28 14:28:31 +01:00
2022-12-26 19:17:52 +01:00
```/?salt=${SALT}&pepper=${PEPPER}&g1pub=astro```
2023-04-14 17:42:58 +02:00
### Déclencher un Payement de Ğ1 à une G1PUB
2023-03-13 02:19:37 +01:00
```http
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" |
2023-09-09 17:11:53 +02:00
## ➤ PLAYER ZONE (disponible uniquement sur la Station qui héberge ${PLAYER})
2023-01-20 18:56:17 +01:00
### ```/?player=${PLAYER}&${APPNAME}=${WHAT}&${OBJ}=${VAL}...```
2022-12-27 15:48:58 +01:00
2023-01-20 18:56:17 +01:00
### Exporter Tiddlers.json depuis son TW selon valeur des "tags" ( ici TAG=G1CopierYoutube)
```http
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 |
2022-12-28 14:28:31 +01:00
2022-12-28 14:27:01 +01:00
2023-04-24 17:03:00 +02:00
### Lancer la copie d'une URL (youtube | pdf ) par PLAYER dans son TW
```http
GET /?player=${PLAYER}&youtube=URLENCODED
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `player` | `string` | **Required**. Your EMAIL token |
2023-04-24 19:06:38 +02:00
| `youtube or pdf` | `string` | **Required** URL kind = URL |
2023-04-24 16:21:21 +02:00
2022-12-26 19:17:52 +01:00
2023-09-09 17:11:53 +02:00
## ➤ AMZQR : Create a QRCode with "amzqr"
### ```/?amzqr=${URLENCODEDSTRING}&logo=${IMAGE}```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `amzqr` | `string` | **Required** the qrcode string |
| `logo` | `string` | **Required** ./images/${IMAGE}.png |
check available "logo.png" in [./images](./images)
## ➤ UPLANET : Create Umap, AstroID & ZenCard for PLAYER (email)
2023-09-09 17:11:53 +02:00
### ```/?uplanet=${PLAYER}&salt=${LAT}&pepper=${LON}&g1pub=${PASS}```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `uplanet` | `email` | **Required** Your EMAIL token |
| `salt` | `decimal` | **Required** LATITUDE with 2 decimals digits |
| `pepper` | `decimal` | **Required** LONGITUDE with 2 decimals digits |
| `g1pub` | `string` | **Facultative** choose Umap AstroID PASS |
2023-09-09 17:11:53 +02:00
Create à Umap key (LAT/LON), then a PLAYER TW with GPS as Umap IPNS reference
This API is used by OSM2IPFS code.
DEMO : https://ipfs.copylaradio.com/ipns/copylaradio.com
2023-02-11 21:48:26 +01:00
### QRCODE (API SandBox)
2023-01-20 18:56:17 +01:00
```http
GET /?qrcode=${G1PUB} | ${ASTRONAUTENS} | ${PGP_ASTROID_STRING}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `qrcode` | `string` | **Required**. Your G1PUB or ASTRONAUTENS or PGP_ASTROID token |
> Look for details & extend as you like in [~/.zen/Astroport.ONE/API/QRCODE.sh](API/QRCODE.sh)
### CODE BEHAVIOUR. monitor && rewards || fork signal
2023-04-14 17:42:58 +02:00
* Is IPNS key & PLAYER is local ? Redirect to [make a ASTROID (security level 6)](http://g1billet.localhost:33101/?montant=0&style=xbian&dice=6)
* Is G1*? Redirect to G1WishApp / Export Tagged Tiddlers json from TW
2023-06-30 16:34:42 +02:00
[http://astroport.localhost:1234/?qrcode=G1G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0](https://astroport.copylaradio.com/?qrcode=G1G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0)
redirect to
2023-06-30 16:34:42 +02:00
[http://ipfs.localhost:8080/ipns/k51qzi5uqu5din47zmnzk6tmk1tjqaeaj9pbb3qilmstbsf9uyc12qpdmigtd3/](https://ipfs.asycn.io/ipns/k51qzi5uqu5din47zmnzk6tmk1tjqaeaj9pbb3qilmstbsf9uyc12qpdmigtd3/)
2023-06-30 16:34:42 +02:00
[http://astroport.localhost:1234/?qrcode=G1G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0&json](https://astroport.copylaradio.com/?qrcode=G1G1Serie&tw=k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0&json)
redirect to pure "tag=" result json
* Is G1PUB ... (FROM NEW ASTROID or empty G1BILLET)
2023-04-24 16:02:29 +02:00
* If balance is "null" : Send 1 G1 (G1BILLET)
* if GChange+ account exists : send 10 G1
* if Cesium+ account exists : send 50 G1
* Is ASTROID
2023-04-24 16:02:29 +02:00
* decode with PASS and make operation (same functions as SALT API are available)
## The Art of key derivation, chaining & use
2023-05-08 14:45:01 +02:00
In order to make (a little) clear how we use cryptography,
We choose to use "NaCl" (secret1 / secret) 2 key generation, so it is easy to understand Web3 mechanism.
2023-05-08 14:45:01 +02:00
**(SECRET1/SECRET2) mixing**
2023-05-08 14:45:01 +02:00
* If PLAYER key is (SECRET1/SECRET2) and G1PUB and EMAIL + TW
* wishes keys are (SECRET2 / WishName EMAIL)
2023-05-08 14:45:01 +02:00
* sub-wishes are (EMAIL / G1WishName G1PUB)
* wish-billets are (EMAIL_dice_words / G1WishName G1PUB)
This way PLAYER TW capable of retrieving and never loose its data.
It is writen into IPFS... So recreate the key anywhere makes you get your data from friends you shared it with.
**Cross (G1PUB) keys**
Between PlayerA (AG1PUB) & PlayerB (BG1PUB) obvious communication channel keys are existing :
(AG1PUB / AG1PUB) - A knock on the door
(AG1PUB / BG1PUB) - From A to B channel
(BG1PUB / AG1PUB) - From B to A channel
(BG1PUB / BG1PUB) - B knock on the door
We can use this to implement protocols, for exemple :
To ollow PlayerA / PlayerB to become friends
A write a KNOCK.AG1PUB file + signature using (BG1PUB / BG1PUB) keygen IPNS key,
Then B reply with the same KNOCK at (AG1PUB / AG1PUB) address
A/B - B/A keys can be used as bidirectionnal encrypted data channels.
In a well formed IPFS swarm, we could even send video... Check code in ```/tools/streaming/```
**(LON / LAT) keys**
NaCl keys can be initiated with GPS Geoloc and receive shared informations.
Using the same A/B swapping method, any A place have also a communication channel with B place ;)
2023-07-19 23:07:06 +02:00
**(COUNTRY / ZIP) keys**
2023-07-19 23:07:06 +02:00
For a town key, we could use country code + ZIP code, ... etc
Many public application can be easily addressed like that
2023-07-19 23:07:06 +02:00
As these keys are discoverable, the channel can be hijacked by anyone.
So ASTROBOT while applying ScuttleButt replications will ".chain.ts" data and check for protocol respect.
2023-07-19 23:07:06 +02:00
Data can't be lost, but protocol chain can be break !
In case of some annoyance, we can monitor IPFS protocol to identify which IPFSNODEID key is acting badly and apply reaction based on DEFCON level (look into astrXbian code)
2023-05-08 14:45:01 +02:00
2023-04-14 17:42:58 +02:00
### LOW RESSOURCE STATION CAN ACTIVATE LOW MODE (disable ipfs daemon)
2023-04-04 20:33:01 +02:00
```
2023-04-14 17:42:58 +02:00
~/.zen/Astroport.ONE/tools/cron_VRFY.sh LOW
2023-04-04 20:33:01 +02:00
sudo systemctl restart astroport.service
sudo systemctl restart g1billet.service
2023-04-04 20:33:01 +02:00
```
### STATION : Show Station PLAYER's G1 investments levels
```http
GET /?qrcode=station
2023-01-20 18:56:17 +01:00
```
2022-12-26 19:17:52 +01:00
2023-04-12 11:57:51 +02:00
### 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}
```
2022-12-26 19:17:52 +01:00
2022-12-15 02:35:59 +01:00
# 20H12
2022-11-01 16:16:22 +01:00
Chaque jour, les ASTROBOTs captent les :star: de leurs PLAYERs puis exécutent le protocole de synchronisation Ŋ1
2022-12-15 02:35:59 +01:00
[20H12.sh](/qo-op/Astroport.ONE/src/branch/master/20h12.sh)
2022-11-01 16:16:22 +01:00
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 :
2022-11-01 16:16:22 +01:00
2023-01-07 19:19:33 +01:00
[![TW FEEDS](https://ipfs.copylaradio.com/ipfs/Qma9zvrYHGcUPisLKBcG9U9sktThX5VfVci8jfM8D9RspT)](https://pad.p2p.legal/s/G1TWFeed#)
2022-12-26 19:07:32 +01:00
# IPFS : UN STOCKAGE INALTERABLE ET INTELLIGENT
2022-10-30 03:23:01 +01:00
2023-06-30 16:34:42 +02:00
[![](https://ipfs.asycn.io/ipfs/QmafsWdAeB5W9HcNPQWK2yjTgcW8eTxHoSD7bzE55mtrdP)
2022-10-30 03:23:01 +01:00
### "The Barefoot Architect" de Johan Van Lengen.
Lignes de commandes
```
ipfs ls Qme6a6RscGHTg4e1XsRrpRoNbfA6yojC6XNCBrS8nPSEox/
2022-12-10 22:10:31 +01:00
ipfs cat QmbfVUAyX6hsxTMAZY7MhvUmB3AkfLS7KqWihjGfu327yG > /tmp/vdoc.pub_the-barefoot-architect.pdf && xdg-open /tmp/vdoc.pub_the-barefoot-architect.pdf
2022-10-30 03:23:01 +01:00
```
Après un passage par [ajouter_media.sh](/qo-op/Astroport.ONE/src/branch/master/ajouter_media.sh)
Les données sont stockées [dans des Tiddlers](https://ipfs.copylaradio.com/ipns/k51qzi5uqu5dgobi9ozzzvdftqfd3hd7a1488nzymky1edz8j779jov7sbemc0#Foret_Enchantee-PROJET_ASTROPORT)
2022-10-30 03:23:01 +01:00
### Foret Enchantée - PROJET ASTROPORT.pdf
2022-12-04 19:12:02 +01:00
https://ipfs.copylaradio.com/ipfs/QmUtGpGeMZvwp47ftqebVmoFWCmvroy5wEtWsKvWvDWJpR
2022-10-30 03:23:01 +01:00
2022-05-10 00:37:10 +02:00
---
2022-03-04 00:01:58 +01:00
2023-01-07 19:19:33 +01:00
## SIMULATIONS LOOPY
2022-10-29 14:08:15 +02:00
> [Simulateur Astronaute/Voeux](https://ncase.me/loopy/v1.1/?data=[[[3,646,229,0.5,%22Astronaute%22,5],[4,806,372,0.16,%22G1Voeu%22,3],[5,449,133,0.83,%22G1Talent%22,1],[6,928,124,0.5,%22Astronaute%22,0],[7,1055,293,0.5,%22Astronaute%22,0],[8,883,587,0.5,%22Astronaute%22,0],[10,691,54,0.5,%22G1Voeu%22,3]],[[3,5,82,1,0],[3,4,-87,1,0],[6,4,83,1,0],[4,5,176,1,0],[8,8,85,1,12],[8,4,-45,1,0],[7,4,34,1,0],[5,3,49,1,0],[7,7,101,1,225],[6,6,113,1,-84],[3,3,90,1,75],[5,4,-293,1,0],[3,10,34,1,0]],[],10%5D)
2022-12-10 22:10:31 +01:00
> [Essaim Astroport.ONE](https://ncase.me/loopy/v1.1/?data=[[[1,419,351,1,%22Astroport.ONE%22,3],[2,506,530,1,%22Terrien%22,5],[3,499,95,1,%22IPFS%22,1],[4,272,225,1,%22Astroport.ONE%22,3],[5,620,297,0.16,%22Astroport.ONE%22,4],[7,927,69,0.66,%22Astroport.ONE%22,3],[8,798,175,0.66,%22Astroport.ONE%22,3]],[[2,1,94,-1,0],[1,2,89,1,0],[2,5,-122,1,0],[5,3,58,1,0],[3,5,25,1,0],[4,3,117,1,0],[3,4,-152,1,0],[1,3,60,1,0],[3,1,-18,1,0],[7,3,-44,1,0],[3,7,15,1,0],[8,3,37,1,0],[3,8,-47,1,0]],[[798,557,%22https%253A%252F%252Fipfs.copylaradio.com%253A1234%250A(salt%2520%252F%2520pepper%2520%252F%2520email)%2520%253D%2520TW%2520%252B%2520AstroBot%2520API%22],[256,141,%22Station%2520Officielle%250A(Bootstrap%2520%252B%2520RoundRobin%2520DNS)%22],[868,332,%22D%25C3%25A9l%25C3%25A9gation%2520de%2520clef%250A(Tiers%2520de%2520confiance)%22]],9%5D)
2022-10-29 14:08:15 +02:00
2022-12-16 15:26:01 +01:00
## Stargazers over time
[![Stargazers over time](https://starchart.cc/papiche/Astroport.ONE.svg)](https://starchart.cc/papiche/Astroport.ONE)
2023-04-15 23:56:53 +02:00
## CREDITS
This "digital art" structure is a selection of some of the most valuable Free & OpenSource Software I ever had in my hand.
Credits is going to all the kindness and care provided to make valuable and secure software available for all
Did you ever dring a beer bought in G1 ?
You can pay me a beer or more by contributing to our OpenCollective
https://opencollective.com/monnaie-libre#category-ABOUT
## IPFS Ecosystem Directory Submission Form
https://airtable.com/appLWiIrg9SQaEtEq/shrjwvk9pAeAk0Ci7