Repolode
cloudflare

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. 1

    Compile o binário do workerd com o Bazel

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

    Escreva um arquivo de configuração (por exemplo, my-config.capnp) que defina seus serviços e sockets

  3. 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