Olá, pessoal! Gostaria de compartilhar com vocês o Crom-me, um projeto que venho desenvolvendo para resolver uma dor recorrente no meu workflow: a necessidade de expor serviços locais de forma rápida e segura, mantendo o controle total sobre os dados e o roteamento.
O projeto está atualmente em Beta (v0.3). Ele já está funcional, mas decidi abrir o código e a estratégia agora porque quero ouvir a opinião de desenvolvedores que lidam com infraestrutura para saber como evoluir o projeto da melhor forma.

🚀 O que é o Crom-me?
O Crom-me é um ecossistema de conectividade open-source. Ele atua como uma alternativa leve a ferramentas como ngrok ou Cloudflare Tunnels. Eu o criei para servir de base para os meus outros projetos hospedados no ecossistema crom.run, permitindo que eu teste novas funcionalidades e integre webhooks sem depender de serviços externos limitados.
O sistema se divide em três componentes principais:
- Portal (crom.me): Onde gerencio meus subdomínios fixos e acompanho a telemetria básica.
- Infraestrutura de Túneis: O motor que permite o redirecionamento de tráfego via subdomínios dinâmicos.
- CROM-CLI: Uma ferramenta em Go que permite instalar e subir um túnel em um único comando.
🛠️ A Arquitetura Técnica
Escolhi Go para o coração do projeto pela sua eficiência nativa com concorrência e rede.
Pontos-chave da implementação:
- WebSocket Multiplexing: Utilizamos WebSockets (WSS) para manter a conexão persistente entre o meu terminal (local) e a VPS (remota). O motor multiplexa múltiplas requisições HTTP sobre esse túnel.
- Identidade via GitHub: Usei OAuth do GitHub para autenticar o CLI. Isso garante uma barreira de entrada contra abusos e facilita a gestão de usuários sem precisar de um sistema de senhas complexo.
- Edge & DNS (Cloudflare): O tráfego passa pela malha da Cloudflare antes de chegar no meu Nginx. Isso me dá SSL/TLS v1.3 automático e proteção na borda.
- Docker-First: Todo o ambiente (API, Banco Postgres e Nginx) roda em containers, o que facilitou muito o deploy na VPS e a portabilidade.
💡 Por que construir isso do zero?
A maior motivação foi o "dogfooding". Eu precisava de uma forma estável de testar meus outros projetos (SaaS de e-commerce e gestão médica) que rodam no crom.run.
Depender de planos gratuitos de terceiros era frustrante: sessões que expiravam, portas bloqueadas e URLs que mudavam toda hora. Com o Crom-me, eu criei a ferramenta que eu precisava para validar meus próprios deploys e mostrar previews de forma profissional.
🤝 Pedido de Feedback (Para os Seniores e DevOps)
O projeto está em beta e eu sei que há muito o que melhorar. Gostaria da opinião técnica de quem puder dar uma olhada:
- Protocolo: WebSockets atendem bem, mas para alta carga, deveríamos considerar gRPC ou talvez tunelamento via SSH puro?
- Segurança: Quais as melhores práticas para isolar o tráfego de subdomínios dinâmicos e evitar que um túnel "suje" a reputação do IP da VPS?
- Evolução: Atualmente, foco em simplicidade. O que mais faz falta para você em uma ferramenta de túnel? Inspeção de pacotes via CLI? Logs persistentes?
- Prosseguimento: Qual a melhor forma de escalar esse backend para suportar múltiplos nós de saída sem perder a centralização do auth?
🔗 Teste e Contribua
Se você quiser testar e me dar um feedback real:
- Site do Projeto: https://crom.me
- Repositório: https://github.com/MrJc01/crom-me
- Comunidade (Discord): https://crom.run/comunidade
Qualquer bug reportado ou sugestão de arquitetura é extremamente valiosa. Estou criando isso para uso pessoal, mas quero que seja uma ferramenta de referência para quem, assim como eu, valoriza a autonomia no desenvolvimento.
☕ Apoie o Desenvolvimento Open-Source Nacional (Não falo só de mim aqui)
A revolução da "IA Soberana" e do "Local-First" não acontece apenas no Vale do Silício ou na Europa. Aqui no Brasil, através da organização Crom, também estou focado em construir e manter projetos que devolvem o controle ao desenvolvedor (além de trazer análises aprofundadas como esta para o TabNews e comunidade).
Manter o desenvolvimento de ferramentas open-source e a produção de conteúdo técnico denso exige tempo, dedicação e, claro, muito ☕ e 🍀. Se este artigo gerou valor para você, ou se você apoia a iniciativa de construirmos tecnologia de base independente por aqui, qualquer apoio é bem-vindo.
Sim eu uso IA, não como meu amigo ou faz tudo, mas como ferramenta, e recomendo o mesmo a você.
Estou idealizando ainda um módulo dedicado de donations na plataforma da Crom, mas enquanto ele não entra no ar, estou aceitando apoios via PIX para manter a infraestrutura rodando:
Chave PIX:
mrj.crom@gmail.com
⚠️ Importante: Se você realizar um apoio, por favor, envie o comprovante (pode ser apenas com seu user do GitHub ou TabNews no assunto/corpo) para o e-mail: mrj.crom@gmail.com.
O Futuro: Assim que eu lançar a implementação oficial de donate/invest da Crom, farei questão de migrar manualmente esses apoios, transformando-os em créditos, badges de early supporter ou garantindo os devidos agradecimentos na plataforma.
Muito obrigado por ler até aqui e pela força! 🗿🍷
Juan Cândido (MrJ) Desenvolvedor e Fundador da Crom