Runtime de JavaScript, TypeScript y WebAssembly con valores predeterminados seguros, basado en V8, Rust y Tokio.
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
Compila el binario de workerd con Bazel
bazel build //src/workerd/server:workerd - 2
Escribe un archivo de configuración (por ejemplo, my-config.capnp) que defina tus servicios y sockets
- 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
Plataforma autohospedada compatible con Cloudflare Workers, distribuida como un único binario de Rust para ejecutar Workers, KV, D1, R2 y más en una máquina.
Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma para ejecutar JavaScript fuera del navegador.
Un kit rápido y completo para JavaScript y TypeScript: runtime, bundler, ejecutor de pruebas y gestor de paquetes en un solo ejecutable.
Servicio de correo electrónico autohospedable basado en Cloudflare Workers que permite crear varios buzones en un dominio, enviar mensajes y gestionar adjuntos desde una interfaz web adaptable.
SDK de TypeScript para crear agentes de IA persistentes y con estado en Cloudflare Durable Objects, con sincronización en tiempo real, programación de tareas y compatibilidad con MCP.