Runtime de JavaScript, TypeScript e WebAssembly com padrões seguros, desenvolvido com V8, Rust e Tokio.
cloudflare/workerd
Runtime de servidor JavaScript/Wasm baseado no mesmo código que executa o Cloudflare Workers, para hospedagem própria e desenvolvimento local.
- Estrelas
- 9,036
- Forks
- 796
- Issues abertas
- 813
- Último commit
- há 3 horas
O que é?
workerd é um runtime de servidor que executa código JavaScript e WebAssembly escrito para o Cloudflare Workers. Ele pode funcionar como servidor de aplicações para hospedar aplicações Workers por conta própria, como ferramenta local de desenvolvimento e testes ou como proxy HTTP programável direto ou reverso, que intercepta, modifica e roteia requisições.
As aplicações são divididas em nanosserviços que chamam uns aos outros dentro da mesma thread e do mesmo processo. Os recursos são conectados por meio de bindings de capacidade em um arquivo de configuração Cap'n Proto, em vez de namespaces globais. As APIs integradas seguem padrões da plataforma web, como fetch(), e cada versão é associada a uma data de compatibilidade para permitir a emulação do comportamento de APIs antigas.
O projeto é escrito em C++ e compilado com Bazel, e seus binários pré-compilados são distribuídos pelo npm. Ele é testado no Linux, macOS e Windows, e funciona com o Wrangler por meio da variável de ambiente MINIFLARE_WORKERD_PATH. O projeto informa que não é um sandbox reforçado; portanto, código não confiável deve ser executado em uma VM ou em um ambiente de isolamento semelhante.
Recursos principais
- 01Executa código JavaScript e Wasm escrito para o Cloudflare Workers.
- 02Divide aplicações em nanosserviços que chamam uns aos outros dentro do mesmo processo.
- 03É configurado com um arquivo Cap'n Proto que usa bindings de capacidade.
- 04Oferece suporte a datas de compatibilidade para emular o comportamento antigo de APIs.
- 05Pode funcionar como proxy HTTP programável direto ou reverso.
- 06Oferece suporte à herança de sockets do systemd por meio de --socket-fd.
Casos de uso
- Hospedar por conta própria aplicações originalmente desenvolvidas para o Cloudflare Workers.
- Desenvolver e testar código do Workers localmente com o Wrangler.
- Criar um proxy HTTP programável que modifica ou roteia requisições.
Início rápido
- 1
Compile o binário do workerd com o Bazel
bazel build //src/workerd/server:workerd - 2
Escreva um arquivo de configuração (por exemplo, my-config.capnp) que defina seus serviços e sockets
- 3
Use o workerd para iniciar os serviços com sua configuração
workerd serve my-config.capnp
Antes de usar
- O workerd não é um sandbox reforçado, então execute código não confiável em uma máquina virtual ou outro sandbox seguro.
- A compilação a partir do código-fonte exige uma cadeia de ferramentas extensa, como clang 22 ou posterior, libc++ 22 ou posterior e LLD 22 ou posterior no Linux, ou Xcode 16.3 no macOS.
- Testado oficialmente apenas no Linux, macOS e Windows em x86-64 e arm64.
Tópicos
Perguntas frequentes
- O que é workerd?
- Runtime de servidor JavaScript/Wasm baseado no mesmo código que executa o Cloudflare Workers, para hospedagem própria e desenvolvimento local. workerd é um runtime de servidor que executa código JavaScript e WebAssembly escrito para o Cloudflare Workers. Ele pode funcionar como servidor de aplicações para hospedar aplicações Workers por conta própria, como ferramenta local de desenvolvimento e testes ou como proxy HTTP programável direto ou reverso, que intercepta, modifica e roteia requisições.
- workerd é gratuito? Qual é a licença?
- workerd é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- workerd ainda é mantido?
- Manutenção ativa. O último commit de workerd foi em 21 de out. de 2026.
- Para que posso usar workerd?
- Hospedar por conta própria aplicações originalmente desenvolvidas para o Cloudflare Workers. Desenvolver e testar código do Workers localmente com o Wrangler. Criar um proxy HTTP programável que modifica ou roteia requisições.
- Como instalar workerd?
- Compile o binário do workerd com o Bazel: bazel build //src/workerd/server:workerd Escreva um arquivo de configuração (por exemplo, my-config.capnp) que defina seus serviços e sockets Use o workerd para iniciar os serviços com sua configuração: workerd serve my-config.capnp
- Onde consigo workerd?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cloudflare/workerd
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plataforma self-hosted compatível com Cloudflare Workers, distribuída em um único binário Rust para executar Workers, KV, D1, R2 e muito mais em uma máquina.
Node.js é um runtime JavaScript multiplataforma e de código aberto para executar JavaScript fora do navegador.
Um toolkit rápido e completo para JavaScript e TypeScript: runtime, bundler, test runner e gerenciador de pacotes em um único executável.
Serviço de e-mail auto-hospedável baseado em Cloudflare Workers, que permite criar várias caixas de entrada em um domínio, com envio, anexos e uma interface web responsiva.
SDK em TypeScript para criar agentes de IA persistentes e com estado na Cloudflare Durable Objects, com sincronização em tempo real, agendamento e suporte a MCP.