A modern, Java-based web browser built on the Java Chromium Embedded Framework (JCEF), offering a feature-rich browsing experience with enhanced privacy and customization options.
- Tabbed Browsing: Multiple tabs with intuitive navigation
- Modern UI Themes: Choose from Modern, System, or Cross-Platform themes
- Custom New Tab Page: Beautiful start page with quick access to popular sites
- Search Integration: Customizable search engines with suggestions
- Download Manager: Advanced download management with pause/resume capabilities
- Ad Blocking: Built-in ad blocker for cleaner browsing
- Tracker Blocking: Protection against tracking scripts
- Safe Browsing: Google Safe Browsing integration for malware protection
- Custom User Agent: Platform-specific user agent strings
- Flexible Settings: Comprehensive settings panel for customization
- Hardware Acceleration: Optional hardware acceleration support
- Debug Mode: Built-in debugging capabilities for development
- Force Dark Mode: System-wide dark mode enforcement
- Java: Java 11 or higher
- Operating Systems: Windows, macOS, Linux
- Memory: Minimum 4GB RAM recommended
- Storage: At least 1GB free disk space
- Install Java 11 or higher
- Ensure
JAVA_HOMEis properly set - Install Maven for building from source
# Clone the repository
git clone https://github.com/UnknownCoder56/navixbrowser.git
cd navixbrowser
# Create the SECRETS.java file (required for Google Safe Browsing)
# Copy the template and add your Google API key:
cp src/main/java/com/uniqueapps/navixbrowser/object/SECRETS.java.template src/main/java/com/uniqueapps/navixbrowser/object/SECRETS.java
# Edit SECRETS.java and replace "your-google-api-key-here" with your actual API key
# Build the project
mvn clean compile
# Package the application
mvn package
# Run the application
java -jar target/navixbrowser-2.0-jar-with-dependencies.jarOn first run, Navix will:
- Download the JCEF bundle automatically
- Create configuration directories (
data/,cache/,themes/) - Initialize default settings
Access settings through the browser menu or by navigating to navix://settings
| Setting | Description | Default |
|---|---|---|
| HAL | Hardware Acceleration | Enabled |
| OSR | Off-Screen Rendering | Disabled |
| Launch Maximized | Start browser maximized | Enabled |
| Search Engine | Default search provider | |
| Theme | UI appearance | Modern |
| Ad Block | Block advertisements | Enabled |
| Tracker Block | Block tracking scripts | Enabled |
| Safe Browsing | Malware protection | Enabled |
| Search Suggestions | Auto-complete suggestions | Enabled |
| Debug Port | Remote debugging port | 8090 |
You can configure custom search engines by modifying the search engine URL in settings. Use %s as the placeholder for search terms.
Examples:
- Google:
https://google.com/search?q=%s - DuckDuckGo:
https://duckduckgo.com/?q=%s - Bing:
https://www.bing.com/search?q=%s
- Custom Arguments: Add Chromium command-line arguments in settings
- Debug Mode: Enable remote debugging on port 8090 (configurable)
- Data Directory: User data stored in
./data/ - Cache Directory: Browser cache in
./cache/
- New Tab:
Ctrl+T(Cmd+T on macOS) - Close Tab: Click the Γ button or
Ctrl+W - Refresh:
F5orCtrl+R - Back/Forward: Use navigation buttons or browser shortcuts
- Downloads are managed in a dedicated tab
- Pause, resume, or cancel downloads
- View download history and file locations
Switch between three UI themes:
- Modern: FlatLaf-based modern interface
- System: Native operating system theme
- Cross-Platform: Java Swing default theme
navixbrowser/
βββ src/main/java/com/uniqueapps/navixbrowser/
β βββ Main.java # Application entry point
β βββ component/ # UI components
β βββ handler/ # Event handlers
β βββ listener/ # Event listeners
β βββ object/ # Data objects
βββ src/main/resources/ # Application resources
β βββ images/ # Icons and images
β βββ themes/ # UI theme files
β βββ resources/ # HTML and CSS files
βββ pom.xml # Maven configuration
- JCEF: Java Chromium Embedded Framework
- FlatLaf: Modern Look and Feel
- Google Safe Browsing API: Security features
- Apache Tika: File type detection
Enable debug mode to access Chromium DevTools:
- Set debug port in settings (default: 8090)
- Navigate to
http://localhost:8090in any browser - Access full Chromium debugging capabilities
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Java naming conventions
- Add Javadoc comments for public methods
- Ensure thread safety for UI operations
- Test on multiple platforms when possible
Build Errors
- Ensure Java 11+ is installed and
JAVA_HOMEis set - Verify Maven is properly installed
- Create the
SECRETS.javafile with valid API keys
Runtime Issues
- Check that JCEF bundle downloaded successfully
- Verify sufficient disk space for cache and data directories
- Try disabling hardware acceleration if experiencing graphics issues
Performance Issues
- Enable hardware acceleration (HAL) if available
- Increase Java heap size:
java -Xmx4g -jar navixbrowser.jar - Clear browser cache and data directories
This project is licensed under the MIT License - see the LICENSE file for details.
Current Version: 2.1
JCEF Version: 126.2.0
Java Requirement: 11+
Made with β€οΈ using Java and JCEF