Executando verificação de segurança...
1

🌐Crom-Nexus v3: Um "Navegador de Terminal" Programável em Go (Open Source)

Olá TabNews!

Sou o criador do Crom-Nexus, e hoje estou liberando a versão 3.0 desse projeto que nasceu da minha frustração com a complexidade de ferramentas como Puppeteer/Selenium para tarefas simples. O Nexus é um Runtime de Terminal para a Web. Imagine se o curl tivesse um motor JavaScript embutido, uma interface visual (TUI) e fosse capaz de processar o DOM como um navegador, mas sem o peso de um Chromium.

A ideia central é: "A Internet é o SO, o Nexus é o Kernel". Ele permite que você escreva pequenos drivers em JavaScript (.nx.js) que navegam, extraem dados e interagem com APIs ou HTML, tudo rodando nativamente no seu terminal via um binário Go de ~15MB. Diferente de soluções headless que consomem RAM absurda, o Nexus foca em parsing estático e emulação de ambiente.

Como o Nexus se Compara?

Aqui está um comparativo direto com outras ferramentas que você talvez conheça:

FeatureCrom-NexusPuppeteer/PlaywrightCurl / Wget
EngineGo + Goja (JS VM)Chromium / WebKitLibcurl (C)
Consumo de RAM~30MB~500MB+~5MB
JavaScriptSim (ES5+ Runtime)Sim (V8 Completo)Não
Interface (TUI)Sim (Nativa)Não (Headless)Não
FocoAutomação Rápida/CLITestes E2E / RenderizaçãoRequisições Simples
Instalação1 BinárioNode + Browser BinariesBinário do Sistema

Confiabilidade e Testes

Não queria lançar apenas "mais uma ferramenta", então a versão 3.0 passou por uma bateria de validação rigorosa antes de chegar aqui. Implementamos um pipeline de testes que cobre:

  • Segurança (Vault): Testamos exaustivamente o Nexus Vault, que usa criptografia AES-256-GCM para guardar segredos (como chaves de API) localmente. Nada fica em texto plano.
  • Networking & SSL: Validamos o cliente HTTP contra APIs reais (CoinGecko, Ipify) para garantir estabilidade em conexões seguras e parsing de JSON complexo.
  • Pipelines (Stdin): O Nexus foi desenhado para ser "pipeable". Você pode injetar scripts dinamicamente via echo "..." | nexus run -, o que permite integrá-lo em scripts Bash ou CI/CD sem criar arquivos temporários.

O relatório completo de verificação está disponível na documentação (docs/TEST_REPORT_PT.md), com gráficos de cobertura e insights sobre a arquitetura do Goja.

SDK Universal: Use em Python, Node, PHP...

Uma das "features ocultas" mais poderosas do Nexus é a flag --json. Ela transforma qualquer saída visual (TUI) em JSON estruturado, permitindo que você use o Nexus como um motor de scraping e execução para sua linguagem favorita.

Em vez de importar bibliotecas pesadas de browser no seu backend Python, você pode simplesmente chamar o binário:

import subprocess, json

# O Nexus faz o trabalho pesado (request, bypass, parsing)
result = subprocess.run(
    ["nexus", "@google", "search", "golang", "--json"],
    capture_output=True
)
data = json.loads(result.stdout)
print(f"Top Result: {data[0]['title']}")

No repositório, incluí exemplos prontos ("Wrappers") para Python e Node.js na pasta examples/, mostrando como criar servidores API e scripts de automação que delegam a navegação para o Nexus.

O Que Dá Para Fazer?

O Nexus brilha onde você precisa de interatividade no terminal ou automação leve. Alguns exemplos que já funcionam no ecossistema:

  • Search CLI: Pesquisar no Google/DuckDuckGo e ver resultados limpos no terminal.
  • Crypto Tracker: Acompanhar preços de Bitcoin em tempo real com tabelas coloridas.
  • Dev Tools: Geradores de UUID, conversores de moeda, leitores de notícias (HackerNews/TabNews).
  • Security: Scripts de reconhecimento que usam rotação de User-Agent.

Como Testar

O projeto é 100% Open Source (MIT). Se você curte Go, CLI tools ou automação, adoraria receber seu feedback ou PRs.

Para rodar agora mesmo (Windows/Linux/Mac):

# Baixar e instalar (exemplo genérico, veja o repo para o comando exato)
git clone https://github.com/MrJc01/crom-nexus
cd crom-nexus && go build ./cmd/nexus

# Rodar um exemplo
./nexus run nexus-scripts/joke/script.nx.js

O repositório está aqui: GitHub - crom-nexus

Espero que seja útil para alguém! Qualquer dúvida técnica sobre a implementação em Go ou sobre a VM JS, estou por aqui nos comentários. 🤝

Carregando publicação patrocinada...