Skip to content

DragonSenseiGuy/Sigma-Browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sigma Browser

Sigma Browser

A modern, fast, and feature-rich web browser built with Electron

License: MIT Electron Node.js macOS

Sigma is a modern, lightweight web browser designed exclusively for macOS. It combines the power of Chromium with a clean, minimalist interface and advanced features optimized for the Mac experience. Built with Electron, it delivers native macOS performance, security, and seamless integration with your Mac workflow.

✨ Key Features

πŸš€ Core Browsing

  • Multi-Tab Support: Efficient tab management with smooth switching
  • Fast Navigation: Back, forward, reload, and home navigation
  • Smart Address Bar: Intelligent URL detection and search integration
  • High-Performance Rendering: Optimized webview loading with caching
  • Context Menus: Right-click support with "Open in New Tab" functionality

πŸ“š Advanced History Management

  • Comprehensive History Tracking: Automatic recording of visited pages with titles and timestamps
  • Smart History Display: View history with page titles, URLs, and visit times
  • Selective Deletion: Choose specific entries to delete with checkboxes
  • Bulk Operations: Select all, deselect all, and delete multiple entries
  • Clear All History: Complete history clearing with safety confirmations
  • Instant Updates: Real-time UI updates without page refreshes

🎨 Theming & Customization

  • Multiple Themes: Light, Dark, and System (auto-follows OS preference)
  • Dynamic Theme Switching: Instant theme changes without restart
  • Consistent Styling: Themes apply to all browser components
  • Custom CSS Variables: Extensible theming system

⚑ Performance Optimizations

  • HTTP Caching: Persistent session-based caching for faster repeat visits
  • Resource Preloading: Automatic preloading of critical resources
  • DNS Prefetching: Faster connection establishment
  • Image Optimization: Lazy loading for improved performance
  • Font Optimization: Proper font preloading to prevent layout shifts
  • Progress Indicators: Visual loading feedback with progress bars

πŸ”’ Security Features

  • Context Isolation: Secure separation between main and renderer processes
  • Sandboxed WebViews: Isolated browsing contexts for enhanced security
  • Limited Node Integration: Minimal exposure of Node.js APIs
  • Secure Session Management: Persistent sessions with proper partitioning
  • Safe Navigation: URL filtering and validation
  • macOS Security Integration: Hardened runtime, Gatekeeper compatibility, and App Sandbox support
  • Code Signing Ready: Prepared for macOS code signing and notarization

πŸ› οΈ Developer Features

  • Performance Monitoring: Built-in load time tracking and reporting
  • Debug Console: Access to developer tools and console
  • Custom User Agent: Modern Chrome user agent for compatibility
  • WebView Preload Scripts: Custom optimization scripts for each page

🎯 Special Pages

πŸ“„ New Tab Page (sigma:newtab)

  • Clean, minimalist design
  • Quick access to frequently visited sites
  • Theme-aware styling

πŸ“– History Page (sigma:history)

  • Comprehensive browsing history with timestamps
  • Advanced management tools:
    • Individual entry selection with checkboxes
    • Bulk selection (Select All/Deselect All)
    • Selective deletion with confirmation
    • Complete history clearing
  • Real-time search and filtering
  • Visual feedback for selected items

⌨️ Keyboard Shortcuts

Shortcut Action Description
⌘+N New Tab Opens a new browsing tab
⌘+W Close Tab Closes the current tab
⌘+R Reload Page Refreshes the current page
⌘+[ Go Back Navigate to previous page
⌘+] Go Forward Navigate to next page
⌘+Y View History Opens history in new tab
⌘+, Settings Opens browser settings
⌘+T New Tab Alternative shortcut for new tab
⌘+Shift+T Reopen Closed Tab Reopens the last closed tab
⌘+L Focus Address Bar Focuses the URL/search bar

πŸš€ Getting Started

System Requirements

  • macOS: 10.15 (Catalina) or later
  • Architecture: Intel x64 or Apple Silicon (M1/M2/M3)
  • Memory: 4GB RAM minimum, 8GB recommended
  • Storage: 200MB free disk space

Prerequisites

  • Node.js (v14 or higher)
  • npm (usually comes with Node.js)
  • Xcode Command Line Tools (for development): xcode-select --install

Quick Installation

  1. Clone the repository:

    git clone https://github.com/DragonSenseiGuy/Sigma.git
    cd Sigma
  2. Install dependencies:

    npm install
  3. Start the application:

    npm start

Development Mode

For development with debug output:

npm run dev

Building for Production

Build for macOS (Universal Binary - Intel + Apple Silicon):

