Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The web browser of NyxOS — HTTP and HTTPS over a from-scratch TLS stack, rendered from scratch.

     


About

Selene — named for the goddess of the moon, the light of Nyx's night — is the web browser of NyxOS. It fetches pages over the OS's own IPv4/TCP stack, speaks HTTPS through a from-scratch TLS client, parses the HTML, and paints the result — text, links and images — into a Hemera window.

There is no borrowed engine anywhere: the sockets, the TLS handshake, the HTML parser, and the JPEG / PNG / GIF decoders are all part of NyxOS.

Selene, the NyxOS web browser

Selene — the address bar, tab strip and page area of the NyxOS browser

Features

  • Networking — HTTP and HTTPS (a from-scratch TLS client) over the NyxOS TCP/IP stack
  • Rendering — a linear HTML renderer with text and links
  • Images — built-in JPEG, PNG and animated GIF decoders
  • Chrome — an address bar, back button, and a tab strip (new tab / close)
  • Opens as an ordinary Hemera window

Architecture

Selene is one of the apps that live on top of Hemera, the NyxOS compositor, and leans on the kernel's TCP/TLS/image subsystems. Today it is compiled into the kernel under kernel/gui/apps/selene_win.c; the roadmap is a standalone ring-3 ELF. This repository holds a source snapshot (src/).

Component Repo Role
Hemera hemera the compositor / desktop
Erebus erebus the terminal
Selene (here) the web browser
Mnemosyne mnemosyne the text editor

Layout

  • src/selene_win.c — the browser: fetch, TLS glue, HTML parse/render, tabs, image drawing
  • src/selene_win.h — the public interface

Status

Built into the NyxOS kernel and browsing the live web today; the standalone-ELF split is the roadmap.

About

Selene — the NyxOS web browser: HTTP/HTTPS over a from-scratch TLS stack. Part of the NyxOS family.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages