Piloter un mineur Train at Home à distance, avec votre accord
Vérifié avec T@H 3.7.0 sur macOS 26.6.2 (4 octobre 2026)
Publié le 19 octobre 2026 · 5 min de lecture
Quand un Mac sous Train at Home se bloque pendant votre absence, la solution habituelle consiste à redémarrer l'application officielle. subnera hub vous permet de le faire depuis le navigateur de votre téléphone, mais uniquement sur les Mac pour lesquels vous avez dit oui. Ce guide explique ce que vous pouvez envoyer, comment une commande arrive jusqu'au Mac, où elle est enregistrée et ce que la conception exclut. subnera est non officiel et n'est affilié ni à IOTA, ni à Macrocosmos, ni à Bittensor.
D'abord : l'interrupteur de consentement
Le contrôle à distance s'ajoute à l'étape de connexion d'un Mac au hub. Un Mac qui envoie ses rapports à subnera hub peut être surveillé, mais il ne peut pas être piloté tant que vous ne l'avez pas autorisé sur ce Mac lui-même :
- Ouvrez le menu de subnera, puis Remote Dashboard Settings….
- Cochez Allow remote control (start / stop / restart / watchdog).
La case est décochée par défaut. Elle est grisée tant que le Mac n'est pas enrôlé, et elle repasse à zéro à chaque nouvel enrôlement, à chaque déconnexion et lorsque le hub révoque le Mac. Le Mac la lit en direct à chaque commande : la décocher prend effet immédiatement. Personne ne peut la cocher depuis le hub.
La liste fixe de commandes
Le hub ne peut envoyer que neuf types de commandes. L'agent de subnera associe chacune à une action fixe de son code. Tout le reste est rejeté comme non pris en charge.
Commandes qui exigent Allow remote control :
- Démarrer : lance l'application officielle en arrière-plan.
- Arrêter : quitte l'application officielle.
- Redémarrer : la quitte puis la relance.
- Arrêter les orphelins : termine le processus de calcul que l'application officielle peut laisser derrière elle en quittant. La commande est refusée tant que l'application tourne, car ce processus est alors votre mineur actif.
- Activer / Désactiver la surveillance : active ou désactive le watchdog de redémarrage automatique local.
Commandes qui ne l'exigent pas :
- Flux et récupération des journaux : affichent les dernières lignes du journal CLI dans votre navigateur, soit en flux pendant 60 minutes au plus, soit les 256 Ko les plus récents au maximum. Enrôler un Mac signifie déjà que son journal peut être consulté depuis le hub.
- Mesurer maintenant : lance un test Apple
networkQuality. Il a son propre accord sur le Mac (« Measure real bandwidth »), il est refusé pendant les phases occupées et limité à un lancement toutes les 10 minutes.
Un arrêt ou un redémarrage pendant que le Mac est en file d'attente est refusé par défaut, car il ferait perdre votre position dans la file. Le hub vous demande de confirmer un arrêt ou un redémarrage forcé. Après tout arrêt ou redémarrage, le watchdog local reste silencieux pendant 5 minutes pour ne pas relancer une application que vous avez arrêtée volontairement.
Le trajet d'une commande
- Vous appuyez sur un bouton de la page de la machine. subnera hub vérifie que vous avez la bonne permission dans le pool (voir pools et rôles) et met la commande en file.
- Le Mac interroge le hub environ toutes les 10 secondes. Il récupère la commande au cycle de rapport suivant : comptez quelques secondes de délai, pas un effet instantané.
- L'agent compare la commande à sa liste autorisée, à votre interrupteur de consentement et à l'état actuel du mineur, puis l'exécute ou la rejette en indiquant la raison.
- Le résultat remonte au hub avec le rapport suivant.
Une commande expire au bout de 10 minutes. Si le Mac était hors ligne, elle n'est pas exécutée plus tard. L'horloge du Mac doit aussi être correcte : une horloge en avance de plus de 10 minutes sur celle du hub fait rejeter toutes les commandes comme expirées.
Où les commandes sont enregistrées
- Sur le Mac : chaque commande et son verdict (
EXECUTED,FAILEDouREJECTEDavec la raison) est ajoutée à~/Library/Logs/subnera/remote-audit.log. Le fichier est archivé vers 1 Mo. - Dans le hub : la page de la machine contient la liste Commandes récentes avec le type, le statut, l'auteur, l'heure et le message de résultat.
Les commandes rejetées sont aussi journalisées : une tentative refusée laisse donc une trace.
Ce qui est impossible
- Aucun shell : le hub envoie le nom d'une commande, jamais une chaîne qui serait exécutée.
- Aucun code à distance et aucune mise à jour à distance : le hub ne peut ni remplacer ni modifier subnera.
- Aucun accès root : l'agent s'exécute sous votre utilisateur, sans démon.
- Aucun fichier de portefeuille : le seul fichier lu est la clé publique (hotkey). L'agent ne signe rien.
- Aucune modification de l'application officielle, de ses préférences ou de son bundle.
- Aucune connexion au websocket local de l'application officielle, la même limite que celle décrite dans le guide réseau.
Est-ce sûr ?
Le risque est borné par la conception : une courte liste d'actions, un interrupteur désactivé par défaut que vous contrôlez sur chaque Mac, et une trace des deux côtés. Cela permet tout de même à quiconque accède à votre compte du hub d'arrêter votre mineur : protégez ce compte et n'attribuez aux membres d'un pool que le rôle dont ils ont besoin. Si vous ne voulez pas de contrôle à distance sur un Mac, laissez la case décochée : la surveillance, les alertes et l'affichage des journaux continuent de fonctionner. Pour le tableau de bord lui-même, voir le guide du hub de flotte. Ce guide ne promet aucun gain.
Guides associés
Envie de voir ça sur votre propre Mac ?
subnera affiche la position réelle dans la file et la phase dans votre barre de menu.
Installer subnera