HTTPS y proxy

Compartir un sitio

Abrir un dominio en un móvil o una tableta de la misma Wi-Fi con un código QR, o enviarlo a alguien con un enlace público (cloudflared, ngrok, localhost.run, Pinggy).

Un dominio .test solo responde en tu Mac. Compartir lo abre en otros sitios: en un móvil o una tableta de la misma red, para probar el sitio de verdad, o en Internet con un enlace público, para enseñárselo a un cliente o recibir un webhook.

En la pestaña Dominios de un proyecto, haz clic en el icono de compartir de una fila: se abre la ventana Compartir <dominio>, con sus dos secciones.

La ventana Compartir: el dominio en la red local con su código QR, y un enlace público por Cloudflare

Todo está desactivado por defecto y no se guarda nada: los recursos compartidos viven en memoria y se cierran cuando Joppa se cierra. El dominio debe estar activado y el proxy iniciado.

En la red local

Activa Compartir en la red local. Joppa abre un puerto en la dirección de tu Mac en la red (Wi-Fi o Ethernet) y muestra la dirección, por ejemplo http://192.168.1.20:41306, con un código QR. En el móvil, conectado a la misma Wi-Fi, escanea el código con la cámara o escribe la dirección.

  • Un puerto por dominio, siempre el mismo para un dominio dado (entre 41000 y 41999) mientras esté libre: un favorito en el móvil sigue sirviendo de una vez para otra.
  • En HTTP simple. El móvil no confía en la autoridad de certificación de Joppa, instalada solo en tu Mac: una dirección en HTTPS mostraría un error de certificado. Para un contexto seguro (service worker, cámara, crypto.subtle), usa un enlace público, en HTTPS.
  • La recarga en caliente sigue funcionando. El cliente HMR de Vite (y el de Next.js, Astro…) se reconecta a la dirección de la que viene la página: su WebSocket pasa por el mismo puerto, y la página del móvil se actualiza cuando guardas un archivo.
  • Compartir en la red local es gratis.

Al desactivar el interruptor, el puerto se cierra al instante.

Enlace público

Un enlace público da una dirección https:// temporal que cualquiera puede abrir, a través de un túnel. Está incluido en Joppa Pro; en la versión gratuita, la sección muestra «Los enlaces públicos están incluidos en Joppa Pro». Consulta Licencia y planes.

Elige el Túnel y luego Abrir el túnel. Tras unos segundos, la dirección aparece con un código QR, un botón para copiarla y otro para abrirla. Cerrar detiene el túnel.

Túnel Cuenta Qué hace falta
Cloudflare, sin cuenta (por defecto) ninguna cloudflared, que Joppa descarga si falta
ngrok, tu cuenta ngrok ngrok instalado (brew install ngrok) y tu token
localhost.run, sin cuenta ninguna ssh, ya incluido en macOS
Pinggy, sin cuenta (60 min) ninguna ssh; un túnel gratuito se cierra a los 60 minutos
  • cloudflared: si no está en el PATH ni se ha descargado ya, Descargar cloudflared obtiene la versión fijada por Joppa desde las publicaciones de GitHub de Cloudflare (unos 20 MB) y comprueba su SHA-256 antes de instalarla en la carpeta de Joppa (consulta Archivos y carpetas). Un archivo cuya huella no coincide se elimina.
  • ngrok: pega tu Token de ngrok (dashboard.ngrok.com) y pulsa Guardar; se guarda en el llavero. No hace falta si ngrok ya tiene uno (ngrok config add-authtoken). La cuenta gratuita de ngrok muestra a los visitantes una página de aviso antes del sitio.
  • localhost.run y Pinggy usan ssh; Joppa guarda sus claves de host en su propio archivo known_hosts, sin tocar ~/.ssh.

Mientras haya un túnel abierto, la barra de estado lo muestra en naranja («1 túnel abierto»); al hacer clic, lista los dominios compartidos, con Cerrar para cada uno y Cerrar todo. El dominio también lleva la insignia público en la lista. Si el cliente del túnel se detiene (red cortada, rechazo del servicio), la ventana muestra «El túnel se cerró» con sus últimos mensajes, y Reintentar.

Lo que ve la aplicación

Los dos modos pasan por el proxy de Joppa, como el navegador de tu Mac:

  • el servidor de desarrollo recibe el Host del dominio (app.acme.test) y X-Forwarded-Proto: https, sea cual sea la dirección escrita en el móvil: no hay que cambiar nada en allowedHosts de Vite ni en los dominios de confianza de Laravel o Symfony;
  • Origin y Referer se devuelven al dominio, para que las protecciones CSRF acepten los formularios;
  • las peticiones aparecen en Analytics y en el Inspector.

En sentido inverso, Joppa reescribe las URL absolutas del dominio hacia la dirección compartida: https://app.acme.test/… pasa a ser http://192.168.1.20:41306/… o https://….trycloudflare.com/…. Esto se aplica a las redirecciones (Location), a las cabeceras CORS y CSP, y al cuerpo de las respuestas de texto (HTML, CSS, JavaScript, JSON, XML, SVG) de hasta 8 MB. Las cookies pierden su atributo Domain y, en la red local en HTTP, su atributo Secure (si no, el móvil las rechazaría y la sesión no se mantendría).

En el terminal y para la IA

joppa share app.acme.test
joppa share app.acme.test --public
joppa share stop app.acme.test

Consulta El comando joppa y las herramientas share_start, share_stop y share_status del servidor MCP.

getjoppa.com › support

Cargando

¿No funciona? Escribe a [email protected]. Una simple pregunta: [email protected].