Carom

Cliente HTTP para desktop

Envie requisições. Sem quebrar o ritmo.

O Carom é um cliente desktop para compor, organizar e enviar requisições HTTP. Pensado para o teclado, com variáveis com escopo por pasta e ambiente, e respostas fáceis de ler.

macOS, Windows e Linux · se atualiza sozinho onde o sistema permite

A janela do Carom: a árvore do workspace à esquerda, uma requisição GET com seus cabeçalhos no meio e a resposta JSON formatada à direita.

Tudo o que uma requisição precisa, e nada além

As peças que você usa o dia todo, à mão e coerentes entre si.

Feito para o teclado

Busque tudo com CtrlK, vá a uma requisição com CtrlP, envie com CtrlEnter. Todo atalho pode ser remapeado.

Variáveis com escopo

Escreva {{baseUrl}} uma vez. Uma pasta pode sobrepor o ambiente ativo, que pode sobrepor o base — e ao passar o mouse você vê qual venceu.

Dados de teste gerados

67 geradores como {{$randomFullName}} e {{$randomEmail}}, com os nomes do Postman. Cada ocorrência recebe seu próprio valor, no idioma que você escolher.

Scripts

Scripts de pré-requisição e pós-resposta numa requisição ou numa pasta inteira. Guarde um token de uma resposta e use na próxima requisição.

Traga o que você já tem

Importe do Postman, Insomnia, OpenAPI, HAR ou de um comando curl. Exporte para Carom ou OpenAPI 3.1, ou copie qualquer requisição como curl.

Com a sua cara

Cinco paletas prontas e as suas próprias cores, escuro ou claro, em English, Português ou Español.

Um olhar de perto

Capturas reais do app, enviando requisições para uma API inventada.

Ambientes

Troque de contexto sem sair da requisição

Aperte CtrlE e uma gaveta desliza ao lado do seu trabalho. Staging, produção, a sua máquina — cada um com sua cor, para você saber sempre para onde a requisição está indo.

  • Edite os valores ali mesmo e veja o efeito na hora
  • Variáveis da pasta e do ambiente ativo lado a lado
  • Selecione um texto em qualquer campo, clique com o botão direito e transforme em variável
A gaveta de ambientes aberta ao lado da requisição, listando Base, Staging e Produção com suas variáveis.
Paleta de comandos

Encontre qualquer coisa, execute qualquer coisa

Uma paleta para requisições, workspaces e comandos. Digite algumas letras do nome, ou vá direto a uma lista: CtrlP para requisições, CtrlR para workspaces, CtrlShiftP para comandos.

  • Cada resultado mostra o atalho que ele também tem
  • As abas abertas também são pesquisáveis, com CtrlShiftE
  • Troque de workspace sem encostar no mouse
A paleta de comandos aberta sobre a área de trabalho, filtrando requisições enquanto você digita.
Dados gerados

Dados falsos com cara de usuário de verdade

Coloque {{$randomFullName}} num corpo e uma pessoa nova é inventada a cada envio. Passe o mouse numa variável para ver o que ela é, pedir outro exemplo ou defini-la.

  • Nomes, cidades, ruas e telefones seguem o idioma da interface
  • Fixe o idioma dos dados gerados separadamente nas Configurações
  • Um erro de digitação continua vermelho, e você percebe antes do servidor
Um corpo JSON com variáveis geradas, um popover explicando uma delas e a resposta mostrando os valores que foram enviados.
Temas

Escuro quando você quer, claro quando precisa

Escolha uma paleta, ajuste as cores, mude o tamanho do texto. As cores da sintaxe JSON também são suas.

  • Carom, Midnight, Ember, Forest e Paper
  • Mude qualquer cor e guarde como sua própria paleta
  • Fontes para a interface e para o código, com tamanho
O mesmo workspace no tema claro.

As capturas mostram um workspace montado para a demonstração. A interface é a real; a API e os dados são inventados.

As requisições saem da sua máquina

O app desktop envia as requisições de forma nativa, como o curl — não por um navegador, e não pelo servidor de ninguém.

Sem CORS

O navegador decide quais APIs uma página pode chamar. Um cliente nativo não tem essa regra, então a API que você está construindo responde como responderia a qualquer cliente.

localhost e a sua rede

Alcance localhost, endereços da sua rede e serviços internos diretamente — o que um cliente na web nunca enxerga.

Sem conta, sem sincronização

Nada para entrar. Seus workspaces ficam na sua máquina, e vão para uma pasta de sua escolha quando você quiser compartilhá-los.

Chegue como está, saia como quiser

Mudar para o Carom não deveria significar recomeçar, e sair não deveria significar reescrever.

Importar

  • Carom
  • Coleções e ambientes do Postman
  • Insomnia (v4 e v5)
  • OpenAPI / Swagger
  • HAR
  • Comandos curl

Exportar

  • Workspace, pasta ou requisição do Carom
  • OpenAPI 3.1
  • curl (copiar)

