Tholian® Stealth is the automateable Web Browser for the Web of Knowledge.
Its design goals are increased Privacy, increased Automation, adaptive Semantic Understanding 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 and rights of Web Browser End-Users.
Architecture Notes:
At this point in development, Stealth is implemented as a headless node.js Browser/Scraper/Proxy, which also serves its own HTML5-based Browser UI and can act as a Web Filtering Proxy via SOCKS or HTTP/S. At a later point in time, Stealth will probably use a forked Browser Engine with a reduced featureset (e.g. without WebRTC and without WebUSB), but currently it uses a Webview that's preinstalled on your target system.
It is heavily recommended to use Ungoogled Chromium as a
Webview if you run Stealth on a Desktop target environment. As Stealth serves its own Browser UI
on the same port 65432
, it's possible to connect to a Stealth instance that's hosted on a different
machine in the same local network, too.
Stealth is currently in the Prototype Stage. Non-Developing Users won't enjoy it much, as things are quite buggy and incomplete for the moment.
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
.
(Download Links will be inserted here once the Stealth Releases are ready for the public)
Stealth is both a Web Scraper, Web Service and Web Proxy that can serve its own User Interface ("Browser UI") that is implemented using Web Technologies.
-
It is secure by default, without compromise. It only supports
DNS via HTTPS
, and uses explicitelyhttps://
first, and fallsback tohttp://
only when necessary and only when the website was not MITM-ed. -
It offers intelligent Error Page wizards that guide the user through scenarios when things are broken, from no domain resolved to download snapshot via web archive.
-
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 allSite Modes
, and theSite 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 Beacons
that allow specific elements on a Site to be extracted as Knowledge - which in return help to train the Browser to understand future similar Sites on the web more easily. This can be seen as a learning mechanism that is similar to the "Reader Mode" in other Browsers, but whilst delivering the cleaned content to all connected Clients and 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 phone 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.
-
Stealth can be scripted as a Web Scraper inside
node.js
. 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 through trusted Peers using Stealth's peer-to-peer network services.
The Guide is currently meant for Developers that are new to the Project. It explains all necessary topics to quickly get started to hack around with Stealth and modify it to fit your needs.
A User's Guide probably will arrive at a later point in time, as Stealth currently has no public release yet.
Currently, there's a Telegram Chat available where most technical discussions happen. We love to discuss ideas and we embrace Knowledge of any kind.
Telegram Chat: t.me/tholian_beta or search for Tholian Beta
.
If you don't wanna deal with the native build toolchain, this is how to get started as quickly as possible:
- Install node.js version
12+
. - Install Ungoogled Chromium version
70+
. - (Only MacOS) Alternatively Install
Safari
version12+
. - (Only Linux) Alternatively Install
electron
version8+
. - (Only Linux) Alternatively Install
gjs
andWebKit2 GTK
version4+
.
git clone https://github.com/tholian-network/stealth.git;
cd ./stealth;
# Make everything
node ./make.mjs;
# Start Stealth Service (optional debug flag)
node ./stealth/stealth.mjs --debug=true;
# Open as Progressive Web App
node ./browser/browser.mjs;
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 offline-ready mobile app.
The current roadmap is a mixture of the /issues section on GitHub/GitLab and the features that are going to be implemented in the near future which are put together in the ROADMAP.md file.
As this project in its current form is highly experimental software, those features can change very rapidly; and lead to at least partial refactors of the codebase as well.
If you have Problems, Suggestions or Ideas that would fit into Stealth, please open up an Issue and we'll be happy to talk about it :)
Usage of Stealth, including its Browser and Browser UI is licensed under GNU GPL 3.
(c) 2019-2020 Tholian(r) Network