Pular para o conteúdo
início / platform / proxy
Hoody Platform

Todo serviço é uma URL. O proxy é o como.

Um contêiner expõe todo serviço do Hoody Kit em sua própria URL HTTPS, além de um slug http-PORTA para qualquer coisa que você vincular. Portas, autenticação, TLS e IPs reais de clientes são todos resolvidos na camada de URL.

O proxy roda no seu bare metal. A Hoody vê chamadas de API de gerenciamento — o tráfego do contêiner nunca sai do seu servidor.

espaço de chaves 2^192overhead abaixo de 1msIP real no socket
https://PROJECT_ID-CONTAINER_ID-service-N.SERVER.containers.hoody.com
projectId
identificador de projeto em 24-hex
containerId
identificador de contêiner em 24-hex
service
slug do serviço Kit (terminal, display, files…)
instance
1, 2, 3… para serviços que suportam múltiplos
serverName
Seu servidor bare metal

*.containers.hoody.com — wildcard TLS · no Certificate Transparency log exposure

início / platform / proxy / gramática
Gramática de URL

Uma gramática, muitos padrões

Todo serviço Kit é resolvido pelo mesmo proxy, mas o slug da URL revela o que ele é. Mesma gramática, forma diferente por serviço.

Padrão
https://PROJECT_ID-CONTAINER_ID-slug.SERVER.containers.hoody.com
ServiçoSlug de URLObservações
Workspacesworkspace-NCamada de composição sobre outras URLs de serviço
Terminalterminal-NShell por instância; mapeado para display-N
Displaydisplay-NDesktop GUI / X11 por instância
Browserbrowser-NInstância remota do Chrome
Codecode-NInstância do VS Code por índice
FilesfilesSingleton — sem índice de instância
SQLitesqlite-NUm slug por serviço de banco de dados
Execexec-NScripts como APIs
Agentagent-NInstância LLM por agente
cURLcurl-NProxy HTTP de saída
Daemonhoody-daemon-NGerenciador de processos
Cron— (via cURL hoje)Serviço placeholder; o agendamento fica no cURL
Notificationsn-N · notification-server-NBridge de browser + API
Pipe— (via outros serviços)Serviço placeholder; streaming distribuído entre Files/Terminal/Exec

Projeto 24-hex × contêiner 24-hex = 2^192 combinações de pares. Inviável de força bruta.

início / platform / proxy / portas
Portas → URLs

Rode um servidor em qualquer porta. Ele recebe uma URL.

Os prefixos http-PORTA roteiam o proxy para a porta interna do seu contêiner. Sem bloco de servidor nginx. Sem YAML de ingress.

Dentro do contêiner

# listening sockets

$ ss -ltnp

 

LISTEN0.0.0.0:4000node server.js(react-dev)
LISTEN0.0.0.0:5173vite(admin-ui)
LISTEN0.0.0.0:7070python api.py(payments)
URL pública

https://PROJECT_ID-CONTAINER_ID-http-4000.SERVER.containers.hoody.com

https://PROJECT_ID-CONTAINER_ID-http-5173.SERVER.containers.hoody.com

https://PROJECT_ID-CONTAINER_ID-http-7070.SERVER.containers.hoody.com

Portas do Hoody-kit são reservadas para os próprios serviços da plataforma; tudo o mais é seu. No lado do app, vincule em qualquer porta e exponha via http-PORTA.

Os apps devem vincular em 0.0.0.0, não em localhost — o socket precisa ser acessível a partir do contêiner do proxy.

Faz proxy de HTTP/1.1, HTTP/2, HTTP/3 e WebSocket de ponta a ponta. UDP arbitrário de usuário não é roteado — use um IPv4 dedicado se precisar de UDP puro.

início / platform / proxy / auth
Autenticação na entrada

A autenticação é uma política JSON, não middleware de aplicação.

O proxy valida claims JWT, hashes de senha, faixas de IP CIDR e bearer tokens antes de uma requisição chegar ao seu contêiner. Seu app fica padrão.

PATCH /api/v1/containers/ID/proxy-permissions
{
  "enable_proxy": true,
  "default": "deny",
  "groups": {
    "dashboard": {
      "type": "jwt",
      "algorithm": "HS256",
      "source": "header",
      "key": "Authorization",
      "secret": "<hmac-secret>",
      "claims": { "role": ["admin", "viewer"] }
    },
    "office-only": {
      "type": "ip",
      "cidrs": ["203.0.113.0/24"]
    }
  },
  "permissions": {
    "dashboard": { "http": [4000, 5173] },
    "office-only": { "ssh": true, "terminal": true }
  }
}
clientproxy (verificação de política)contêiner (HTTP padrão)

