GITBOOK-2: No subject

This commit is contained in:
support 2024-06-08 13:23:15 +00:00 committed by gitbook-bot
parent 25714275ec
commit 21d5da33c9
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
4 changed files with 355 additions and 0 deletions

View File

@ -12,3 +12,6 @@
* [REGION.refresh.sh](astroport-20h12/uplanet.refresh.sh/region.refresh.sh.md)
* [G1PalPay.sh](astroport-20h12/g1palpay.sh.md)
* [tools/Connect\_PLAYER\_To\_Gchange.sh](astroport-20h12/tools-connect\_player\_to\_gchange.sh.md)
* [API](api/README.md)
* [PLAYER.sh](api/player.sh.md)
* [QRCODE.sh](api/qrcode.sh.md)

96
api/README.md Normal file
View File

@ -0,0 +1,96 @@
# API
Les scripts situés dans le répertoire `/API` de l'écosystème Astroport.ONE fournissent une variété de fonctionnalités via une interface API, allant de la gestion des joueurs et des zones géographiques à la génération de clés et la gestion des QR codes
#### 1. `PLAYER.sh`
Ce script gère les interactions avec les joueurs, en particulier les opérations liées aux TiddlyWikis (TW) des joueurs.
**Fonctionnalités Principales :**
* **Exportation de Tiddlers** : Permet d'exporter des tiddlers spécifiques tagués avec un certain mot-clé.
* **Gestion des @PASS** : (Commenté) Création de passes pour les joueurs.
* **Ajout de Médias** : (Commenté) Ajout de vidéos YouTube, PDF, ou images au TW du joueur.
**Exemple de Commande :**
```bash
GET /?player=PLAYER&moa=json&tag=FILTER
```
#### 2. `DRAGONS.sh`
Ce script est utilisé pour détecter les stations UPLANET en cours d'exécution et récupérer leurs coordonnées GPS.
**Fonctionnalités Principales :**
* **Détection des Stations** : Recherche des stations UPLANET en cours d'exécution et collecte leurs coordonnées GPS.
* **Retour des Données en JSON** : Retourne les données des stations détectées au format JSON.
**Exemple de Commande :**
```bash
GET /?dragons
```
#### 3. `ZONE.sh`
Ce script est utilisé pour rechercher les numéros de TW dans une zone géographique spécifiée.
**Fonctionnalités Principales :**
* **Détection des TW dans une Zone** : Recherche les numéros de TW dans une zone géographique spécifiée par des coordonnées de latitude et de longitude.
* **Retour des Données en JSON** : Retourne les données des TW trouvés au format JSON.
**Exemple de Commande :**
```bash
GET /?zone=DEG&ulat=LAT&ulon=LON
```
#### 4. `UPLANET.sh`
Ce script est dédié aux applications OSM2IPFS et UPlanet Client App. Il gère les atterrissages UPLANET et la création de ZenCards et AstroIDs.
**Fonctionnalités Principales :**
* **Gestion des Atterrissages UPLANET** : Vérifie et enregistre les coordonnées géographiques des joueurs.
* **Création de ZenCards et AstroIDs** : Génère des ZenCards et des AstroIDs pour les joueurs.
**Exemple de Commande :**
```bash
GET /?uplanet=EMAIL&zlat=LAT&zlon=LON&g1pub=PASS
```
#### 5. `QRCODE.sh`
Ce script gère les opérations liées aux QR codes, y compris les redirections HTTP et les opérations multi-clés.
**Fonctionnalités Principales :**
* **Redirection HTTP** : Redirige les liens HTTP encodés dans les QR codes.
* **Opérations Multi-Clés** : Gère les opérations liées aux clés PGP, G1Milgram, et autres.
**Exemple de Commande :**
```bash
GET /?qrcode=URLENCODEDSTRING&logo=IMAGE
```
#### 6. `SALT.sh`
Ce script gère les opérations d'authentification par clé privée en utilisant les paramètres `salt` et `pepper`.
**Fonctionnalités Principales :**
* **Génération de Clés** : Génère des clés à partir des paramètres `salt` et `pepper`.
* **Messagerie** : Extrait les messages de Gchange+ pour un utilisateur donné.
**Exemple de Commande :**
```bash
GET /?salt=SALT&pepper=PEPPER&APPNAME=messaging
```
####

116
api/player.sh.md Normal file
View File

@ -0,0 +1,116 @@
# PLAYER.sh
Le script `PLAYER.sh` dans le répertoire `/API` de l'écosystème Astroport.ONE est conçu pour gérer les interactions avec les joueurs, en particulier les opérations liées aux TiddlyWikis (TW) des joueurs.
Il permet d'exporter des tiddlers spécifiques, de gérer les passes (fonctionnalité désactivée), et d'ajouter des médias au TiddlyWiki des joueurs (fonctionnalité désactivée). Le script utilise des requêtes HTTP pour communiquer avec les clients et renvoie les données sous forme de JSON.
 Voici une analyse détaillée de son fonctionnement :
