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.

README.md 5.4KB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. 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/)
  2. .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/)
  3. # Netrunner
  4. is an implementation of a new web browser engine written in C++ utilizing OpenGL.
  5. Status: You can give it a url and it'll download, parse, and render the text from the page
  6. ## Odilitime's vision
  7. A modern web browser is a huge project. I'd like to see this broken into several composable pieces.
  8. Network engine separate from the parsing engine, separate from the compositing engine separate from the renderer.
  9. This way it could be used a document viewer or an editor as well.
  10. A browser development kit for developers.
  11. I'd like to develop text-based structures for communication between each piece.
  12. **USE AT YOUR OWN RISK!**
  13. ## Compilation Requirements
  14. - gcc or llvm
  15. - opengl
  16. - [glew (2.0 works, 1.3 doesn't work)](https://github.com/nigels-com/glew/releases)
  17. - [glfw (3.2.1 works)](https://github.com/glfw/glfw/releases)
  18. - [freetype2 (2.8 works)](https://www.freetype.org/download.html)
  19. - [harfbuzz (1.4.6 works)](https://github.com/behdad/harfbuzz/releases)
  20. - [mbedtls (2.5.1 works, 2.3 doesn't)](https://github.com/ARMmbed/mbedtls/releases)
  21. ### Package shortucts
  22. Some of these do not include mbedtls yet, if you know the correct package name for your distro, please let us know
  23. #### Debian (and derivates)
  24. `sudo apt-get install libfreetype6-dev libharfbuzz-dev libglew-dev libglfw3-dev`
  25. Also will need either libmbedtls-dev (Debian 9/Ubuntu 16LTS (xenial)) or libpolarssl-dev (Debian 8 or earlier)
  26. Looks like on Ubuntu, only zesty and newer have 2.4+ of mbedtls
  27. #### Arch (and derivates)
  28. `sudo pacman -Suy glew glfw freetype2 harfbuzz mbedtls`
  29. #### Void
  30. Note: glew maybe 1.1 here, we need 2.0
  31. `sudo xbps-install -S glew glfw harfbuzz-devel`
  32. #### Gentoo
  33. `sudo emerge freetype harfbuzz glew glfw`
  34. ### Mac OS X (Brew)
  35. `sudo brew install glew glfw freetype harfbuzz mbedtls`
  36. ### OpenBSD
  37. Note: OpenBSD 6.1 has freetype is 1.3.1 and mbedtls is 2.2.1 which won't work (try -CURRENT)
  38. Be sure to use gmake too
  39. `pkg_add glew glfw freetype harfbuzz mbedtls`
  40. ## Binaries
  41. ### Linux
  42. [2017-09-04 binary package](https://my.mixtape.moe/faniov.tar.gz)
  43. GyroNinja.net is back online
  44. [nightly binary only (no font/pnm files)](https://gyroninja.net:1615/job/NetRunner/lastSuccessfulBuild/artifact/netrunner)
  45. [Jenkins](https://gyroninja.net:1615/job/NetRunner/)
  46. ### OSX
  47. [2017-09-03 binary package](https://my.mixtape.moe/hkacfz.zip)
  48. ### Windows
  49. [32bit nightly package](https://nt-build-bot.rvx86.net/job/netrunner-winnt-i686/lastSuccessfulBuild/artifact/*zip*/archive.zip)
  50. [64bit nightly package](https://nt-build-bot.rvx86.net/job/netrunner-winnt-amd64/lastSuccessfulBuild/artifact/*zip*/archive.zip)
  51. ## Milestones
  52. - Browse 4chan /g/ board
  53. ## FAQ
  54. - Why don't you use x engine?
  55. Because it didn't do what we wanted it to do.
  56. - You realize this project is a massive undertaking
  57. Yes.
  58. - Why are you doing this?
  59. odilitime: To watch people get triggered on /g/
  60. - This code is awful?
  61. Yes, we're planning to throw it away. It's just a proof-of-concept at the moment.
  62. - How can I help?
  63. Join IRC, compile the code, figure out something you want to improve
  64. - What about security?
  65. 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.
  66. ## Contributing
  67. [Our style](https://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS_.28OTBS.29)
  68. ## Who
  69. - Odilitime - Lead Developer
  70. - OSX Dev, UI & Text layout
  71. - Repo: https://gitgud.io/odilitime/netrunner/
  72. - Despair
  73. - Windows Dev, SSL Support, cfg parser
  74. - repo: https://gitgud.io/despair/netrunner/
  75. - Geertiebear
  76. - OpenGL Shader rework
  77. - repo: https://gitgud.io/geertiebear/netrunner
  78. - Nubben
  79. - contributed local file code, WebResource, CommandLineParams, URL object
  80. - repo: https://github.com/nubben/netrunner
  81. - Tomleb
  82. - contributed keyboard code and URL parser
  83. - repo: https://github.com/tomleb/netrunner
  84. - RetroTech - Web / Sys Admin
  85. - Created original website
  86. - manages existing website
  87. - Helps manage archive of logos and threads
  88. - set up/manages etherpad for collaboration
  89. - Gyroninja - Jenkins
  90. - Was original Lead Developer (left to work on a servo-based project), Linux Dev, Did primary OOP planning and structure
  91. - Repo: https://git.teknik.io/gyroninja/netrunner/
  92. - Gillman - archivist
  93. - works with RetroTech on archival
  94. - Cygnus - Web
  95. - Created nicer website
  96. - ETI
  97. - did an early links repo
  98. - contributed README clean up
  99. - anons that are making the /g/ threads
  100. - Your threads keep us motivated
  101. - Drop by irc/discord and say hi to us
  102. - Repo? https://github.com/5yph3r/Netrunner/
  103. We coordinate on [irc.rizon.net](https://www.rizon.net/chat) #/g/netrunner or [Odili's Discord](https://discord.gg/ffWabPn).
  104. ## Documentation
  105. ### Overview
  106. - networking - downloads requested files
  107. - html - HTML parser
  108. - interface - has the various interface interface
  109. - component - our renderer classes
  110. - element - our DOM tree classes
  111. - graphical
  112. - glfw - our opengl Renderer
  113. - font - our text rasterizer
  114. ### Class Types
  115. - Nodes: DOM tree objects
  116. - Elements: Individual tag types
  117. - Components: (gameobjects) renderer entities