JWT

HS256 · RS256 · ES256 · header / cookie / query · validação de claims

Senha

HTTP Basic · SHA-256 + salt · incorporável em URL

IP

Correspondência de CIDR IPv4 · IP real do cliente no nível do socket

Bearer Token

Múltiplos tokens por grupo · amigável para API

As permissões no nível do contêiner substituem as permissões no nível do projeto — elas não se mesclam. Defina ambos os escopos explicitamente se depender de herança.

início / platform / proxy / aliases
Aliases & domínios

URLs memoráveis sobre URLs criptográficas

Uma chamada de API transforma a URL criptográfica em api.minhaempresa.com. A provisão do Let's Encrypt acontece em 30–60 segundos; renova a cada 90 dias.

Gerado na criação do contêiner

https://67e89abc…-890abcdef…-http-4000.node-us.containers.hoody.com

POST /api/v1/proxy-aliases
CNAME para o seu servidor · Let's Encrypt automático

https://api.mycompany.com

Roteamento por caminho
target_path + allow_path_override
expires_at
Acesso por tempo limitado
Alias multi-serviço
Um alias → muitos programas
Domínio personalizado
CNAME · Let's Encrypt automático

Nomenclatura de alias: 3–61 caracteres, alfanumérico minúsculo com hífens, deve começar e terminar com letra ou número. Aliases gerados automaticamente têm 48 caracteres em hex.

início / platform / proxy / vs
Self-hosted vs Hoody Proxy

O que você teria que montar por conta própria

O proxy substitui um stack que a maioria das equipes monta do zero: proxy reverso + gerenciador de certificados + VPN ou túnel + auth por app + log de auditoria. Os axiomas que a coluna self-hosted falha — URL como rota, URL como escopo de auth, URL como incorporável — são o que o proxy fornece nativamente.

NecessidadeHoody ProxyEquivalente self-hosted
HTTPS curingasuportado nativamenteNativocertbot + cron de renovação + rotação de cert
Roteamento para porta internasuportado nativamenteNativobloco de servidor nginx por serviço
IP real do clientesuportado nativamenteNativoAnalisar X-Forwarded-For por app
JWT · Basic · IP · Token authsuportado nativamenteNativoMiddleware por app + libs de sessão
Domínio personalizado + TLSsuportado nativamenteNativoCloudflare / DNS-01 / reload do nginx
Auditoria centralizada de requisiçõessuportado nativamenteNativologs do nginx + shipper de logs + indexação
URLs incorporáveis em iframesuportado nativamenteNativoCORS / CSP / TLS manual por app
Roda no seu hardwaresuportado nativamenteNativoVocê mesmo roda de qualquer forma

Se você já está no Kubernetes com um controlador de ingress, Cloudflare Tunnels para SSO com Okta, ou Tailscale para acesso privado L3, essas ferramentas continuam sendo melhores em seus nichos específicos. O proxy ganha seu espaço quando você quer serviços de contêiner endereçáveis por URL como abstração primária.

início / platform / proxy / build
O que isso desbloqueia

Seis fluxos de trabalho que o modelo URL-first torna triviais

Baseado em padrões que equipes realmente implantam com o Hoody Proxy.

Implante uma API sem proxy reverso

Vincule em 0.0.0.0:4000. Obtenha http-4000.SERVER.containers.hoody.com. Pule o nginx, o cert e a dança do DNS.

Domínio personalizado com TLS automático

POST /api/v1/proxy-aliases, defina um CNAME, e a primeira requisição provisiona o Let's Encrypt em 30–60 segundos.

Blue/green via troca de alias

Aponte api.empresa.com para o contêiner B, teste, troque o alias de volta. Sem reload de config, sem downtime.

Dê a um agente de IA um contêiner para operar

O agente recebe um JWT, o proxy valida por requisição, o agente escreve arquivos, executa comandos, consulta o sqlite via HTTPS.

Subdomínios multi-tenant para SaaS

Um contêiner por tenant; alias TENANT.seuapp.com. Isolamento de tenant aplicado na camada de URL.

Revogação instantânea

Uma chamada DELETE para o Control Plane e a URL fica inativa em menos de um segundo. Sem envenenamento de cache.

início / platform / proxy / começar
Começar

Sua primeira URL está a uma chamada de API de distância.

Crie um projeto, crie um contêiner, e todo serviço já está online. Sem infraestrutura para configurar antes.

Guia do Proxy

Veja também — /platform/control-plane para as APIs de alias de proxy, permissão e logs.