Le but de cet API est de pouvoir ping et faire du monitoring de statut sur un siteweb/IP.
L'API garde ces anciennes versions de fonctionnement, vous pouvez donc choisir la version de l'API que vous souhaitez dans le lien de la requête.
/api/vX/
(X = version de l'API)
Exemple
https://mondomaine.fr/api/v2/
Version API:
v1
Le lien dépend de votre nom de domaine mais il existe une partie fixe:
/api/v1/host/votreIPouURL.fr
Exemple
https://mondomaine.fr/api/v1/host/google.com
Résultat Attendu
{
"pingInfo": {
"host": "google.com",
"alive": true,
"output": "PING google.com (172.217.19.238): 56 data bytes\n64 bytes from 172.217.19.238: icmp_seq=0 ttl=119 time=15.800 ms\n\n--- google.com ping statistics ---\n1 packets transmitted, 1 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 15.800/15.800/15.800/0.000 ms\n",
"time": 15.8,
"times": [
15.8
],
"min": "15.800",
"max": "15.800",
"avg": "15.800",
"stddev": "0.000",
"packetLoss": "0.000",
"numeric_host": "172.217.19.238"
},
"statusInfo": {
"sitewebAccessible": true,
"statusCode": 200,
"error": null,
"statusMessage": "OK"
}
}
v2
Le lien dépend de votre nom de domaine mais il existe une partie fixe qui dépend de votre demande:
/api/v2/ping/votreIPouURL.fr
Exemple
https://mondomaine.fr/api/v2/ping/google.com
Résultat Attendu
{
"pingInfo": {
"host": "google.com",
"alive": true,
"output": "PING google.com (142.250.178.142): 56 data bytes\n64 bytes from 142.250.178.142: icmp_seq=0 ttl=119 time=14.771 ms\n\n--- google.com ping statistics ---\n1 packets transmitted, 1 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 14.771/14.771/14.771/0.000 ms\n",
"time": 14.771,
"times": [
14.771
],
"min": "14.771",
"max": "14.771",
"avg": "14.771",
"stddev": "0.000",
"packetLoss": "0.000",
"numeric_host": "142.250.178.142"
}
}
/api/v2/status/votreIPouURL.fr
Exemple
https://mondomaine.fr/api/v2/status/google.com
Résultat Attendu
{
"pingInfo": {
"host": "google.com",
"alive": true,
"output": "PING google.com (216.58.213.142): 56 data bytes\n64 bytes from 216.58.213.142: icmp_seq=0 ttl=119 time=15.788 ms\n\n--- google.com ping statistics ---\n1 packets transmitted, 1 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 15.788/15.788/15.788/0.000 ms\n",
"time": 15.788,
"times": [
15.788
],
"min": "15.788",
"max": "15.788",
"avg": "15.788",
"stddev": "0.000",
"packetLoss": "0.000",
"numeric_host": "216.58.213.142"
},
"statusInfo": {
"sitewebAccessible": true,
"statusCode": 200,
"error": null,
"statusMessage": "OK"
}
}
Vous pouvez ping un lien qui contient un port en rajoutant ceci:
<> ne pas ajouter
.../votreIPouURL.fr?port=<votre port>
Exemple
.../google.com?port=80
Vous pouvez choisir le temps avant que la requête soit annulée
<> ne pas ajouter
.../votreIPouURL.fr?timeout=<temps en millisecondes>
Exemple
.../google.com?timeout=5000
Pour cela il vous suffit de remplacer le deuxième ?
par un &
Exemple
.../google.com?port=80&timeout=5000
Le site pingly.app est et sera continuellement actualisé avec la dernière version de cette api. Vous pouvez donc utiliser ce lien librement et a bon escient.
Pour installer les modules nécéssaire au bon fonctionnement de l'API il faut éxécuter cette commande dans le terminal du dossier
npm install
Cette API utilise Sentry comme logiciel d'enregistrement d'erreurs et de performances. Pour faire fonctionner ce système il suffit de mettre la clé correspondant à votre projet dans Sentry dans le fichier .env
(expliqué ici).
Cette fonctionnalité n'est pas obligatoire mais est cependant fortement recommandée pour avoir un aperçu des erreurs qu'il pourrait avoir lieu.
Il existe un fichier .env.exemple
il faut le renommer et enlever le .exemple
. Vous pourrez par la suite modifier les informations si situant à l'intérieur pour changer la configuration de votre API
Le fichier de démarrage est le app.js
Les scripts de démarrages disponibles sont:
-
npm run start
Pour un démarrage simple -
npm run dev
Pour un démarrage en développement