Zepra Core Readme

Zepra Core Browser

Smooth, fast, and wild like a zebra in the tech jungle ⚔

A lightweight, high-performance web browser built with C/C++ and SDL2, featuring integrated Ketivee Authentication System and KetiveeSearch engine.

🌟 Features

šŸ” Integrated Authentication System

  • Seamless Login: Integrated with Ketivee authentication server
  • 2FA Support: Two-factor authentication with TOTP codes
  • Session Management: Automatic token refresh and session persistence
  • Cross-Domain Auth: Share authentication across Ketivee subdomains
  • Password Manager: Secure storage for third-party website credentials
  • Security First: HTTP-only cookies, secure token handling

šŸš€ Performance & Speed

  • Lightning Fast: Optimized C++ engine with minimal memory footprint
  • Hardware Acceleration: OpenGL rendering for smooth graphics
  • Memory Efficient: Smart tab management and resource optimization
  • Cross-Platform: Windows, Linux, and macOS support

šŸ” Search & Navigation

  • KetiveeSearch: Integrated search engine with privacy focus
  • Smart Address Bar: URL completion and search suggestions
  • Tab Management: Multi-tab browsing with drag-and-drop
  • Bookmarks: Quick access to favorite sites
  • History: Smart browsing history with search

šŸ›”ļø Security & Privacy

  • Built-in Ad Blocking: Automatic ad and tracker blocking
  • HTTPS Enforcement: Secure connections by default
  • Sandbox Mode: Isolated browsing for enhanced security
  • Privacy Controls: Granular privacy settings
  • Content Filtering: Safe browsing with customizable filters

šŸŽØ Modern UI

  • Dark/Light Themes: Automatic theme switching
  • Responsive Design: Adapts to different screen sizes
  • Customizable: Extensive UI customization options
  • Accessibility: Screen reader support and keyboard navigation

šŸ—ļø Architecture

Zepra Core Browser Engine ā”œā”€ā”€ Core Engine (C++) │   ā”œā”€ā”€ HTML Parser │   ā”œā”€ā”€ CSS Engine │   ā”œā”€ā”€ JavaScript Runtime (ZepraScript) │   └── Rendering Engine (NXRender/SDL2/OpenGL) ā”œā”€ā”€ Authentication System │   ā”œā”€ā”€ ZepraAuthManager │   ā”œā”€ā”€ Session Management │   ā”œā”€ā”€ 2FA Handler │   └── Password Manager ā”œā”€ā”€ UI Layer │   ā”œā”€ā”€ Window Management │   ā”œā”€ā”€ Tab Manager │   ā”œā”€ā”€ Auth Dialogs │   └── Input Handling ā”œā”€ā”€ Network Layer │   ā”œā”€ā”€ HTTP Client (CURL) │   ā”œā”€ā”€ Cookie Management │   └── Security Layer └── Search Integration └── KetiveeSearch Engine

šŸš€ Quick Start

Prerequisites

Ubuntu/Debian

sudo apt update sudo apt install build-essential cmake pkg-config sudo apt install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev sudo apt install libcurl4-openssl-dev libssl-dev libjson-c-dev

CentOS/RHEL/Fedora

sudo yum groupinstall "Development Tools" sudo yum install cmake pkg-config sudo yum install SDL2-devel SDL2_ttf-devel SDL2_image-devel sudo yum install libcurl-devel openssl-devel json-c-devel

macOS

brew install cmake pkg-config brew install sdl2 sdl2_ttf sdl2_image brew install curl openssl json-c

Windows

  • Install Visual Studio 2019+ or MinGW-w64
  • Install vcpkg and required packages:
vcpkg install sdl2 sdl2-ttf sdl2-image curl openssl json-c

Building from Source

# Clone the repository git clone https://github.com/ketivee/zepra-browser.git cd zepra-browser # Make build script executable chmod +x build-zepra-core.sh # Build the browser ./build-zepra-core.sh # Run the browser ./run-zepra.sh

Windows Build

# Using Visual Studio cmake -G "Visual Studio 16 2019" -A x64 .. cmake --build . --config Release # Using MinGW cmake -G "MinGW Makefiles" .. mingw32-make

šŸ” Authentication System

Login Process

  1. Email/Password: Enter your Ketivee credentials
  2. 2FA Verification: If enabled, enter TOTP code
  3. Session Creation: Secure token-based session
  4. Cross-Domain Access: Automatic authentication for Ketivee services

Supported Domains

  • ketivee.com - Main platform
  • auth.ketivee.com - Authentication server
  • ketiveeai.com - AI platform
  • docs.ketivee.com - Documentation
  • mail.ketivee.com - Email service
  • workspace.ketivee.com - Development workspace

Security Features

  • HTTP-Only Cookies: Secure cookie storage
  • Token Refresh: Automatic session renewal
  • Domain Validation: Whitelist-based access control
  • Encrypted Storage: Secure credential storage
  • Session Timeout: Configurable session limits

šŸŽØ UI Components

Authentication Dialogs

  • Login Dialog: Email/password input with validation
  • 2FA Dialog: TOTP code input with timer
  • Password Prompt: Third-party website credential storage
  • Error Handling: User-friendly error messages

Browser Interface

  • Address Bar: URL input with search integration
  • Tab Bar: Multi-tab management with thumbnails
  • Bookmarks Bar: Quick access to saved sites
  • Status Bar: Loading progress and security indicators

šŸ”§ Configuration

Default Configuration

{
    "browser": {
        "name": "Zepra Core Browser",
        "version": "1.0.0",
        "userAgent": "Zepra Core/1.0",
        "defaultSearchEngine": "ketivee",
        "homepage": "https://ketivee.com"
    },
    "authentication": {
        "serverUrl": "https://auth.ketivee.com",
        "sessionTimeout": 604800,
        "autoRefresh": true,
        "secureMode": true
    },
    "ui": {
        "theme": "dark",
        "fontSize": 16,
        "showBookmarksBar": true
    },
    "security": {
        "enableSandbox": true,
        "blockAds": true,
        "blockTrackers": true
    }
}

Environment Variables

  • ZEPRA_CONFIG_PATH: Configuration directory
  • ZEPRA_ASSETS_PATH: Assets directory
  • ZEPRA_DATA_PATH: User data directory

šŸ› ļø Development

Project Structure

zepra/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ main.cpp                 # Application entry point
│   ā”œā”€ā”€ auth/
│   │   └── zepra_auth.cpp      # Authentication system
│   ā”œā”€ā”€ ui/
│   │   ā”œā”€ā”€ auth_ui.cpp         # Authentication UI
│   │   ā”œā”€ā”€ window.cpp          # Window management
│   │   └── tab_manager.cpp     # Tab handling
│   ā”œā”€ā”€ engine/
│   │   ā”œā”€ā”€ html_parser.cpp     # HTML parsing
│   │   └── dev_tools.cpp       # Developer tools
│   ā”œā”€ā”€ search/
│   │   └── ketivee_search.cpp  # Search integration
│   └── config/
│       └── config_manager.cpp   # Configuration management
ā”œā”€ā”€ include/
│   ā”œā”€ā”€ auth/
│   │   └── zepra_auth.h        # Authentication headers
│   ā”œā”€ā”€ ui/
│   │   ā”œā”€ā”€ auth_ui.h           # UI headers
│   │   └── window.h
ā”œā”€ā”€ assets/
│   ā”œā”€ā”€ fonts/                  # Font files
│   ā”œā”€ā”€ icons/                  # Browser icons
│   └── themes/                 # UI themes
ā”œā”€ā”€ config/
│   └── zepra_config.json       # Configuration file
└── build/
    └── bin/
        └── zepra               # Executable

Building for Development

# Debug build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)

# With sanitizers
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
make -j$(nproc)

Testing

# Run unit tests
make test

# Run integration tests
./test/integration_tests.sh

# Run authentication tests
./test/auth_tests.sh

šŸ“¦ Installation

# Build the browser
./build-zepra-core.sh

# Install system-wide
sudo ./install-zepra.sh

# Run from anywhere
zepra

šŸ” Search Integration

KetiveeSearch Features

  • Fast Results: Optimized search algorithms
  • Privacy: No tracking or data collection
  • Customizable: Easy to switch between search engines
  • Local Search: Offline search capabilities
  • Smart Suggestions: Context-aware search suggestions

šŸ›”ļø Security Features

Built-in Protection

  • Ad Blocking: Automatic ad and tracker blocking
  • HTTPS Enforcement: Secure connections by default
  • Content Filtering: Safe browsing with customizable filters
  • Sandbox Mode: Isolated browsing for enhanced security
  • Privacy Controls: Granular privacy settings

Authentication Security

  • Token-based: JWT tokens for session management
  • HTTP-Only Cookies: Secure cookie storage
  • Domain Validation: Whitelist-based access control
  • Session Timeout: Configurable session limits
  • 2FA Support: Two-factor authentication

šŸŽÆ Performance

Optimizations

  • Memory Management: Smart tab and resource management
  • Hardware Acceleration: OpenGL rendering
  • Caching: Intelligent page and resource caching
  • Compression: Gzip and Brotli support
  • Parallel Processing: Multi-threaded rendering

Benchmarks

  • Startup Time: < 2 seconds
  • Memory Usage: < 100MB base
  • Tab Memory: ~50MB per tab
  • Rendering: 60 FPS smooth scrolling

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow C++17 standards
  • Use consistent naming conventions
  • Add unit tests for new features
  • Update documentation
  • Follow security best practices

šŸš€ Roadmap

v1.1.0 (Next Release)

  • Enhanced password manager
  • Browser extensions support
  • Sync across devices
  • Advanced privacy controls
  • Developer tools integration

v1.2.0 (Future)

  • Mobile app companion
  • Cloud sync
  • Advanced security features
  • Performance optimizations
  • Accessibility improvements
HomeDocsCommunityBlog