HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jstrieb
hackernews-button
C2021–2026
jstrieb / hackernews-button

hackernews-button

Privacy-preserving Firefox extension linking to Hacker News discussion; built with Bloom filters and WebAssembly

3Distinct people
8Mentions
0Explicit recommenders
104GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Privacy-preserving Firefox extension linking to Hacker News discussion; built with Bloom filters and WebAssembly

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

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 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 year8 dated mentions

Observed mentions: 2021-03-01 11:09:25 UTC to 2026-07-29 07:17:52 UTC.

012342021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC413
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

8 sources
If you use Firefox (and will pardon me plugging my own project), you might be interested in a version of this I made a while ago as a browser extension: https://github.com/jstrieb/hackernews-button My project is somewhat different from the userscript in that mine uses Bloom filters to check whether a link has been submitted, whereas this userscript sends every page you visit to the Algolia search API. Using Bloom filters means that there are no external requests unless you actually press the button. My project also doesn't show the comments in a sidebar. Having a link to past discussions, whether using this userscript or my extension, is useful not only to read the comments for a page you're browsing, but also to find good sites that haven't been submitted yet!
In Show HN: I was tired of opening 2 tabs for every HN link, so I made a userscript
This post recommends the Newsit extension to view Hacker News discussion associated with a page. In the same vein, a few years ago, I made a Firefox extension for users who want a privacy-preserving way to see if pages have associated HN discussion: https://addons.mozilla.org/en-US/firefox/addon/hacker-news-d... Most other extensions probably hit an external API (such as Algolia) to check submission status, which means they send every page you visit to that API. Instead, my extension uses Bloom filters compiled from every link ever submitted (updated daily from the Hacker News BigQuery dataset) to check the current page's submission status. By using Bloom filters, my extension only hits the API when you click the button to view the discussion. Source code here: https://github.com/jstrieb/hackernews-button Feel free to pull the Bloom filte
Read the rest
rs from the "Releases" section of that repo on GitHub to use in other projects if you'd like!
In Beyond the Front Page: A Personal Guide to Hacker News
I appreciate the Go-style docstring comments in the code! For anyone trying to understand Bloom filters who may be interested in checking out an alternative C implementation (designed to be compiled to WebAssembly), I'll link mine below. I used it to build a Bloom filter of every Hacker News submission ever for a privacy-preserving browser extension that tells you if the page you're currently on has been submitted before. https://github.com/jstrieb/hackernews-button/blob/master/blo...
In Fleur – A bloom filter implementation in C
It's worth noting that my extension is far from perfect – it turns out that determining whether a specific page has been submitted to Hacker News is far from a trivial problem to solve. In general, this is because multiple URLs can map to the same page. Direct string comparison of the current URL to previously submitted ones doesn't work because there are many ways for two identical web pages to have different URLs. For example, the URL fragments can differ (the part after the "#" that may or may not be present). Also there can be tracking parameters (often—but not necessarily—prefixed with "utm_"), which don't change anything about the page. But the URL parameters can't be entirely disregarded because sometimes sites, forums in particular, rely on them – consider pages that use an "?id=..." parameter for different pages. Thus some parame
Read the rest
ters should be removed, but some shouldn't. The same website having different domains (or domains that change over time) further complicates the situation. My solution was to "canonicalize" URLs by transforming them into a simplified form using some pretty rough heuristics for common sources of noise. The Python code to do that is here: https://github.com/jstrieb/hackernews-button/blob/master/can... All of this to say that even though I've used my extension for months and have been quite happy, there will inevitably be false negatives.
In Tell HN: I curate HN stories which didn't reach the front page
For what it's worth, I made a Firefox extension that will light up whenever the current page has been posted to Hacker News. I find that it helps me in situations like this, and also adds a lot of depth to regular Internet browsing. It uses a giant Bloom filter with every article ever submitted to preserve user privacy. If you normally enjoy being linked back to HN discussion, maybe you will like it! https://github.com/jstrieb/hackernews-button
In Tell HN: I curate HN stories which didn't reach the front page
Thanks for clearing that up, yes I'm not that familiar with Bloom filters, seems like an interesting and useful concept. It could probably (pun intended) be applied to many applications to increase privacy. I like the [1] Workflow file you've made, the comments really help with reading shell code. I'm also amazed you can query 4M entries everyday with BigQuery, I thought that might be fairly expensive to do right? Or is this below a free tier? [1] https://github.com/jstrieb/hackernews-button/actions/runs/61...
In Show HN: Hackernews-Button – Bloom Filter-based, private HN browsing extension

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.