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.

159 lines
5.4 KiB

5 years ago
NT5+ (i386): [![Build Status](https://nt-build-bot.rvx86.net/job/netrunner-winnt-i686/badge/icon)](https://nt-build-bot.rvx86.net/job/netrunner-winnt-i686/)
.NET Server+ (AMD64): [![Build Status](https://nt-build-bot.rvx86.net/buildStatus/icon?job=netrunner-winnt-amd64)](https://nt-build-bot.rvx86.net/job/netrunner-winnt-amd64/)
5 years ago
# 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
- gcc or llvm
- opengl
- [glew (2.0 works, 1.3 doesn't work)](https://github.com/nigels-com/glew/releases)
- [glfw (3.2.1 works)](https://github.com/glfw/glfw/releases)
- [freetype2 (2.8 works)](https://www.freetype.org/download.html)
- [harfbuzz (1.4.6 works)](https://github.com/behdad/harfbuzz/releases)
- [mbedtls (2.5.1 works, 2.3 doesn't)](https://github.com/ARMmbed/mbedtls/releases)
### 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
5 years ago
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`
5 years ago
### 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`
5 years ago
## Binaries
5 years ago
### Linux
5 years ago
[2017-09-04 binary package](https://my.mixtape.moe/faniov.tar.gz)
5 years ago
5 years ago
GyroNinja.net is back online
5 years ago
[nightly binary only (no font/pnm files)](https://gyroninja.net:1615/job/NetRunner/lastSuccessfulBuild/artifact/netrunner)
[Jenkins](https://gyroninja.net:1615/job/NetRunner/)
5 years ago
5 years ago
### OSX
5 years ago
[2017-09-03 binary package](https://my.mixtape.moe/hkacfz.zip)
### Windows
[32bit nightly package](https://nt-build-bot.rvx86.net/job/netrunner-winnt-i686/lastSuccessfulBuild/artifact/*zip*/archive.zip)
[64bit nightly package](https://nt-build-bot.rvx86.net/job/netrunner-winnt-amd64/lastSuccessfulBuild/artifact/*zip*/archive.zip)
## 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](https://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS_.28OTBS.29)
## Who
- Odilitime - Lead Developer
- OSX Dev, UI & Text layout
5 years ago
- 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
5 years ago
- 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
5 years ago
- Repo? https://github.com/5yph3r/Netrunner/
We coordinate on [irc.rizon.net](https://www.rizon.net/chat) #/g/netrunner or [Odili's Discord](https://discord.gg/ffWabPn).
## 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