npm run build

Build specific architecture:

# Intel x64 only
npm run build:mac -- --x64

# Apple Silicon only
npm run build:mac -- --arm64

Distribution Package:

npm run dist

This creates both .dmg installer and .zip archive in the dist/ folder.

πŸ—οΈ Project Architecture

File Structure

Sigma/
β”œβ”€β”€ πŸ“„ index.html              # Main application window HTML
β”œβ”€β”€ βš™οΈ main.js                 # Electron main process (window management, shortcuts)
β”œβ”€β”€ πŸ”’ preload.js              # Secure bridge between main and renderer processes
β”œβ”€β”€ 🎨 renderer.js             # Browser UI logic and tab management
β”œβ”€β”€ πŸ’… styles.css              # Application styling and themes
β”œβ”€β”€ πŸš€ webview-preload.js      # Performance optimization script for webviews
β”œβ”€β”€ πŸ“ assets/                 # Application assets
β”‚   β”œβ”€β”€ πŸ–ΌοΈ app-icon.png        # Application icon
β”‚   └── 🏠 home-icon.svg       # Home button icon
└── πŸ“¦ package.json            # Project configuration and dependencies

Architecture Overview

Main Process (main.js)

  • πŸͺŸ Window Management: Creates and manages browser windows
  • ⌨️ Global Shortcuts: Handles system-wide keyboard shortcuts
  • πŸ–±οΈ Context Menus: Manages right-click menus and actions
  • πŸ”„ Session Management: Configures caching and performance settings
  • πŸ›‘οΈ Security: Implements security policies and sandboxing

Renderer Process (renderer.js)

  • πŸ“‘ Tab Management: Creates, switches, and closes tabs
  • 🧭 Navigation Logic: Handles URL navigation and history
  • πŸ“š History Management: Comprehensive history tracking and management
  • 🎨 Theme System: Dynamic theme switching and application
  • 🌐 WebView Management: Manages embedded web content
  • ⚑ Performance Optimization: Loading states and progress tracking

WebView Preload (webview-preload.js)

  • πŸš€ Performance Enhancements: DNS prefetching, resource preloading
  • πŸ–ΌοΈ Image Optimization: Lazy loading and optimization
  • πŸ“Š Performance Monitoring: Load time tracking and reporting
  • πŸ”— Resource Hints: Preconnect and prefetch optimizations

Security Architecture

  • πŸ”’ Context Isolation: Complete separation between main and renderer processes
  • πŸ–οΈ Sandboxed WebViews: Isolated browsing contexts for each tab
  • 🚫 Limited Node Integration: Minimal exposure of Node.js APIs to web content
  • πŸ›‘οΈ Secure IPC: Safe communication between processes
  • πŸ” Session Partitioning: Isolated storage and caching per session

🎨 Customization & Settings

Theme System

Sigma features a comprehensive theming system with three modes:

  • 🌞 Light Theme: Clean, bright interface perfect for daytime use
  • πŸŒ™ Dark Theme: Easy on the eyes with dark backgrounds and light text
  • πŸ”„ System Theme: Automatically follows your operating system's theme preference

Theme Features:

  • ⚑ Instant Switching: Themes change immediately without restart
  • 🎯 Consistent Application: Themes apply to all browser components
  • πŸ’Ύ Persistent Settings: Theme preference is saved and restored
  • πŸ”§ CSS Variables: Extensible theming system for developers

πŸ”§ Advanced Usage

Custom URL Schemes

Sigma supports special internal URLs:

  • sigma:newtab - Opens the new tab page
  • sigma:history - Opens the history management page
  • about:blank - Opens a blank page

Performance Tips

  • πŸ—‚οΈ Use History Management: Regularly clean old history entries for better performance
  • 🎨 Choose Appropriate Theme: Dark theme can save battery on OLED displays
  • πŸ“‘ Manage Tabs: Close unused tabs to free up memory
  • πŸ”„ Clear Cache: Periodically clear cache through settings for optimal performance

Troubleshooting

Common Issues:

  • Slow Loading: Check internet connection and clear cache
  • Theme Not Applying: Restart the application
  • History Not Saving: Check localStorage permissions
  • Tabs Not Responding: Close and reopen problematic tabs
  • App Won't Launch: Check macOS version compatibility (10.15+)
  • Permission Issues: Grant necessary permissions in System Preferences > Security & Privacy

macOS-Specific Issues:

  • Gatekeeper Warning: Right-click app and select "Open" to bypass unsigned app warning
  • Dock Icon Issues: Restart Dock with killall Dock in Terminal
  • Menu Bar Problems: Reset menu bar cache by restarting the app

