You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
despair fdda1562ed DJGPP build 3 years ago
deps namespace rename 3 years ago
reltools I think this ties up all the loose ends down in TX 3 years ago
src cleanup HTTPS code 3 years ago
tests/testPrograms URL test program, and glfw3 detection for darwin 3 years ago
visualc removed VS2008 project files, switched to VSCode 3 years ago
xcode Merge branch 'master' of https://github.com/tomleb/netrunner 3 years ago
.gitignore cleanup HTTPS code 3 years ago
CookieManager.js Add new file 3 years ago
DJMakefile DJGPP build 3 years ago
DejaVuSerif-Bold.ttf Start rendering the DOM tree 3 years ago
DejaVuSerif.ttf Start rendering the DOM tree 3 years ago
LICENSE Initial Commit 3 years ago
Makefile I think this ties up all the loose ends down in TX 3 years ago
NTMakefile resource patches 3 years ago
README.md fix readme 3 years ago
anime.h Intial commit of rewrite 3 years ago
anime.pnm anime.h => pnm work 3 years ago
anime_blank.pnm blank animu grill for packaging 3 years ago
ca-bundle.crt Initial TLS implementation! :smile: 3 years ago
cr Use logging instead of cout in main 3 years ago
data.enc resource patches 3 years ago
legacy-ci.sh DJGPP build 3 years ago
netrunner.ico cleanup HTTPS code 3 years ago
netrunner.rc resource patches 3 years ago
resource.h resource patches 3 years ago
winnt-ci.sh Initial work on the file parser 3 years ago

README.md

NT5+ (i386): Build Status .NET Server+ (AMD64): Build Status

Netrunner

is an implementation of a new web browser engine written in C++ utilizing OpenGL.

Status: You can give it a url and it’ll download, parse, and render the text from the page

Odilitime’s vision

A modern web browser is a huge project. I’d like to see this broken into several composable pieces. Network engine separate from the parsing engine, separate from the compositing engine separate from the renderer. This way it could be used a document viewer or an editor as well. A browser development kit for developers. I’d like to develop text-based structures for communication between each piece.

USE AT YOUR OWN RISK!

Compilation Requirements

Package shortucts

These do not include mbedtls yet, if you know the correct package name for your distro, please let us know

Debian (and derivates)

sudo apt-get install libfreetype6-dev libharfbuzz-dev libglew-dev libglfw3-dev Also will need either libmbedtls-dev (Debian 9/Ubuntu 16LTS (xenial)) or libpolarssl-dev (Debian 8 or earlier)

Arch (and derivates)

sudo pacman -Suy glew glfw freetype2 harfbuzz

Void

sudo xbps-install -S glew glfw harfbuzz-devel

Gentoo

sudo emerge freetype harfbuzz glew glfw

Mac OS X

brew install glew glfw freetype harfbuzz mbedtls

Binaries

Linux

2017-08-22 binary package

GyroNinja.net is back online nightly binary only (no font/pnm files) Jenkins

OSX

2017-08-22v2 binary package

Windows

2017-08-20 binary package

Jenkins 32bit

Jenkins 64bit

Milestones

  • Browse 4chan /g/ board

FAQ

  • Why don’t you use x engine? Because it didn’t do what we wanted it to do.
  • You realize this project is a massive undertaking Yes.
  • Why are you doing this? odilitime: To watch people get triggered on /g/
  • This code is awful? Yes, we’re planning to throw it away. It’s just a proof-of-concept at the moment.
  • How can I help? Join IRC, compile the code, figure out something you want to improve
  • What about security? I don’t think one on here could ever say they know what their doing without being laughed off the board. Security is a huge challenge to any project. We’re going to do the best with the resources we have.

Who

We coordinate on irc.rizon.net #/g/netrunner or Odili’s Discord.

Documentation

Overview

  • networking - downloads requested files
  • html - HTML parser
  • graphics - has the various interface interface
    • opengl - our opengl Renderer
    • text - our text rasterizer
    • component - our renderer classes
    • element - our DOM tree classes

Class Types

  • Nodes: DOM tree objects
  • Elements: Individual tag types
  • Components: (gameobjects) renderer entities