🌐 Browser4j

O Browser4j é uma biblioteca Java robusta projetada para embutir um navegador avançado baseado no Chromium (via JCEF) em aplicações Swing ou AWT, com foco em controle de rede, performance de cache e gerenciamento de perfis.
[!IMPORTANT]
O projeto é atualmente um work in progress e está em fase de desenvolvimento ativo. A API, funcionalidades e estrutura podem sofrer mudanças significativas à medida que avançamos. Fique atento às atualizações e sinta-se à vontade para contribuir ou reportar issues!
✨ Principais Funcionalidades
- 🚀 Advanced Cache: Sistema multi-camada com SQLite (metadados), SHA-256 (deduplicação) e GZIP (compressão).
- 📂 Download Manager: Controle total do ciclo de vida de downloads com camadas de segurança integradas.
- 📜 History & Autocomplete: Histórico persistente com busca ultra-rápida via SQLite FTS5.
- ✨ Browser Automation: High-level API for clicking, typing, and waiting on elements (Puppeteer-style).
- 🧩 Modular JS Bridge: Expose Java modules to JavaScript with automatic proxy generation.
- 🚀 Built for Performance: Lightweight and optimized for embedding.
- 👤 Profile Management: Perfis totalmente isolados (cookies, localStorage, cache e histórico).
- 📑 Multi-Tab Support: Gerenciador de abas flexível para aplicações multi-documento.
- 🛠️ DevTools & Hooks: Acesso nativo ao Inspector do Chromium e intercepção de rede completa.
🚀 Início Rápido
Depedência (Maven)
<dependency>
<groupId>balbucio.browser4j</groupId>
<artifactId>browser4j-cef</artifactId>
<version>1.0.0</version>
</dependency>
Exemplo Minimalista
// 1. Inicializa o Runtime global
BrowserRuntime.init(BrowserRuntimeConfiguration.builder().build());
// 2. Cria a instância do navegador
Browser browser = CefBrowserImpl.create(BrowserRuntime.getCefApp());
// 3. Adiciona ao JFrame e navega
frame.add(browser.getView().getUIComponent());
browser.loadURL("https://github.com/balbucio/browser4j");
📚 Documentação Detalhada
Mergulhe nas capacidades do Browser4j consultando nossos guias:
- Getting Started - Guia de configuração inicial.
- Configuração do Runtime - Feature flags e inicialização.
- API de Navegação - Comandos básicos e avançados.
- Intercepção de Rede - Hooks de requests e cookies.
- Proxy Pool e Controle de Fingerprint - Proxy Pool e Controle de Fingerprint.
- Gerenciador de Abas - Lógica multi-janela.
- HTML Parsing - Extração de HTML, Parsing com Jsoup e Live-Tracking.
- Perfis e Isolamento - Gerenciamento de usuários.
- Custom Error Handler - Tratamento de Erros do Browser
- Gerenciador de Downloads - Fluxo de arquivos.
- Histórico e Autocomplete - Persistência de navegação.
- Cache Avançado - Otimização de performance e disco.
- Modular JS Bridge - Comunicação estruturada Java-JS.
- Automation API - Automação de navegador.
⚖️ Licença
Distribuído sob a licença MIT e BSD 3-Clause License. Navegue até a pasta licenses para mais informações.