Debug Mode:

npm run dev

🀝 Contributing

We welcome contributions! Here's how to get started:

Development Setup

  1. Fork the repository on GitHub
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/Sigma.git
    cd Sigma
  3. Install dependencies:
    npm install
  4. Create a feature branch:
    git checkout -b feature/amazing-feature

Development Guidelines

  • πŸ“ Code Style: Follow existing code patterns and formatting
  • πŸ§ͺ Testing: Test your changes thoroughly across different platforms
  • πŸ“š Documentation: Update README.md for new features
  • πŸ”’ Security: Ensure all changes maintain security standards

Submitting Changes

  1. Commit your changes:
    git commit -m 'Add amazing feature'
  2. Push to your branch:
    git push origin feature/amazing-feature
  3. Open a Pull Request with a clear description of changes

πŸ“Š Performance Metrics

Sigma is optimized for speed and efficiency:

  • ⚑ Fast Startup: < 2 seconds cold start time
  • πŸš€ Quick Navigation: Optimized webview loading with caching
  • πŸ’Ύ Memory Efficient: Intelligent tab management and resource cleanup
  • πŸ”„ Smooth Animations: 60fps UI transitions and effects
  • πŸ“ˆ Progressive Loading: Smart resource prioritization and lazy loading

πŸ”„ Version History

Beta 0.3 (Latest)

  • ✨ Comprehensive History Management: Advanced history tools with selective deletion
  • πŸš€ Performance Optimizations: HTTP caching, resource preloading, DNS prefetching
  • 🎨 Enhanced UI: Progress bars, loading indicators, improved visual feedback
  • πŸ”§ Bug Fixes: Resolved webview loading issues and tab switching problems

v1.1.0

  • πŸ“š History System: Complete browsing history with timestamps
  • 🎨 Theme Improvements: Better dark mode and system theme support
  • πŸ”’ Security Enhancements: Improved sandboxing and context isolation

v1.0.0

  • πŸŽ‰ Initial Release: Core browsing functionality
  • πŸ“‘ Tab Management: Multi-tab support with smooth switching
  • πŸŒ“ Theme Support: Light, dark, and system themes
  • 🧭 Navigation: Back, forward, reload, and home functionality

πŸ“ License

This project is licensed under the GPLv3 License - see the LICENSE file for details.

What this means:

  • βœ… Commercial Use: Use Sigma in commercial projects
  • βœ… Modification: Modify and distribute your changes
  • βœ… Distribution: Share Sigma with others
  • βœ… Private Use: Use Sigma for personal projects
  • ❗ Limitation: No warranty or liability

πŸ™ Acknowledgments

  • πŸ”§ Built with Electron - Cross-platform desktop app framework
  • 🎨 Icons from Heroicons - Beautiful hand-crafted SVG icons
  • πŸ’‘ Inspired by modern browser design principles from Chrome, Firefox, and Safari
  • 🌟 Special thanks to the open-source community for tools and inspiration

πŸ“ž Support & Community

Getting Help

  1. πŸ“– Check the Documentation: Review this README and inline code comments
  2. πŸ” Search Issues: Look through existing GitHub issues
  3. πŸ†• Create New Issue: Open a detailed issue with reproduction steps
  4. πŸ’¬ Join Discord: Connect with the community at Sigma Discord

Reporting Bugs

When reporting bugs, please include:

  • 🍎 macOS Version: e.g., macOS 14.0 (Sonoma), macOS 13.0 (Ventura)
  • πŸ’» Mac Model: e.g., MacBook Pro 2021 (M1), iMac 2020 (Intel)
  • πŸ“± Sigma Version: Found in Sigma > About Sigma menu
  • πŸ”„ Steps to Reproduce: Clear reproduction steps
  • πŸ“Έ Screenshots: Visual evidence if applicable
  • πŸ“‹ Console Logs: Any error messages or warnings
  • πŸ”§ System Info: Available via Apple Menu > About This Mac

Feature Requests

We love hearing your ideas! For feature requests:

  • πŸ’‘ Describe the Feature: Clear explanation of what you want
  • 🎯 Use Case: Why this feature would be valuable
  • 🎨 Mockups: Visual representations if applicable

Reccomended Contributions

  • βš™οΈ Make Extensions Work: The extensions don't work as of now when someone does this this will be updated.

Made with ❀️ by DragonSenseiGuy

⭐ Star this repo if you find it useful! ⭐

πŸ› Report Bug β€’ ✨ Request Feature β€’ πŸ’¬ Discord

About

The Sigma Browser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published