Updated getPortableDataPath to prefer storing 'user-data' in Documents/My Games/<AppName>, with a fallback to the app directory if necessary. This enhances data portability and aligns with common user data storage conventions.
Nebula
A customizable and privacy-focused web browser built with Electron. Nebula is designed to be a lightweight, secure, and user-friendly browser with a focus on performance and privacy.
Features
- Privacy Control: Easily clear your browsing data (history, cookies, cache, local storage, and more).
- Tab Management: Open new tabs, pop a tab out into a new window, and manage them efficiently.
- Bookmarks: Save your favorite sites with automatic backup on save.
- History: Keeps track of your browsing and search history with one-click clear.
- Downloads Manager: Track downloads, pause/resume/cancel, and open or reveal completed files.
- Context Menu: Native right‑click menu with Back/Forward/Reload, open/download links, image actions, and Inspect Element.
- Auth Compatibility: Improved OAuth/SSO & WebAuthn support (popup windows enabled where needed).
- Performance Monitoring: Built-in tools to monitor app performance and force GC when needed.
- GPU Acceleration Control: Diagnostics and safe fallbacks to troubleshoot rendering issues.
- Themes & Customization: Built-in themes and live editor to craft your own.
- Plugins: Extend Nebula with custom or community plugins via a simple plugin API.
- Cross-Platform: Runs on Windows, macOS, and Linux.
Learn more about Nebula's features.
Getting Started
Prerequisites
- Node.js installed.
Installation
- Clone the repository:
git clone https://github.com/Bobbybear007/NebulaBrowser.git - Navigate to the project directory:
cd NebulaBrowser - Install dependencies:
npm install
Running the Application
To start the browser, run the following command:
npm start
Building the Application
To build the application for your platform, run:
npm run dist
This will create a distributable file in the dist directory.
Tip (Windows): If you encounter GPU issues, try starting with start-gpu-safe.bat to launch in a safer rendering mode.
Project Structure
An overview of the project's structure. For a more detailed explanation, please see the Project Structure documentation.
main.js: The main entry point for the Electron application.renderer/: Contains all the front-end files.preload.js: Bridges the main and renderer processes.performance-monitor.js: Module for monitoring performance.gpu-config.js&gpu-fallback.js: Modules for managing GPU settings.assets/: Contains static assets.documentation/: Contains additional documentation.plugins/: Sample plugins and scaffolding for developing your own.
Core Concepts
Nebula is built on several core concepts that are essential to understanding how it works. For a deeper dive, read the Core Concepts documentation.
- Main and Renderer Processes
- Inter-Process Communication (IPC)
- Performance and GPU Management
Contributing
Contributions are welcome! Please read our contributing guidelines to get started.
Technologies Used
- Electron
- HTML, CSS, JavaScript
License
This project is licensed under the MIT License. Read More