Activar el acceso remoto
El panel inicia un pequeño servidor web en tu máquina y un túnel rápido de Cloudflare delante de él. Qué inicia eso, qué necesita y cómo detenerlo.
Qué inicia #
El check-in remoto te deja leer una ejecución desde un teléfono, y responderla. AutoDev sirve su propio plano en 127.0.0.1, y un túnel rápido de Cloudflare le da a ese plano una dirección pública. AutoDev no tiene un servidor para esto: cloudflared es el cliente de Cloudflare, y AutoDev lo ejecuta y lee la dirección de su salida. Mientras el acceso remoto está activado, lo que el teléfono lee y envía pasa por ese túnel.
El túnel es opcional. Sin él el plano sigue funcionando, pero solo esta máquina lo alcanza.
Actívalo #
En el panel, abre el destino Config. Tiene una sección Remote access, y mientras nada se ejecuta dice Off — nobody outside this machine can reach this project. Pulsa Turn on remote access.
Eso inicia un servidor desacoplado y supervisado, con un túnel y el nivel de telemetría full. Usa el puerto 8787, o el puerto y el token del último servidor cuando hubo uno. Cuando ese puerto está ocupado, el servidor usa uno libre y escribe un aviso serve.port_taken en el registro de eventos. El botón dice Turning on… mientras trabaja, y la sección sale de Off cuando cloudflared anunció una dirección, lo que puede tardar hasta un minuto en un enlace lento. Entonces muestra la dirección como texto y como código QR, un código de emparejamiento cuando abres uno, y cuántos dispositivos están emparejados. Emparejar un teléfono trata del código.
cloudflared tiene que estar en tu PATH, o nombrado en AUTODEV_TUNNEL_BIN. Se necesita para esto y para nada más. Si falta, o no anuncia una dirección, el servidor sigue funcionando solo en esta máquina, y la línea de dirección muestra Tunnel unavailable — loopback only. El motivo es un aviso en el registro de eventos, serve.tunnel_failed. cloudflared ausente trata de ello.
El túnel pertenece al supervisor del servidor, no al proceso del servidor, así que un reinicio de ese proceso conserva la misma dirección. Si cloudflared sale después, AutoDev retira la dirección: la línea cambia a Tunnel unavailable — loopback only, y un aviso serve.tunnel_down dice el motivo. Un túnel caído no se reconstruye solo. Desactiva y vuelve a activar el acceso remoto para tener una dirección nueva.
Una máquina, un servidor #
Una máquina ejecuta un servidor, y sobrevive a la ventana del editor que lo inició, para que una ejecución que revisas desde el teléfono no termine al cerrar el editor. Eso también significa que el servidor puede estar mostrando un proyecto distinto del panel que lees. Cuando es así, la sección dice Showing <project>, not this project. y ofrece Show this project instead. El menú del teléfono tiene el mismo cambio. Ninguno ofrece iniciar un segundo servidor.
Tras un reinicio de la máquina, autodev sin comando, ejecutado en un proyecto, inicia de nuevo el servidor desacoplado, en el mismo puerto, con el mismo token y nivel. Lo inicia sin el túnel, así que la dirección desaparece hasta que desactives y vuelvas a activar el acceso remoto. Mientras un teléfono está emparejado, suspendOnCompletion no suspende la máquina.
Desactívalo #
Pulsa Turn off remote access. Eso detiene el servidor y el túnel juntos, así que la dirección pública no sobrevive al plano al que apunta. Todo dispositivo emparejado se olvida con él. Los límites del túnel dice qué revoca eso y qué no.
Desde una terminal #
autodev serve ejecuta el mismo servidor en primer plano, y --tunnel añade el túnel. Imprime la dirección pública, y el token cuando lo generó, y dice que quien tenga ambos puede conducir la ejecución. Un servidor en primer plano termina con su terminal y no se inicia de nuevo tras un reinicio. autodev serve --daemon lo ejecuta desacoplado y supervisado como el del panel, y autodev serve stop lo detiene desde cualquier proyecto. El panel ve un servidor iniciado de cualquiera de las dos formas, y autodev serve pair abre un código de emparejamiento en él. Todos los comandos de la CLI lista las banderas, y Qué puedes hacer desde el teléfono dice qué recibe un teléfono emparejado.