HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tholian-network
stealth
JavaScript2020–2024
tholian-network / stealth

stealth

:rocket: Stealth - Secure, Peer-to-Peer, Private and Automateable Web Browser/Scraper/Proxy

7Distinct people
54Mentions
0Explicit recommenders
1.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

:rocket: Stealth - Secure, Peer-to-Peer, Private and Automateable Web Browser/Scraper/Proxy

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 6:36:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year54 dated mentions

Observed mentions: 2020-04-20 04:03:44 UTC to 2024-10-24 11:33:00 UTC.

051015202020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 22 mentions; 1 submissions, 21 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 21 mentions; 0 submissions, 21 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC22121
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC21021
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC505
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303

What Hacker News says

21 sources
> the focus was on making information accessible and editable using automation. There. That's the magic. Let's bring that back instead of a mere aesthetic. Maybe what I'm aiming to do with stealth aligns with your goals? [1] I'm trying to use the best parts of the web3 idea (decentralization, distribution, sharing of storage + bandwidth) and combine it with the ideas of the old web, where the focus was on distributing information and not on advertisement or social influence. [1] https://github.com/tholian-network/stealth
In Bring Back Web1
When I started to build my browser [1] I realized that there's literally no standard test suite to test your HTTP implementation against. There are test suites for _some_ subsets of the spec, and there are implementation-specific testsuites (e.g. in chromium) ... but there's not a single HTTP 1.1 all-in-one testserver that you can test your client or server implementation against - over the wire. The additional lack of tests for hop by hop networking changes (which is e.g. the Transfer Encoding parts of the spec in 1.1) and you have a disaster waiting to happen. Combine that with 206 Partial Content and say, some byte ranges a server cannot process...and you've got a simple way to crash a lot of server implementations. There's not a single web server implementation out there that correctly implements multiple byte range requests and respo
Read the rest
nses especially not when chunked encoding can be a requested thing. Don't get me started on the ";q=x.y" value headers, they are buggy everywhere, too. For my browser project, I had to build a pcap (tcpdump) based test runner [2] that can setup temporary local networks with throttling and fragmentation behaviour so that I have reproducible tests that I can analyze later when they failed. Otherwise it would be a useless network protocol test that's implementation specific as all others. I think the web heavily needs a standard HTTP test suite, similar to the ACID tests back then...but for malicious and spec compliant HTTP payloads combined. [1] https://github.com/tholian-network/stealth [2] https://github.com/tholian-network/stealth/tree/X0/covert
In New differential fuzzing tool reveals novel HTTP request smuggling techniques
I'm building a peer to peer Browser network that relies on trust ratios in order to find out seed/leech ratios or the trustworthiness of other peers in the sense of whether they could be malicious actors (sharing content too much, producing/modifying content too much etc). The problem I'm currently trying to solve is that I had the idea to have a pre-shipped vendor profile that contains the necessary information for IP ranges (ASN, organization, region, country, ISP/NAT etc) so that the discovery service for that doesn't have to do this and maybe I can get rid of a centralized peer discovery service completely. It's like the basic idea of an offline "map of the internet" that should be an approximation of who does what in which amount of network bandwidth and data. For example, data center IPs aren't as trustworthy or peers in the same IS
Read the rest
P-NAT could also be censored when it comes to blocked websites, modified DNS responses etc). At this point it's a big experiment and I'm not sure whether I'm fundamentally wrong about this as I don't have any data to back it up. If you're curious, it's part of the Stealth Browser I'm building [1] and [2] [1] https://github.com/tholian-network/stealth [2] https://github.com/tholian-network/stealth-vendor
In Privacy activists oppose EU plans for a GDPR-compliant Whois v2
> Does anyone here have a feasible way to solve this? Current solutions like TOR, I2P, VPNs and/or mobile proxy services are just a matter of time and legality until they come obsolete due to their publicly known nature. I am convinced that the only way to solve this is by simply not downloading the website from its origin. The origin tracks you, so don't talk to them. Talk to your peers and receive a ledged copy of it instead. The only problem is that this contradicts all that came after Web 2.0, because every website _wants_ unique identities for every person visiting them; including ETag-based tracking mechanisms of CDNs. I think it's not possible with supporting Web Browser APIs the same way in JavaScript (as of now, due to fetch and XHR and how WebSockets are abused for HDCP/DRM to prevent caching), but I think that a static website
Read the rest
delivering network with a trustless cryptography based peer-to-peer end-to-end encrypted statistically-correct cache is certainly feasible. I believe that because that's exactly what I'm building for the last two years [1]. [1] https://github.com/tholian-network/stealth
In Climate activist arrested after ProtonMail provided his IP address
> - Some of the most used VSCode hotkeys are browser hotkeys, like Ctrl+T, Ctrl+P, Ctrl+Shift+P etc. The functions aren't even rebound to anything else, they're just not available via hotkeys. You can also use "chromium --app $url" and you'll have these key bindings available. If you want to use github isolated from your browser history, you can use it like so: [$] chromium --user-data-dir=$HOME/github_or_whatever --app="https://github.com/orga/repo" --new-window; edit: If you use MacOS or Windows, my browser wrapper script from another project might give you some hints on how to use Safari or Edge this way [1]. [1] https://github.com/tholian-network/stealth/blob/X0/browser/b...
In Web-based editor
I have to chime in here now and call the article what it is: wrong at least in regards to misinformation about ".local". > DNS clients may defer the resolution of .local spTLDs to the system’s mDNS resolvers instead of its DNS resolver. This is not true. First off: You can always misconfigure your DNS resolver, but usually they can be used in parallel. Multicast DNS usually is only used when your router is too stupid to manage the hostname; and if multicast DNS is active on every host, then it's a setting that fixes even that broken router. Also, "hostname.local" will never conflict with DNS based service discovery [1] of resolving a host via multicast DNS. And even if so, you can just use one of the other reserved multicast addresses and be done with it. As long as you don't use e.g. "._tcp." or "._udp." inside your hostname, you never h
Read the rest
ave domain name conflicts. I think there's also a huge misconception about what DNS-based service discovery is. In DNS-SD, there are questions to a service identifier with a PTR inside, and the response contains A,AAAA,SRV and TXT entries to describe everything you need to know to make a connection to the correct host, ip, port and version of the service. Airprint, airplay, airscan and others additionally use their service name as a prefix in regards to the IANA-registered service names [2] so printers, scanners and other Multicast-DNS compatible hardware never conflicts with the existing network. /ragecomment Personally, I would actually embrace the use of .local, because it allows you to build a self-discovery service that is unrelated to DHCP and unrelated to ARP mechanisms, and works peer-to-peer; as long as the IPs are in the same NAT or, with IPv6/UDP6, have at least one discoverable scope. In DNS-SD, you literally just have to be able to reach other IPs, and you have a working handshake mechanism to discover other devices without having to know their hostnames, IPs, or anything. It's pretty amazing once you realize its network automation potential. Source: Me, building a web browser that uses peer-to-peer TLS encryption on "username._stealth._tcp.tholian.network" and "username._stealth._tcp.tholian.local" [3] [1] https://www.ietf.org/rfc/rfc6763.txt [2] http://dns-sd.org/ServiceTypes.html [3] https://github.com/tholian-network/stealth
In What domain name to use for your home network
Building an HTTP library myself, I have to disagree. I drop two things here to counterargue that HTTP is easy to parse: 206 multiple ranges (requests will not always be responded to, and ranges from servers are almost always invalid when resumed) and Transfer Encodings (br inside gzip inside deflate inside chunked, anyone?) Both headers are implemented spec incompliant by every single web server I've seen, including nginx, apache and others. Source: building a peer to peer web browser that shares its bandwidth (and cache and downloads) with trusted peers. [1] [1] https://github.com/tholian-network/stealth
In Show HN: Micro HTTP server in 22 lines of C
Honestly, I thought about the very same problems a lot. And not only from a user's privacy perspective but also from a browser's perspective and from the perspective of a "god's eye's view" that big tech companies have. For the sake of argument, Google's or Cloudflare's DNS alone probably have so much data that any country or ISP pales in comparison. The web is broken and it gets more and more rotten over time. Google found out they don't need cookies to track people, so they invented FLoC and decided to actively don't give a damn about any privacy regulation on the planet - activating the tracking mechanism for everyone without any real influence or decision on the user's side. I think the web3 idea will never exist when we keep trying to reinvent the wheel of network protocols. New protocols and new ports can easily be blocked. At some
Read the rest
point they're just portrayed like TOR, as a tool for evil rather than good; because the politics will get involved when power shifts to quickly for them to compensate. DNS over TLS just gets its 853 port blocked by most ISPs already so it's useless as a tool to shift the means of power here, and only DNS over HTTPs actually makes a real difference because it's way harder to block HTTPS and tell customer's that their internet still works. Given the nature how the web works, how it's transported and how dynamically it's changing in its resources over time - I think it's more important to focus on the idea of statistical truth in the moment, when the specific end user was using it. Some moments afterwards the same URLs change anyways, so it's important to preserve the resource's timeline - but not back until the dark age. Most parts of the world don't have the bandwidth to download gigabytes and still have crappy 2G slow and even lower network speeds. So a blockchain for a single website isn't a good idea to begin with. As a user I also don't know how hashes work, but I know how URLs work. URLs are predictable, hashes are not. The real strength of a peer to peer system is not only ledging, it's also offloading of network traffic. Every cached download that's offloaded via a closeby peer's cache is another tracking prevented. Every request that looks and behaves like Chrome's rendering engine on Windows/MacOS is another user saved from network fingerprint identification. Privacy is not keeping things to yourself. Real Privacy is looking like everybody else. For my own Browser I've decided to push the boundaries a little by implementing those features with the primary goal of being able to make the web work when you're offline or just connected to trusted peers (that have the URLs already cached). [1] And I'm honest here, it still needs a lot of work. Not only is JS malicious, but HTML/CSS has to be assumed to be malicious as well due to all specifications making it possible to identify people just by using CSS and background images or by simply making the website unusable with tricks like overflow:hidden or opacity:0, so these malicious parts have to be filtered out as well. Also: You don't need custom network protocols there. You don't need to roll your own crypto. HTTP, WebSockets and TLS are already peer to peer. The only thing missing is a decentralized way of cross-signing certificates and the ideas behind TLS notary could make the real difference in peer to peer networks. [2] [1] https://github.com/tholian-network/stealth (highly alpha) [2] https://tlsnotary.org
In A plan to rescue the Web from the Internet (2017)
I think in the future in order to stay private online, there's no way unless web traffic is decentralized off their servers. That is the real power behind a peer-to-peer system in my opinion: Offloading, and therefore removing the capabilities to track anything as a single node in the system. The only issue is peer-to-peer transport encryption, which can be solved if done correctly. Something like "statistically correct" DNS, or assets, or contents should've been the norm a long time ago. That's exactly what I'm striving for with my Tholian Stealth Browser [1] (to clarify: I mean peer-to-peer as a networking concept, specifically as the opposite concept of a decentralized blockchain) [1] https://github.com/tholian-network/stealth
In Google made it nearly impossible for users to keep their location private
Is there a way to contact you? I would have hundreds of questions that come to mind on how you use the Web. I'm building a web browser [1] that tries to make the semantics of the web automateable, so its goals are kind of aligned with blind people in regards to semantics and extraction. My knowledge of how blind people use the web is kind of outdated, though. Is JAWS still a thing? (My web browser is far from being stable, lots of things don't work yet and there's a ton of work left) [1] https://github.com/tholian-network/stealth
In WebAIM Screen Reader User Survey #9
> If anyone is aware of anything like this do share. Well, I actually tried to start a movement for that [1]. The idea is to offload as much as possible to trusted peers, and to refine the web with a trust model where the user has to trust a website specifically to deliver expected things from the user's side (e.g. a news website should have no right to shove videos down your throat). I also think that a lot of web browsers tackle the privacy problem wrong. "User Privacy" is not sending a user-agent to a server, or downloading a resource from it in a statistically easily detectable manner. Real privacy is not having to download anything from the web server at all, by offloading requests to its peers. In my Browser [2] I'm trying to have every metadata, configuration or observation (and extraction) federated. I believe that the real streng
Read the rest
th of peer-to-peer is not decentralization; it is federation and liberation. [1] https://tholian.network [2] https://github.com/tholian-network/stealth
In The Hotdog web browser and browser engine
As I'm repeating myself too often regarding this: the statistical norm is to be trackable. Every browser that isn't will get flagged. Privacy does only exist if you seem to look exactly like any other person visiting the website. That is why user agent, web apis, asset loading order and behaviours, http stack behaviours, tcp fingerprints all have to look like they came from the Browser Engine you're trying to identify with. If you don't, you're watched. It's as simple as that. Don't kid yourself into safety if you think that the Content-Security-Policy hack of adblockers work to prevent tracking and fingerprinting. Sure, you send less data, but less data means more obvious than the norm. As there was not a single concept that could fix this (in regards to looking like another Browser) I started to build my own "web filtering browser" [1]
Read the rest
that is able to emulate fingerprinting, and sticks them to specific domains and their originating uncached CDN requests so that if you have the same IP for the same website, they cannot correlate it to ptevious visits. The most effective way to not get tracked is to not visit the website. And I think that there's a huge potential in offloading traffic to peers that have the same URL already in their caches. Peer-to-peer Browser Caches would fix so many issues on their own, I don't understand why nobody is doing that. To the end user it doesn't matter where the assets come from, as long as the website is rendered in the same way afterwards. [1] https://github.com/tholian-network/stealth
In Are top websites using WebGL for fingerprinting?
Shouting is easy, doing so isn't. I gave up on trying to maintain forks of web browsers, because their extension API deliberately doesn't allow modifying response bodies. It's just impossible to maintain any fork of any browser because of the sheer amount of features that rely on JS APIs for websites and the amount of commits upstream. Ad Blockers are just a dirty hack that completely relies on Chromium respecting the Content-Security-Policy headers for all domains. If Google decides to blocklist their own domains for HTTP header modifications, we're fucked. Quite literally. That's the reason why I kinda started to build my own browser (without a rendering engine for now) that focusses on filtering, parsing, and peer-to-peer offloading traffic and sees itself as a mixture between web browser, scraper and proxy that can be used as a cache
Read the rest
for others. It has the idea to act as a web filter service + a webview to render its UI rather than being a render engine and document engine. [1] I hope that with this market niche there's a way to make this kind of effort sustainable for the future, because all other web browser fork projects I've seen so far are dying off due to no funding and too much work to maintain the codebase. It's just not feasible to compete in the everday user's browser market. Lots of companies have tried, and lots of companies have failed. [1] https://github.com/tholian-network/stealth Edit: Clarification of Chrome vs. libchromium
In Brave disables Chromium FLoC features
I was thinking more about the lack of testsuites for everything related to network protocols, such as DNS, HTTP or WebSockets and WebRTC. The RFCs related to DNS are an endless list of deprecations that you have to "merge" in your head until you actually know what is allowed, what is deprecated, and what was extended. Especially with EDNS and all its options that are somewhat somewhere on the IANA website. Before that, I realized that not a single server implementation implements HTTP's 206 Partial Content and/or Transfer-Encodings as specified; and lots of servers even reply with wrong buffer sizes when requesting multiple Content Ranges. When reading through the Chromium and Firefox codebases, there's always dirty hacks that are implementation specific, so there isn't any end-to-end networked-only testsuite that verifies the network sta
Read the rest
tes and behaviours. For my own Browser Stealth [1] I had to create a testsuite because I couldn't find anyone that's not related to known SSL attack vectors. Due to the peer-to-peer concept I decided to test network behaviours wherever possible. The network protocols themselves (when speaking of RFCs) are just not tested, and freely interpreted at will - even in older projects like apache, caddy, curl, libaria and others. When reading the curl codebase you'll soon realize that it is a huge collection of hacks he had to implement just to make things work when the servers were behaving incompliant to the specifications. [1] https://github.com/tholian-network/stealth
In I bought ISO 8601-1:2019 and 8601-2:2019
I agree with you there. For my stealth browser I decided to go with a different JSON based format [1] that can rewrite the URL parameters via wildcards (for both * at the start and end of both key and val). It has the idea that you can audit a website and only list the allowed parameters there, so that a website search or sorting order or filters can still work. I built my browser on an allowlist based concept because it seemed too impossible to maintain all bad urls, domains, parameters on the web. Most websites have more tracking than content in them, so I decided on maintaining lists to select the content rather than the ads and trackers. [1] https://github.com/tholian-network/stealth/blob/X0/profile/p...
In Google Removed ClearURLs Extension from Chrome Web Store

Showing the 15 most recent of 21 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.