🔗 Emparejar la app con el motor

La app no se conecta a un motor sin más: hay que emparejarla. El emparejamiento entrega a la app un token de administrador cifrado, así que solo quien esté delante del motor puede autorizar clientes.

Cómo funciona el PIN

  • El motor genera un PIN de un solo uso válido 10 minutos cuando no tiene clientes dados de alta, o cuando se lo pides desde el icono de bandeja / otro cliente ya emparejado.
  • Lo introduces en la app → la app recibe su token → el PIN muere.

Emparejar el motor local

  • Windows: la app encuentra el servicio ella sola. Como ProgramData\iobackup está protegido, el primer emparejamiento pide un UAC para leer el estado del servicio.
  • macOS: el motor vive en tu usuario — la app lo encuentra directo.

Emparejar un motor de la red local

El motor se anuncia por Bonjour/mDNS (_iobackup._tcp) con el puerto configurado. En la app:

  1. Abre el selector de motores (la Central de Copias o el desplegable de la barra superior).
  2. Aparecerá en Motores encontrados — elígelo.
  3. Mete el PIN mostrado en ese equipo.
Si el puerto no es el estándar (9860), añádelo a mano con IP:puerto.

Varios motores y varias apps

  • Una app puede tener N motores emparejados (perfiles de flota) y cambiar entre ellos en 1 toque.
  • Un motor acepta varios clientes: cada app/dispositivo obtiene su propio token; puedes revocarlos desde el motor.
  • El icono de bandeja / menubar es un cliente más, con su propio token limitado («Icono del motor»).

Si el PIN expira o falla

  • Caducó (10 min): genera otro desde el icono del motor o desde un cliente ya emparejado.
  • «Motor no encontrado»: comprueba que el servicio iobackupd corre, el puerto y el firewall local.
  • Un motor remoto no se empareja por IP: usa el túnel cifrado con su código IOB-….

Seguridad

  • Todo el tráfico API usa el token de la app; los tokens viven en el índice del motor y en el llavero/prefs de cada app.
  • Desde una conexión remota nunca se puede pedir un PIN ni rotar el código remoto — solo desde un cliente local ya autorizado.