Skip to content
🚀 Peer-to-Peer automateable privacy-respecting Web Browser, Web Scraper and Web Proxy.
Branch: X0
Clone or download
Latest commit d226e1e Apr 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin 🐛 Fix Apr 19, 2019
browser
covert
guide SOCKS Protocol Support Apr 10, 2019
profile SOCKS Protocol Support Apr 10, 2019
stealth 🐛 Fix Apr 19, 2019
.gitignore 🦄 Initial Prototype Mar 24, 2019
Dockerfile 🦄 Initial Prototype Mar 24, 2019
LICENSE_GPL3.txt 🦄 Initial Prototype Mar 24, 2019
README.md 🦄 Electron Support Apr 4, 2019
package.json 🦄 Electron Support Apr 4, 2019

README.md

Stealth - The only GDPR compliant Web Browser

Stealth is a different kind of Web Browser that aims to achieve increased privacy, increased automation, intelligent understanding of the web and efficient bandwidth usage, no matter the cost.

It is built by a former contributor to both Chromium and Firefox, and is built out of personal opinion on how Web Browsers should try to understand the Semantic Web.

Stealth empowers its Users, not Website Developers that could (,will ,and did) abuse technologies to compromise the freedom or rights of Web Browser End-Users.

Stealth also focusses on Privacy in the sense of "Real Privacy" that does not trust any website or any URL by default. Everything has to be whitelisted by either Site Modes or Site Filters and Site Optimizers whereas the latter two allow auditing the design, content and media of regularly visited websites in an automated manner.

Downloads / Releases

Currently Stealth is just a couple weeks old and is in a prototypical stage. If you are a Software Developer and want to help, you are welcome to join the project.

Non-developing users won't enjoy it much, currently - as things are quite buggy and incomplete in its current state. However, due to the concept of using node.js and focussing on a privacy-oriented audience, Stealth will initially be released for MacOS and GNU/Linux.

The network behaviour on Windows cannot be guaranteed, really, so it is recommended to install Stealth on an external GNU/Linux system (like a Raspberry Pi for a few bucks) and use Stealth as a Web App or Stealth as a Web Proxy.

(Download Links will be inserted here once Stealth is ready for the public)

Screenshots

Detailed Screenshots are in the /guide/screenshots folder.

stealth:settings stealth:settings cookie.engineer

stealth:fix-mode stealth:fix-filter Stealth as Web Proxy

Pitch me - What's this?

Stealth is both a Web Scraper, Web Service and Web Proxy that can serve its own User Interface ("Browser UI") which is implemented using Web Technologies.

  • It is secure by default, without compromise. It only supports DNS via HTTPS, and uses explicitely https:// first, and fallsback to http:// only when necessary and only when the website was not MITM-ed.

  • It offers intelligent wizards on errors that help fix it. A DNS host cache wizard, a web archive download assistant, or a web site mode configuration assistant will help the user to automate everything based on rules, not based on situations.

  • It is peer-to-peer and always uses the most efficient way to share resources and to reduce bandwidth, which means downloaded websites are readable even when being completely offline.

  • It uses blacklist-based Blockers that is on feature-parity with AdBlock Plus, AdGuard, Pi-Hole, uBlock Origin and uMatrix (in the sense of "all of the above").

  • It uses Optimizers to render only the good parts of HTML and CSS. These Optimizers make sure that no Client or Peer ever receives any malicious or unwanted content, and it is written on-filesystem-cache (which is shared later to other peers) to ensure that particularly. All Optimizers are applied across all Site Modes, and the Site Modes decide what content or media is included.

  • It uses whitelist-based Site Modes that decide what to load, with incrementally allowed features (or media types). By default, Stealth will load nothing. The Site Mode next to the address bar decides what is loaded.

  • It uses whitelist-based Site Filters that decide based on prefix, midfix or suffix rules what specific URL is allowed to load. This allows customization of regularly visited websites that are not trustworthy (e.g. allows to disable a chat feature, or to disable unnecessary CSS and media content).

  • It uses whitelist-based Site Optimizers that allow DOM/HTML elements on a website using selectors and queries. This allows to view and download a news website article, modifying it automatically in a "Reader Mode" similar presentation, and delivering the same to all connected Clients or Peers (including Smartphones and Tablets).

  • It never requests anything unnecessary. The cache is persistent until the user tells it to refresh the Site manually (or a scheduled Download task runs for that URL).

  • It uses trust-based Peers to share the local cache. Peers can receive, interchange, and synchronize their downloaded media. This is especially helpful in rural areas, where internet bandwidth is sparse; and redundant downloads can be saved. Just bookmark Stealh as a Web App on your Android and you have direct access to your downloaded wikis, yay!

  • It can double-function as a Content-Auditing and Content-Filtering Web Proxy inside other Web Browsers, which allows corporate-like setups with a shared peer-to-peer cache and a local Web Archive of the Internet.

  • It has intelligent error handling. In case a website is not available anymore, the stealth:fix-request error page allows to download websites automagically from trusted Peers or from the Web Archive.

  • This ain't your Mama's Web Browser. It completely disables to load ECMAScript in order to improve Privacy. Stealth also does not support Web Forms or any Web API that could potentially send data to the website, so Stealth can be seen as a user-friendly automateable and scheduleable Web Scraper.

  • Not drooling yet? Stealth also can be scripted as a Web Scraper inside node.js similar to what people wanted Chromium Headless to be, but didn't get the featureset they wanted. The Browser is completely free-of-DOM, so every single task and interaction that the Browser UI does can be implemented in an automateable and programmable manner, even remotely using Stealth's peer-to-peer network services.

  • Still not hooked? Stealth implements every single feature using its own peer-to-peer network services, which means that everything that happens behind the scenes inside the Browser UI can be done not only locally, but also remotely by other trusted Peers. So basically Stealth can be used as a Network Computation cluster that automates huge computation tasks; like letting Neural Networks learn the meaning of website contents and website semantics. Isn't that awesome? I think it is.