#### Fonctionnalités Principales
1. **Initialisation et Configuration** :
* Le script commence par définir le chemin du script (`MY_PATH`) et le normalise pour obtenir un chemin absolu.
* Il source un fichier de configuration commun (`my.sh`) pour utiliser des fonctions et des variables partagées.
* Il initialise les variables nécessaires à partir des arguments passés au script.
2. **Gestion des Requêtes HTTP** :
* Le script prépare une réponse HTTP avec les en-têtes appropriés pour permettre les requêtes CORS (Cross-Origin Resource Sharing).
3. **Exportation de Tiddlers** :
* Si le paramètre `APPNAME` est `moa`, le script exporte les tiddlers spécifiques tagués avec un certain mot-clé (`WHAT`).
* Il utilise TiddlyWiki pour charger le fichier `index.html` du joueur et exporter les tiddlers dans un fichier JSON.
* La réponse est envoyée au client sous forme de JSON.
4. **Gestion des @PASS** :
* (Commenté) Le script contient une section pour la création de passes pour les joueurs, mais cette fonctionnalité est désactivée.
5. **Ajout de Médias** :
* (Commenté) Le script contient une section pour l'ajout de vidéos YouTube, PDF, ou images au TW du joueur, mais cette fonctionnalité est désactivée.
#### Étapes du Script
1. **Définition des Variables et Chemins** :
```bash
MY_PATH="`dirname \"$0\"`"
MY_PATH="`( cd \"$MY_PATH\" && pwd )`"
. "${MY_PATH}/../tools/my.sh"
start=`date +%s`
PORT=$1
PLAYER=$2
APPNAME=$3
OBJ=$5
HTTPCORS="HTTP/1.1 200 OK Access-Control-Allow-Origin: ${myASTROPORT} Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET Server: Astroport.ONE Content-Type: text/html; charset=UTF-8 "
```
2. **Vérification du Joueur** :
* Le script vérifie si le joueur (`PLAYER`) est fourni et valide.
* Il récupère l'adresse IPNS de l'astronaute (`ASTRONAUTENS`) associée au joueur.
```bash
[[ ! ${PLAYER} ]] && (echo "${HTTPCORS} BAD PLAYER - EXIT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && exit 1
ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)
[[ ! ${ASTRONAUTENS} ]] && (echo "${HTTPCORS} UNKNOWN PLAYER ${PLAYER} - EXIT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && exit 1
```
3. **Exportation de Tiddlers** :
* Si `APPNAME` est `moa`, le script exporte les tiddlers tagués avec `WHAT` (par défaut `G1CopierYoutube`).
* Il utilise TiddlyWiki pour charger le fichier `index.html` du joueur et exporter les tiddlers dans un fichier JSON.
* La réponse est envoyée au client sous forme de JSON.
```bash
if [[ ${APPNAME} == "moa" ]]; then
[[ ! ${WHAT} ]] && WHAT="G1CopierYoutube"
echo "EXPORT MOATUBE ${PLAYER} ${WHAT}"
tiddlywiki --load ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html --output ~/.zen/tmp/ --render '.' "${PLAYER}.moatube.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "[tag[${WHAT}]]"
if [[ ! ${THIS} || ${THIS} == "json" ]]; then
echo "${HTTPCORS}" > ~/.zen/tmp/${MOATS}.${PLAYER}.http
sed -i "s~text/html~application/json~g" ~/.zen/tmp/${MOATS}.${PLAYER}.http
cat ~/.zen/tmp/${PLAYER}.moatube.json >> ~/.zen/tmp/${MOATS}.${PLAYER}.http
cat ~/.zen/tmp/${MOATS}.${PLAYER}.http | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
fi
end=`date +%s`
echo "(TW) MOA Operation time was "`expr $end - $start` seconds.
exit 0
fi
```
4. **Gestion des @PASS** :
* (Commenté) Le script contient une section pour la création de passes pour les joueurs, mais cette fonctionnalité est désactivée.
```bash
#~ if [[ ${APPNAME} == "atpass" ]]; then
#~ echo "CREATING @PASS"
#~ end=`date +%s`
#~ echo "(@PASS) creation time was "`expr $end - $start` seconds.
#~ exit 0
#~ fi
```
5. **Ajout de Médias** :
* (Commenté) Le script contient une section pour l'ajout de vidéos YouTube, PDF, ou images au TW du joueur, mais cette fonctionnalité est désactivée.
```bash
#~ if [[ ${APPNAME} == "youtube" || ${APPNAME} == "pdf" || ${APPNAME} == "image" ]]; then
#~ APPNAME=$(echo ${APPNAME} | sed -r 's/\<./\U&/g' | sed 's/ //g') ## First letter Capital
#~ [[ ! ${THIS} ]] && THIS="https://www.youtube.com/watch?v=BCl2-0HBJ2c"
#~ echo ">>> COPY ${APPNAME} for ${PLAYER} from ${THIS}"
#~ G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub)
#~ [[ ! ${G1PUB} ]] && espeak "NOT MY PLAYER " && echo "${PLAYER} IS NOT MY PLAYER" && exit 1
#~ echo "================================================"
#~ echo "${PLAYER} : ${myIPFS}/ipns/${ASTRONAUTENS}"
#~ echo " = /ipfs/${TW}"
#~ echo "================================================"
#~ ${MY_PATH}/../ajouter_media.sh "${THIS}" "${PLAYER}" "${APPNAME}" &
#~ echo "${HTTPCORS}" > ~/.zen/tmp/${MOATS}.${PLAYER}.http
#~ echo "${myIPFS}/ipns/${ASTRONAUTENS}" >> ~/.zen/tmp/${MOATS}.${PLAYER}.http
#~ (
#~ cat ~/.zen/tmp/${MOATS}.${PLAYER}.http | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
#~ rm ~/.zen/tmp/${MOATS}.${PLAYER}.http
#~ ) &
#~ # ### REFRESH CHANNEL COPY
#~ end=`date +%s`
#~ echo "(TW) MOA Operation time was "`expr $end - $start` seconds.
#~ exit 0
#~ fi
```
####

140
api/qrcode.sh.md Normal file
View File

@ -0,0 +1,140 @@
# QRCODE.sh
***
L'API `QRCODE` permet de gérer diverses opérations liées aux QR codes, y compris la redirection de liens, la gestion des clés IPNS, et l'interaction avec des chaînes de blocs comme G1. Voici les détails sur les différentes fonctionnalités de cette API.
#### Fonctionnement Général
L'API `QRCODE` est accessible via des requêtes HTTP GET. Les paramètres de la requête déterminent l'action spécifique à effectuer. Voici les principales fonctionnalités :
#### Redirection de Liens Web
Si le QR code contient un lien HTTP, l'API redirige simplement vers ce lien.
**Exemple de requête :**
```http
GET /?qrcode=http://example.com
```
**Réponse :**
```http
HTTP/1.1 302 Found
Location: http://example.com
```
#### Gestion des Stations
Pour rafraîchir une station et ouvrir l'interface G1PalPay, utilisez le paramètre `station`.
**Exemple de requête :**
```http
GET /?qrcode=station
```
**Réponse :**
```http
HTTP/1.1 302 Found
Location: http://<IPFS_LINK_TO_STATION>
```
#### QR Code PGP Encrypté
Pour gérer un QR code contenant un message PGP encrypté, utilisez le paramètre `pass` pour fournir la phrase de passe.
**Exemple de requête :**
```http
GET /?qrcode=-----BEGIN%20PGP%20MESSAGE-----~~jA0ECQMC5iq8...&pass=coucou
```
**Réponse :**
```http
HTTP/1.1 200 OK
Content-Type: text/html
...
```
#### Mode G1Voeu
Pour retourner l'adresse IPNS d'un souhait (voeu) ou un lien direct vers un tag spécifique dans TiddlyWiki.
**Exemple de requête :**
```http
GET /?qrcode=G1Tag&tw=_IPNS_PLAYER_&json
```
**Réponse :**
```http
HTTP/1.1 200 OK
Content-Type: application/json
...
```
#### Conversion d'Adresse IPNS
Pour convertir une adresse IPNS en lien G1 ou vice versa.
**Exemple de requête :**
```http
GET /?qrcode=12D3Koo...&getipns=on
```
**Réponse :**
```http
HTTP/1.1 200 OK
Content-Type: text/html
...
```
#### Paramètres
| Paramètre | Type | Description |
| --------- | -------- | ------------------------------------------------------------- |
| `qrcode` | `string` | **Requis**. Le contenu du QR code |
| `pass` | `string` | **Optionnel**. Phrase de passe pour déchiffrer le message PGP |
| `getipns` | `string` | **Optionnel**. Convertir une adresse IPNS |
| `tw` | `string` | **Optionnel**. Adresse IPNS de TiddlyWiki |
| `json` | `string` | **Optionnel**. Retourner le résultat en format JSON |
#### Exemples d'Utilisation
**Redirection de Lien Web**
```http
GET /?qrcode=http://example.com
```
**Rafraîchir une Station**
```http
GET /?qrcode=station
```
**QR Code PGP Encrypté**
```http
GET /?qrcode=-----BEGIN%20PGP%20MESSAGE-----~~jA0ECQMC5iq8...&pass=coucou
```
**Mode G1Voeu**
```http
GET /?qrcode=G1Tag&tw=_IPNS_PLAYER_&json
```
**Conversion d'Adresse IPNS**
```http
GET /?qrcode=12D3Koo...&getipns=on
```