Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

SrBalbucio/browser4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

O BROWSER4J FOI MOVIDO PARA BROWSER4J-CEF

Durante o desenvolvimento do projeto percebi que o JCEF tinha muitas peculiaridades e exigia uma estrutura de projeto diferente para lidar com as complexidades de integração, gerenciamento de dependências nativas e configuração específica do Chromium. Para evitar limitações decidi integrar o Browser4j diretamente com o JCEF, criando uma versão customizada chamada Browser4j-CEF. Essa abordagem me permitiu otimizar a arquitetura, simplificar a API e garantir uma experiência de desenvolvimento mais fluida, sem as restrições impostas por uma camada de abstração genérica.

O projeto continua aqui, se você utiliza o Browser4j, recomendo migrar para a versão CEF para aproveitar as melhorias e correções de bugs que foram implementadas durante o processo de desenvolvimento.

🌐 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.


✨ 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</artifactId>
    <version>1.0.0-SNAPSHOT</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:

  1. Getting Started - Guia de configuração inicial.
  2. Configuração do Runtime - Feature flags e inicialização.
  3. API de Navegação - Comandos básicos e avançados.
  4. Intercepção de Rede - Hooks de requests e cookies.
  5. Proxy Pool e Controle de Fingerprint - Proxy Pool e Controle de Fingerprint.
  6. Gerenciador de Abas - Lógica multi-janela.
  7. HTML Parsing - Extração de HTML, Parsing com Jsoup e Live-Tracking.
  8. Perfis e Isolamento - Gerenciamento de usuários.
  9. Custom Error Handler - Tratamento de Erros do Browser
  10. Gerenciador de Downloads - Fluxo de arquivos.
  11. Histórico e Autocomplete - Persistência de navegação.
  12. Cache Avançado - Otimização de performance e disco.
  13. Modular JS Bridge - Comunicação estruturada Java-JS.
  14. Automation API - Automação de navegador.

⚖️ Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

About

Embeds Chromium (JCEF) in Java Swing/AWT apps with advanced control over network, cache and performance.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages