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-devCentOS/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-develmacOS
brew install cmake pkg-config brew install sdl2 sdl2_ttf sdl2_image brew install curl openssl json-cWindows
- Install Visual Studio 2019+ or MinGW-w64
- Install vcpkg and required packages:
vcpkg install sdl2 sdl2-ttf sdl2-image curl openssl json-cBuilding 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.shWindows 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
- Email/Password: Enter your Ketivee credentials
- 2FA Verification: If enabled, enter TOTP code
- Session Creation: Secure token-based session
- Cross-Domain Access: Automatic authentication for Ketivee services
Supported Domains
ketivee.com- Main platformauth.ketivee.com- Authentication serverketiveeai.com- AI platformdocs.ketivee.com- Documentationmail.ketivee.com- Email serviceworkspace.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 directoryZEPRA_ASSETS_PATH: Assets directoryZEPRA_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 # ExecutableBuilding 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
- 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
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