Browse Source

attempt at a better README

Odilitime 3 years ago
1 changed files with 59 additions and 44 deletions
  1. 59

+ 59
- 44 View File

@@ -1,45 +1,60 @@
<img height="300" src="">

# Netrunner
In the face of recent changes in Firefox, some anons were asking for a /g/'s perfect web browser, we have collected here the most wanted features:
- Granular control over incomming traffic like Policeman (more control than uMatrix in this particular subject).
- Granular control over outgoing traffic like Tamper Data or like Privacy Settings (the addon).
- Easy switch to preset profiles for both like uBlock Origin for incomming traffic and Privacy Settings for outgoing traffic.
- Random presets generator for things like "user-agent" and "canvas fingerprint".
- Custom stylesheets like Stylish.
- Userscript support like Greasemonkey.
- Cookie management like Cookie Monster.
- Work in the javascript engine implementation.
- Bookmark management.
- HTTPS with HTTP fallback and ports management like Smart HTTPS and HTTPS by default.
- Proxy management like FoxyProxy.
- "Open with" feature to use an external application, like for using a video player with youtube-dl and MPV, or for text input with a text editor, and for other protocols like ftp and gopher, and even as a file picker.
- Local cache like Decentraleyes and Load from Cache.
- Option to turn off disk usage for all data (cache, tmp data, cookies, logs, etc.), or/and make cache read only.
- All this in a per site basis.
- URL Deobfuscation like "Google search link fix" and "Pure URL".
- URI leak prevention like "No Resource URI Leak" and plugin enumeration prevention by returning "undefined".
- Keyboard driven with dwb features like vi-like shortcuts, keyboard hints, quickmarks, custom commands.
- Optional emacs-like keybindings (maybe default for new users to have an easier time?).
- Non-bloated smooth UI like dwb.
- Configuration options from an integrated command-line (with vimscript-like scripting language?).
- A configuration file like Lynx.
- Send commands to the background to be optionally displayed in an optional interface, as to use wget web crawling feature like a DownThemAll, and to use and watch other batch commands.
- A way to import bookmarks from other browsers like Firefox.
- Search customization like surfraw, dwb funtions or InstantFox Quick Search, and reverse image search like Google Reverse Image Search.
- Low on dependencies.
- GPL v3+.
- Framebuffer support like NetSurf for working in the virtual terminal (TTY).
- Actual javascript support so we can lurk and post in 4chan.

- Create components for defining how HTML elements are rendered.
- Create components for defining how CSS rules affect elements.
- Render the parsed data.
- Calculate the height of every node to make positioning nodes easier.
- Create css parser.
- Make css rules trickle down.
- Make text components more efficient (no longer have seperate vao, vbo, and texture for every character)
- Handle more HTTP status codes
- Add address field
- Support inlining nodes

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

Status: You can give it a url and it'll download, parser, and render the text to framebuffer

## Odili's vision
A modern web browser is a huge project. I'd like to see this broken into several composeable 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.


## Compliation Requirements
- gcc or llvm
- opengl
- glew (2.0 works)
- glfw (3.2.1 works)
- freetype2 (2.8 works)
- harfbuzz (1.4.6 works)
- md5sum (for shader compilation)

## Binaries
20170715 OSX binary

## Milestones
- Browse 4chan /g/ board

## FAQ
- Why don't you use x engine?
Because it didn't do what we wanted it.
- You realize this project is a massive undertaking
- 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
- gyroninja (doesn't create /g/ threads)
Linux Dev, Doing primary OOP planning and structure

- odilitime (doesn't create /g/ threads)
OSX Dev, focused on clean up

- RetroTech (maybe create /g/ threads/?)
Website? g threads? Requirements gathering?

We coordinate on #/g/netrunner