Escolha o que trazer e para onde vai — ambientes inclusive. As variáveis geradas mantêm os nomes do Postman, então coleções que as usavam continuam funcionando.

Compartilhe um workspace pelo git, sem conflitos

No desktop, um workspace pode viver numa pasta do seu projeto. A pasta é o registro: abra o workspace e ele a lê, mude algo e ela é atualizada.

  • Uma requisição por arquivo: duas pessoas que adicionam requisições diferentes mexem em arquivos diferentes, e o git junta tudo sozinho.
  • Os nomes das variáveis viajam com o projeto; os valores só onde você mandar, e tudo o que parece credencial começa desligado.
  • Respostas, edições não salvas e versões salvas ficam na sua máquina.
  • Se a pasta mudar por baixo do app — um git pull, por exemplo — ele para e avisa, em vez de sobrescrever.

Seu, e continua sendo

O Carom roda no seu computador. Foi feito para que o que você envia e o que recebe fique entre você e a API.

  • Sem conta, e sem análise de uso nem telemetria no app.
  • A única requisição que o Carom faz por conta própria é consultar o GitHub por uma versão nova — e dá para desligar nas Configurações.
  • Os scripts não rodam em sandbox. Eles alcançam o que o app alcança, então trate scripts de uma coleção importada como código de quem os escreveu.

Baixar o Carom

Escolha o seu sistema. Os botões levam à última versão; se o navegador bloquear o link direto, a página de Versões tem todos os arquivos.

Windows

O instalador .exe é o mais simples. Há também um .msi para instalações gerenciadas.

Linux

.deb para Debian e Ubuntu, .rpm para Fedora e RHEL, .AppImage para o resto.

Procurando outra coisa? Todos os instaladores estão na página de Versões.

Na primeira vez que abrir

O Carom ainda não é assinado com um certificado de desenvolvedor pago, então o macOS e o Windows pedem uma confirmação, uma única vez. Isso é esperado e não indica problema no download.

macOS: “A Apple não pôde verificar se o item Carom está livre de malware”

Depois de arrastar o Carom para Aplicativos, remova o atributo de quarentena que o navegador colocou — uma linha no Terminal:

xattr -cr /Applications/Carom.app

Prefere sem Terminal? Dê duplo clique no Carom e clique em OK, abra Ajustes do Sistema → Privacidade e Segurança, role até o fim, escolha Abrir Mesmo Assim e confirme. É só uma vez.

Windows: “O Windows protegeu seu PC”

O SmartScreen mostra isso para instaladores sem certificado de assinatura de código. Escolha Mais informações → Executar assim mesmo.

Linux: AppImage e dependências

O .deb e o .rpm instalam pelo gerenciador de pacotes. O AppImage precisa ser marcado como executável antes:

chmod +x Carom_*_amd64.AppImage
./Carom_*_amd64.AppImage

Bibliotecas de sistema necessárias: libwebkit2gtk-4.1-0 e libgtk-3-0 (os pacotes já declaram; o AppImage não).

Atualizações

As versões para macOS, Windows e AppImage se atualizam sozinhas de dentro do app. O .deb e o .rpm pertencem ao gerenciador de pacotes, então o Carom leva você à página da versão.

Perguntas

O Carom é gratuito?

Sim, é gratuito para usar, por enquanto. O código é público para qualquer pessoa ler e auditar, mas o Carom não é open source: ler o código não dá direito de copiar, modificar ou redistribuir. Os termos podem mudar em versões futuras; uma versão que você já tem mantém os termos com que foi lançada. Leia a licença.

Existe versão web?

Existe uma versão para navegador, mas um navegador não faz o que um cliente precisa: o CORS limita quais APIs ele chama e uma página nunca alcança localhost nem a sua rede. O app desktop é a forma recomendada de usar o Carom.

Funciona com coleções do Postman?

Sim. Importe coleções e ambientes do Postman escolhendo o que trazer e para onde. Scripts escritos com pm.* continuam rodando, e os nomes das variáveis geradas são os do Postman.

Dá para exportar para o Postman?

Não diretamente. Você pode exportar no formato do próprio Carom ou em OpenAPI 3.1, e copiar qualquer requisição como curl.

Onde ficam os meus dados?

Na sua máquina. Um workspace também pode ficar numa pasta que você escolher — dentro de um repositório git, por exemplo — para compartilhar com um time.

Ele coleta alguma coisa?

Sem análise de uso nem telemetria. A única coisa que faz sozinho é consultar o GitHub por uma versão nova, o que dá para desligar nas Configurações.

Em quais idiomas ele fala?

English, Português (BR) e Español. Na primeira vez ele segue o idioma do sistema, e você troca nas Configurações.

Por que o sistema me avisa quando abro?

O Carom não é assinado com um certificado de desenvolvedor pago. O aviso é o sistema dizendo que não pode garantir quem publica; os passos acima resolvem de uma vez.

Pronto para enviar a sua primeira requisição?

Baixe, e o guia leva você de um workspace vazio a um compartilhado.