Repolode
cloudflare

cloudflare/workerd

Entorno de ejecución de servidor para JavaScript y Wasm, creado a partir del mismo código que impulsa Cloudflare Workers, para alojarlo por cuenta propia y desarrollar localmente.

Estrellas
9,036
Forks
796
Issues abiertos
813
Último commit
hace 4 horas

¿Qué es?

workerd es un entorno de ejecución de servidor para código JavaScript y WebAssembly escrito para Cloudflare Workers. Puede funcionar como servidor de aplicaciones para alojar por cuenta propia aplicaciones de Workers, como herramienta de desarrollo y pruebas locales, o como proxy HTTP programable, directo o inverso, que intercepta, modifica y enruta solicitudes.

Las aplicaciones se dividen en nanoservicios que se llaman entre sí dentro del mismo hilo y proceso, y los recursos se conectan mediante enlaces de capacidades en un archivo de configuración de Cap'n Proto, en lugar de usar espacios de nombres globales. Las API integradas siguen estándares de la plataforma web, como fetch(), y cada versión tiene una fecha de compatibilidad para emular el comportamiento de API anteriores.

El proyecto está escrito en C++ y se compila con Bazel; los binarios precompilados se distribuyen a través de npm. Se prueba en Linux, macOS y Windows, y funciona con Wrangler mediante la variable de entorno MINIFLARE_WORKERD_PATH. El proyecto indica que no es un entorno aislado reforzado, por lo que el código que no sea de confianza debe ejecutarse dentro de una VM u otro entorno de aislamiento similar.

Funciones clave

  • 01Ejecuta código JavaScript y Wasm escrito para Cloudflare Workers.
  • 02Divide las aplicaciones en nanoservicios que se llaman entre sí dentro del mismo proceso.
  • 03Se configura con un archivo de Cap'n Proto que usa enlaces de capacidades.
  • 04Admite fechas de compatibilidad para emular el comportamiento de API anteriores.
  • 05Puede funcionar como proxy HTTP programable, directo o inverso.
  • 06Admite la herencia de sockets de systemd mediante --socket-fd.

Casos de uso

  • Alojar por cuenta propia aplicaciones diseñadas originalmente para Cloudflare Workers.
  • Desarrollar y probar código de Workers localmente con Wrangler.
  • Crear un proxy HTTP programable que modifique o enrute solicitudes.

Inicio rápido

  1. 1

    Compila el binario de workerd con Bazel

    bazel build //src/workerd/server:workerd
  2. 2

    Escribe un archivo de configuración (por ejemplo, my-config.capnp) que defina tus servicios y sockets

  3. 3

    Inicia tus servicios con la configuración usando workerd

    workerd serve my-config.capnp

Antes de usarlo

  • workerd no es un sandbox reforzado, así que ejecuta el código no confiable dentro de una máquina virtual u otro sandbox seguro.
  • Compilar desde el código fuente requiere una cadena de herramientas extensa, como clang 22 o posterior, libc++ 22 o posterior y LLD 22 o posterior en Linux, o Xcode 16.3 en macOS.
  • Solo se ha probado oficialmente en Linux, macOS y Windows con x86-64 y arm64.

Temas

Preguntas frecuentes

¿Qué es workerd?
Entorno de ejecución de servidor para JavaScript y Wasm, creado a partir del mismo código que impulsa Cloudflare Workers, para alojarlo por cuenta propia y desarrollar localmente. workerd es un entorno de ejecución de servidor para código JavaScript y WebAssembly escrito para Cloudflare Workers. Puede funcionar como servidor de aplicaciones para alojar por cuenta propia aplicaciones de Workers, como herramienta de desarrollo y pruebas locales, o como proxy HTTP programable, directo o inverso, que intercepta, modifica y enruta solicitudes.
¿workerd es gratuito? ¿Qué licencia tiene?
workerd es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿workerd sigue mantenido?
Mantenimiento activo. El último commit de workerd fue el 21 oct 2026.
¿Para qué puedo usar workerd?
Alojar por cuenta propia aplicaciones diseñadas originalmente para Cloudflare Workers. Desarrollar y probar código de Workers localmente con Wrangler. Crear un proxy HTTP programable que modifique o enrute solicitudes.
¿Cómo se instala workerd?
Compila el binario de workerd con Bazel: bazel build //src/workerd/server:workerd Escribe un archivo de configuración (por ejemplo, my-config.capnp) que defina tus servicios y sockets Inicia tus servicios con la configuración usando workerd: workerd serve my-config.capnp
¿Dónde consigo workerd?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/cloudflare/workerd

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados