No Description

Odilitime 0f8db670e0 fall through comments for gcc warnings 1 week ago
deps 89f758a600 moved to shared libs, STL read-only data segment is STILL 4.8MB :rage: REEEEEEE 2 months ago
doc 4718a0620d docs 1 month ago
reltools 045affa13b Merge branch 'master' of https://gitgud.io/odilitime/netrunner 2 months ago
res b82a2a8a2d Merge branch 'master' of https://gitgud.io/odilitime/netrunner 2 months ago
src 0f8db670e0 fall through comments for gcc warnings 1 week ago
tests 045affa13b Merge branch 'master' of https://gitgud.io/odilitime/netrunner 2 months ago
visualc/NetRunner d0b5d2bce0 restructure 2 months ago
xcode f2b8d61f83 updated project file (built with xcode 9.0, sorry) 1 month ago
.gitignore 475a29e4cc Parser is complete, and a test-suite was added 2 months ago
DJMakefile d033bd83f5 Fixed DJMakefile, preparing for interface breakout 2 months ago
LICENSE 9e049a7248 Initial Commit 5 months ago
Makefile 29616fa6a6 Usable headers in ./deps/include, still need the libraries installed in the usual places 2 months ago
NTMakefile 58274943ad patch that somehow worked, moved encrypted Jenkins CI resource to directory above workspaces 2 months ago
README.md 05649c61b6 update Documentation to reflect new structure 2 months ago
anime.h c8528cd35d Intial commit of rewrite 5 months ago
browser.ntrml 11c4b4ea79 layer fixes, better labels 2 months ago
ca-bundle.crt b71073f7d6 Initial TLS implementation! :smile: 3 months ago
cr d992e7e2d0 Use logging instead of cout in main 3 months ago
legacy-ci.sh fdda1562ed DJGPP build 3 months ago
netrunner.ico 240c9945d2 cleanup HTTPS code 3 months ago
netrunner.rc e6281237f3 resource patches 3 months ago
resource.h e6281237f3 resource patches 3 months ago
version.git d033bd83f5 Fixed DJMakefile, preparing for interface breakout 2 months ago
winnt-ci.sh 045affa13b Merge branch 'master' of https://gitgud.io/odilitime/netrunner 2 months 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

Some of 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) Looks like on Ubuntu, only zesty and newer have 2.4+ of mbedtls

Arch (and derivates)

sudo pacman -Suy glew glfw freetype2 harfbuzz mbedtls

Void

Note: glew maybe 1.1 here, we need 2.0 sudo xbps-install -S glew glfw harfbuzz-devel

Gentoo

sudo emerge freetype harfbuzz glew glfw

Mac OS X (Brew)

sudo brew install glew glfw freetype harfbuzz mbedtls

OpenBSD

Note: OpenBSD 6.1 has freetype is 1.3.1 and mbedtls is 2.2.1 which won't work (try -CURRENT) Be sure to use gmake too pkg_add glew glfw freetype harfbuzz mbedtls

Binaries

Linux

2017-09-04 binary package

GyroNinja.net is back online

nightly binary only (no font/pnm files)

Jenkins

OSX

2017-09-03 binary package

Windows

32bit nightly package

64bit nightly package

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.

Contributing

Our style

Who

  • Odilitime - Lead Developer

    • OSX Dev, UI & Text layout
    • Repo: https://gitgud.io/odilitime/netrunner/
  • Despair

    • Windows Dev, SSL Support, cfg parser
    • repo: https://gitgud.io/despair/netrunner/
  • Geertiebear

    • OpenGL Shader rework
    • repo: https://gitgud.io/geertiebear/netrunner
  • Nubben

    • contributed local file code, WebResource, CommandLineParams, URL object
    • repo: https://github.com/nubben/netrunner
  • Tomleb

    • contributed keyboard code and URL parser
    • repo: https://github.com/tomleb/netrunner
  • RetroTech - Web / Sys Admin

    • Created original website
    • manages existing website
    • Helps manage archive of logos and threads
    • set up/manages etherpad for collaboration
  • Gyroninja - Jenkins

    • Was original Lead Developer (left to work on a servo-based project), Linux Dev, Did primary OOP planning and structure
    • Repo: https://git.teknik.io/gyroninja/netrunner/
  • Gillman - archivist

    • works with RetroTech on archival
  • Cygnus - Web

    • Created nicer website
  • ETI

    • did an early links repo
    • contributed README clean up
  • anons that are making the /g/ threads

    • Your threads keep us motivated
    • Drop by irc/discord and say hi to us
    • Repo? https://github.com/5yph3r/Netrunner/

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

Documentation

Overview

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

Class Types

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