Par défaut, seul l'ordinateur qui fait tourner Asterobot peut utiliser Asteroboard. Vous pouvez l'ouvrir aux autres appareils de votre réseau domestique : votre téléphone sur le canapé, un portable dans une autre pièce. Pour une machine qui n'est pas sur votre réseau, comme un serveur loué, voir Asterobot sur une machine distante.
Les exemples appellent l'ordinateur qui fait tourner Asterobot « l'ordinateur Asterobot », et lui donnent l'adresse 192.168.1.20 sur votre réseau. Remplacez-la par la vôtre.
Pourquoi il faut HTTPS
Asteroboard vient de https://asteroboard.asterobot.net, une page HTTPS. Les navigateurs ne laissent pas une page HTTPS envoyer de simples requêtes http://, sauf vers l'appareil sur lequel tourne le navigateur, comme 127.0.0.1. C'est grâce à cette exception que l'installation par défaut fonctionne sur l'ordinateur Asterobot, et c'est à cause d'elle qu'un téléphone qui vise http://192.168.1.20:8080 reste déconnecté.
Un autre appareil peut tout de même atteindre Asterobot de deux façons :
| HTTPS sur Asterobot | Tunnel SSH | |
|---|---|---|
| Fonctionnement | Asterobot sert du HTTPS sur votre réseau, derrière un mot de passe | Le navigateur de l'appareil parle à 127.0.0.1, et SSH transporte ces échanges jusqu'à l'ordinateur Asterobot |
| Ce qu'il faut | Rien à installer | Un serveur SSH sur l'ordinateur Asterobot, un client SSH sur l'appareil |
| Appareils | Téléphones, tablettes et ordinateurs | Surtout des ordinateurs |
| Avertissement de certificat | Une fois par navigateur | Aucun |
| Mode MITM | Cesse de fonctionner | Continue de fonctionner |
Cette page met en place HTTPS. Le tunnel SSH est expliqué dans Asterobot sur une machine distante, et fonctionne de la même façon sur un réseau domestique.
Certains navigateurs laissent une page HTTPS atteindre une simple adresse http:// de votre réseau local une fois que vous leur en donnez la permission. Tous ne le font pas, donc cette page ne compte pas dessus.
Warning
HTTPS et un mot de passe empêchent tous deux le mode MITM (« homme du milieu », de l'anglais man-in-the-middle) de fonctionner, y compris pour un client Dofus installé sur l'ordinateur Asterobot lui-même. Dofus demande ses réglages de connexion à Asterobot en simple HTTP, sans mot de passe, et Asterobot refuse. Si vous jouez avec un bot MITM, utilisez plutôt le tunnel SSH.
Avant de commencer
- Trouvez l'adresse de l'ordinateur Asterobot sur votre réseau. Sous Windows,
ipconfigl'affiche comme « Adresse IPv4 ». Sous Linux,ip addrla liste. Sous macOS, elle se trouve dans les réglages réseau. - Gardez l'appareil sur le même réseau que l'ordinateur Asterobot.
- Lisez Sécurité. Dès qu'Asterobot écoute sur votre réseau, tout ce qui est connecté à ce réseau peut l'atteindre : c'est pourquoi les étapes ci-dessous ajoutent un mot de passe.
1. Ajouter un mot de passe
Le réglage server.basicAuth contient des noms d'utilisateur et leurs mots de passe. Dès qu'il en contient au moins un, Asterobot demande un nom d'utilisateur et un mot de passe à chaque requête, depuis n'importe quel navigateur, y compris celui de son propre ordinateur.
Dans Asteroboard, ouvrez Serveur > Config et tapez
basicAuthdans Filtrer les réglages....Cliquez sur Éditer en JSON sur la ligne
basicAuth.Remplacez
{}par un nom d'utilisateur et son mot de passe, chacun entre guillemets doubles :{ "me": "a long password you use nowhere else" }Pour plusieurs personnes, séparez les paires par des virgules :
{ "me": "...", "alex": "..." }.Cliquez sur Appliquer.
La ligne affiche maintenant Modifié et Redémarrage requis. Si ce que vous avez tapé n'est pas du JSON valide, Asteroboard affiche JSON invalide et garde votre texte pour que vous puissiez le corriger. Si Asterobot refuse la valeur, Impossible d'enregistrer apparaît.
Caution
Asterobot enregistre ces mots de passe exactement comme vous les tapez, en clair, dans config.toml. Quiconque entre avec l'un d'eux peut tous les lire avec Éditer en JSON. Ne réutilisez le mot de passe d'aucun autre compte.
2. Activer HTTPS
Sur la même page, trouvez tls et activez-le. La ligne affiche Redémarrage requis.
Au prochain démarrage, Asterobot sert du HTTPS au lieu du HTTP sur son port. S'il n'a pas encore de certificat, il en crée d'abord un :
- Le certificat est auto-signé : c'est Asterobot qui l'a créé, et non une autorité à laquelle vos navigateurs font confiance. Chaque navigateur le signale la première fois.
- Il ne couvre que
localhost,127.0.0.1et::1. Un navigateur qui atteint Asterobot par192.168.1.20signale aussi que le certificat ne correspond pas à l'adresse. - Il est valable 3 ans, et Asterobot ne le renouvelle pas. Quand il expire, arrêtez Asterobot, supprimez les deux fichiers ci-dessous et relancez-le : Asterobot en crée un nouveau.
- Il est enregistré sous
tls/cert.pem, avec sa clé danstls/key.pem, dans le dossier de données d'Asterobot (Fichiers et dossiers). La description du réglage sur la page Config parle du dossier de cache, mais c'est bien dans le dossier de données qu'ils se trouvent.
Asterobot utilise la paire de fichiers qu'il trouve à cet endroit, quelle qu'elle soit. Si vous avez votre propre certificat pour l'adresse que vous utilisez, au format PEM, vous pouvez mettre ce certificat et sa clé à la place de ces deux fichiers.
3. Écouter sur votre réseau
Trouvez listenAddress, tapez la nouvelle valeur et appuyez sur Entrée :
| Valeur | Qui peut se connecter |
|---|---|
127.0.0.1:8080 |
Seulement l'ordinateur Asterobot. C'est la valeur par défaut. |
0.0.0.0:8080 |
Tous les réseaux auxquels l'ordinateur Asterobot est connecté, et l'ordinateur lui-même. |
192.168.1.20:8080 |
Seulement par cette adresse. L'ordinateur Asterobot doit lui aussi l'utiliser, puisque 127.0.0.1 ne répond plus. |
0.0.0.0:8080 est le plus simple. Avec une adresse unique, le navigateur qu'Asterobot ouvre au démarrage va sur 127.0.0.1 et n'y trouve rien : ouvrez vous-même https://192.168.1.20:8080, ou activez server.skipOpenFrontend.
Gardez le port 8080, sauf si un autre programme l'utilise.
4. Redémarrer Asterobot
Les trois réglages prennent effet au prochain démarrage d'Asterobot. Arrêtez-le avec Ctrl+C dans son terminal, ou avec Éteindre le serveur dans Serveur > État, puis relancez-le comme d'habitude (Premier lancement).
Au démarrage, Asterobot ouvre https://127.0.0.1:8080 dans le navigateur de l'ordinateur Asterobot, sauf si server.skipOpenFrontend est activé. Dans un onglet déjà ouvert, Asteroboard affiche Serveur déconnecté tant que le navigateur n'a pas ouvert une fois l'adresse en https://, parce que son URL du serveur commence encore par http://. Quand il l'ouvre, le navigateur signale le certificat et demande un nom d'utilisateur et un mot de passe, comme à l'étape 6.
5. Ouvrir le pare-feu
L'ordinateur Asterobot doit accepter les connexions entrantes sur le port TCP 8080. Sous Windows, la première fois qu'Asterobot écoute sur vos réseaux, le système peut demander s'il faut l'autoriser à y communiquer : autorisez-le pour les réseaux privés. Sinon, ajoutez dans votre pare-feu une règle pour les connexions TCP entrantes sur le port 8080, limitée à votre réseau local si le pare-feu le permet.
6. Se connecter depuis l'autre appareil
- Dans le navigateur de l'appareil, ouvrez
https://192.168.1.20:8080, avec l'adresse de l'ordinateur Asterobot. Tapezhttps://en entier. - Le navigateur prévient que la connexion n'est pas privée, ou que le certificat n'est pas fiable. Vérifiez que l'adresse est bien celle de l'ordinateur Asterobot, puis choisissez de continuer vers le site. La plupart des navigateurs rangent ce choix derrière une option pour utilisateurs avancés.
- Le navigateur demande un nom d'utilisateur et un mot de passe. Saisissez une paire de
server.basicAuth. - Vous arrivez sur Asteroboard. Il enregistre
https://192.168.1.20:8080comme URL du serveur et affiche Serveur connecté.
Votre navigateur peut aussi demander si asteroboard.asterobot.net a le droit d'accéder aux appareils de votre réseau local. Autorisez-le, sinon Asteroboard ne peut pas atteindre Asterobot.
Ouvrez toujours d'abord l'adresse elle-même, plutôt que de la saisir directement dans les Préférences. L'avertissement de certificat et la demande de mot de passe n'apparaissent que sur une page que vous ouvrez. Les requêtes d'Asteroboard ne peuvent pas les afficher : elles échouent, et Asteroboard reste déconnecté.
7. Vérifier la connexion
Dans Serveur > État, la carte sous l'état de la connexion résume la connexion de l'appareil sur lequel vous êtes :
| Ligne | Ce qu'elle affiche |
|---|---|
| URL du serveur | L'adresse qu'utilise ce navigateur. |
| Version | La version d'Asterobot. |
| Transport | Chiffré (HTTPS) quand l'URL du serveur commence par https://, Non chiffré (HTTP) sinon. |
| Authentification | Protégé par mot de passe quand server.basicAuth contient au moins une paire, Sans mot de passe sinon. |
Les Préférences ont aussi une section Serveur. Sa ligne Connexion affiche Connecté, Connexion en cours… ou Déconnecté, et Tester la connexion vérifie une nouvelle fois : Serveur joignable, avec le temps d'aller-retour en millisecondes, ou Serveur injoignable.
Saisir l'adresse vous-même
Pour définir l'URL du serveur à la main, par exemple sur un appareil qui a déjà accepté le certificat :
- Ouvrez les Préférences et trouvez URL du serveur dans la section Serveur.
- Tapez le schéma, l'adresse et le port, sans rien après :
https://192.168.1.20:8080. - Appuyez sur Entrée, ou cliquez en dehors du champ. Asteroboard se connecte aussitôt à la nouvelle adresse.
- Cliquez sur Tester la connexion.
Un navigateur garde une seule URL du serveur. Pour revenir à un Asterobot qui tourne sur l'appareil où vous êtes, ouvrez http://127.0.0.1:8080, ou saisissez cette adresse de la même façon.
Quand vous revenez plus tard
Les navigateurs ne gardent pas indéfiniment le mot de passe et le choix fait pour le certificat. La plupart oublient le mot de passe à leur fermeture, et certains oublient le choix du certificat au bout d'un moment. Quand Asteroboard affiche Serveur déconnecté sur l'appareil alors qu'Asterobot tourne, ouvrez de nouveau https://192.168.1.20:8080, comme à l'étape 6.
Revenir à la configuration par défaut
- Dans Serveur > Config, cliquez sur le bouton Rétablir la valeur par défaut, la flèche circulaire, sur les lignes de
listenAddress,tlsetbasicAuth. - Redémarrez Asterobot.
- Sur l'ordinateur Asterobot, ouvrez
http://127.0.0.1:8080.
Quand ça ne fonctionne pas
| Ce que vous voyez | Ce qu'il faut vérifier |
|---|---|
| L'adresse ne se charge pas sur l'appareil | Asterobot a bien été redémarré après les changements, le pare-feu autorise le port TCP 8080, les deux appareils sont sur le même réseau, et l'adresse commence par https://. |
Client sent an HTTP request to an HTTPS server. |
L'adresse commence par http:// alors que server.tls est activé. Utilisez https://. |
| Le navigateur redemande sans cesse le mot de passe | Le nom d'utilisateur et le mot de passe doivent correspondre exactement à une paire de server.basicAuth. |
| Asteroboard reste Déconnecté, et Tester la connexion indique Serveur injoignable | Ouvrez d'abord l'adresse elle-même, pour accepter le certificat et saisir le mot de passe. La plupart des navigateurs bloquent une URL du serveur qui commence par http:// : utilisez https://. |
| L'ordinateur Asterobot affiche Serveur déconnecté après le redémarrage | Son URL du serveur commence encore par http://. Ouvrez https://127.0.0.1:8080 sur cet ordinateur. |
| Votre bot MITM ne reçoit plus votre jeu | HTTPS et le mot de passe empêchent le mode MITM. Revenez à la configuration par défaut, et utilisez un tunnel SSH pour l'autre appareil. |
Asteroboard ne se connecte pas couvre les autres problèmes de connexion.