Celeris is a high-performance, ground-up browser engine written in Rust, designed to redefine speed, reliability, and efficiency in web browsing.
- Pure Rust Implementation: (In development) Built from the ground up in Rust for maximum safety and performance
- Modern Architecture: (In development) Clean separation of concerns with modular design
- HTML5 Parser: (In development) Custom HTML parser with robust error handling
- CSS3 Support: (In development) Advanced CSS parsing and styling engine
- Network Stack: (In development) Custom networking layer with HTTP/HTTPS support
- Rendering Engine: (In development) Flexible rendering pipeline with both headless and windowed modes
- JavaScript Engine: (In development) Custom JS engine for web interactivity
- Developer Tools: (In development) Built-in debugging and logging capabilities
src/
├── css/ # CSS parsing and styling engine
├── dom/ # DOM tree implementation
├── html/ # HTML parsing and tokenization
├── javascript/ # JavaScript engine (WIP)
├── networking/ # HTTP/HTTPS client implementation
├── rendering/ # Layout and painting engine
└── logger.rs # Logging infrastructure
- Rust 1.70 or higher
- Cargo package manager
- Clone the repository:
git clone https://github.com/SkuldNorniern/celeris.git
cd celeris- Build the project:
cargo build --releaseRun Celeris with a URL:
cargo run --releaseThen enter a URL when prompted, or press Enter to load the default page (example.com).
Celeris can be configured through the BrowserConfig struct:
let config = BrowserConfig {
headless: true, // Run in headless mode
debug: true, // Enable debug output
};- Support for HTTP/1.1 and HTTPS
- Custom TLS implementation using rustls
- Efficient async I/O with tokio
- Complete DOM tree representation
- Efficient node manipulation
- Event handling system
- Selector parsing and matching
- Style computation and inheritance
- Specificity calculation
- Layout engine with block and inline formatting
- Painting system with both buffer and window targets
- Support for headless rendering
Celeris is currently in active development. The following features are planned or in progress:
- Complete JavaScript engine integration
- Full CSS3 support
- Web Workers support
- WebAssembly support
- GPU acceleration
- Extended developer tools