Stealth Guide (for Hackers?)

Peer-to-Peer Services:

Quickstart

If you don't wanna deal with the native build toolchain, this is how to get started as quickly as possible:

Browser, the Browser UI and Stealth are implemented using ECMAScript Modules (.mjs) in order to export and import code. This means that a modern ECMAScript Runtime like node.js 10+, Firefox 65+ or Chromium 70+ is necessary to execute the code.

Stealth as Web Browser

  • Install same dependencies as in "Stealth as Web App" (for now).

Currently this repository does not contain a Web Browser Engine. At a later point in time it will be decided whether a hard-fork of another Engine (like servo or blink / webkit) is necessary.

For now, use Stealth as a Web App that uses one of many natively available Web View based technologies.

Stealth as Web App

  • Install node.js version 10+.

  • Install Ungoogled Chromium version 70+.

  • Alternatively Install Firefox version 65+.

  • (Only MacOS) Alternatively Install Safari version 12+.

  • (Only Linux) Alternatively Install electron version 3+.

  • (Only Linux) Alternatively Install gjs and WebKit2 GTK version 4+.

  • (Only Linux) Alternatively Install qmlscene and Qt5 WebView version 5+ and Qt5 QuickControls version 2+.

Stealth can be used via <iframe> or <webview> element inside a modern Browser Engine or can be used as a Progressive Web App. The browser.sh supports most commonly preinstalled Web Browsers among Desktop Environments (that need to be up-to-date and support ESM modules).

cd /path/to/stealth;
bash ./bin/stealth.sh;

# Open as Progressive Web App
bash ./bin/browser.sh;

IMPORTANT: On Android, Stealth can be used by visiting the URL and bookmarking it as a Web App. The Stealth Icon will appear on your home screen, and it will behave like a native Mobile App.

Stealth as Web Proxy

Stealth can be used as a Web Proxy in Firefox or other Browsers that allow using an HTTP Proxy for all network protocols by using the Proxy Auto-Configuration format.

Further configuration instructions and how to configure Stealth via Bookmarklets are written down in the Stealth as Web Proxy document.

cd /path/to/stealth;
bash ./bin/stealth.sh;

# Open Firefox
mkdir /tmp/stealth;
firefox -profile /tmp/stealth -new-instance -no-remote "http://localhost:65432/browser/index.html";

Roadmap

X0 (estimated 01.04.2019) - Prototype

  • Implement and document Peer.proxy() API.
  • stealth:fix-request Page (Download Assistant for Peers and the Web Archive).
  • Sidebar (Overview about Site Modes, Site Filters and Site Optimizers of current Tab).
  • Implement pause event handling for webview/iframe element.
  • Optimizer for HTML files.
  • Optimizer for CSS files.
  • Re-Generate Vendor Profile.
  • Clarify whether Win10 crypt32.dll supports TLS_Method or really only SSLv3.

X1 (no date) - Optimizers

  • Content-Disposition header support for dynamically generated downloads (e.g. download.php?id=1337).
  • stealth:search Page (Search Assistant for in-offline-cache, searx.me and wiby.me).
  • stealth:cache Page (Cache Assistant to clear, remove, update cache).
  • Site Optimizers to allow selecting DOM/HTML via whitelist-based selectors.
  • Image Optimizers to compress images on-disk-cache (optipng, libjpeg-turbo, convert from bmp to jpeg).
  • Video Optimizers to compress videos on-disk-cache (convert to mp4 or mkv).

X2 (no date) - Adapters

  • stealth:media Media Player for easier media playback (image, audio, video).
  • Site Adapters to allow automatic URL fetches and rewrites.
  • Site Scrapers to allow scheduled downloads and requests.

X4 (no date) - Browser Engine

  • Decide on a Web Browser Engine, fork it and reduce its featureset to remove non-essential features (like WebRTC, Web Forms etc.).

License

Private Usage

Private Usage of Stealth, including its Browser and Browser UI is licensed under GNU GPL 3.

Commercial Usage

Commercial Usage is meant for Businesses and Companies that use Stealth for Web Automation, Web Scraping, Web Filtering or Web Intelligence purposes.

A Commercial License will be available for purchase once Stealth reaches the X0 milestone and is released to the public.

For the time being, assume All Rights Reserved and (c) 2019-* Cookie Engineer for Commercial Usage.

You can’t perform that action at this time.