cli Gratis Activo

Portless

Para acceder a tus apps locales con URLs estables y nombre (https://miapp.localhost) en vez de recordar puertos

CLI que sustituye los puertos de localhost por URLs con nombre y HTTPS para desarrollo local

Notas y contexto

Qué es

Portless es una herramienta de línea de comandos creada por Vercel Labs que reemplaza los puertos numéricos de localhost por URLs estables con nombre, como https://miapp.localhost. Está escrita en TypeScript sobre Node.js y se publica bajo licencia Apache-2.0. Levanta un proxy inverso HTTPS en el puerto 443 que reenvía cada petición a tu aplicación, que sigue corriendo en un puerto local cualquiera.

Para qué sirve

  • Acceder a tus servidores de desarrollo por nombre (https://miapp.localhost) en lugar de recordar puertos como 3000 o 5173.
  • Tener HTTPS con HTTP/2 en local sin configurar certificados a mano: Portless genera y confía una CA propia en el primer arranque.
  • Organizar varios servicios de un monorepo con subdominios (api.miapp.localhost, docs.miapp.localhost).
  • Distinguir worktrees de Git automáticamente, prefijando el nombre de la rama como subdominio.

Cuándo usarlo

  • Cuando trabajas con varias apps o servicios a la vez y los puertos numéricos se vuelven difíciles de recordar.
  • Cuando necesitas HTTPS en local (por ejemplo, para cookies seguras, OAuth o APIs que exigen contexto seguro) sin montar mkcert o un proxy manual.
  • En monorepos con varios frontends y backends. Alternativas conocidas son mkcert (solo certificados) o Caddy/local-ssl-proxy si prefieres configurar el proxy tú mismo.

Ejemplo

Instalación global y arranque de una app:

npm install -g portless

# Lanza tu comando de dev a través del proxy con nombre
portless miapp next dev
# -> https://miapp.localhost

Si lo ejecutas sin comando, usa el script dev de tu package.json. Puedes fijar el nombre con un archivo portless.json:

{ "name": "miapp" }

Puntos clave

  • Proxy HTTPS con HTTP/2 en el puerto 443 y generación automática de una CA local de confianza.
  • Infiere el nombre de la app desde package.json, la raíz de Git o el directorio; admite subdominios y TLD personalizado (--tld test).
  • Respeta PORT en frameworks como Next.js, Express o Nuxt e inyecta los flags adecuados en los que lo ignoran (Vite, Astro, React Router, Angular, Expo).
  • Detección de worktrees de Git para separar ramas por subdominio.

Ten en cuenta

  • Requiere Node.js 24 o superior.
  • Para enlazar al puerto 443 necesita elevarse con sudo en macOS y Linux; valora si te conviene en tu entorno.
  • Está en versiones 0.x (v0.14.0), así que la API y el comportamiento pueden cambiar entre versiones. Si solo necesitas certificados locales y no el proxy con nombre, mkcert puede ser suficiente.
Volver al directorio
Volver al directorio