6 ms·
Show HN: A userscript that adds archive URLs below the paywalled HN submissions
This userscript adds archive URLs to the metadata section of HN submissions without breaking the immersion. Here are 2 screenshots: https://imgur.com/a/PdUu6oG https://imgur.com/a/PdUu6oG
GreasyFork: https://greasyfork.org/en/scripts/452024-hacker-news-anti-paywall https://greasyfork.org/en/scripts/452024-hacker-news-anti-pa...
Source code: https://github.com/MostlyEmre/hn-anti-paywall https://github.com/MostlyEmre/hn-anti-paywall
Now let me overexplain.
-Why?-
I never liked paywalled articles. I understand where they come from, but I don't like where we cross our paths.
This is why I don't use major news aggregators anymore. Instead, I spend my "catching-up-with-the-world-time" on Hacker News. However, Hacker News (HN) also has its fair-share of paywalled articles. (Around 11.6% according to my short-lived, half-assed attempt at measuring it. See my super old data https://hpa.emre.ca/ https://hpa.emre.ca/ I tell the story below.)
-First try-
Around a year ago, when I ran the above experiment, my goal wasn't to run that experiment. It was during my self-teaching & career-changing process, I decided to build a React HN clone. To make it stand-out from the bunch, I added a paywall feature. It would detect paywalled articles and would add an archive URL into the metadata.
The issue with archiving is unless someone archived the link before on the {archiving-project} then the link is most likely not archived. So me sending people to those projects meant nothing. It kinda meant something for me from an ideological standpoint but I assume you are not me.
This rubbed me the wrong way. I decided to build a backend (See https://github.com/MostlyEmre/HN-Paywall-Archiver https://github.com/MostlyEmre/HN-Paywall-Archiver) that would scan the links and automatically to detect paywalls close to real-time and submit paywalled ones to archive.is for archival. I used Nodejs, Firebase, and React. I was -still am- really proud because I believed it was doing public good in terms of digital preservation. Only 1 person needed to run this script to benefit everyone. As an extra, I was curious on how many paywalled articles were being shared, by whom, at what time. So I also created some analytics functionality to gather the data. And later created a UI to present it.
HN-Paywall-Archiver was great but I stopped running the backend at some point. Because at that point couldn't find a way to continuously run my backend code on some platform for cheap or didn't try hard enough.
P.S. Recently I've been thinking of remaking this version with Cloudflare Workers.
-Hacker News Paywall Archiver Userscript-
After almost a year, I got into userscripts. Super great super awesome concept. People seem to hate javascript unless it is presented as a userscript. So I decided to get my hands dirty to create a simple solution that solves the paywall issue on HN without breaking any hearts.
My solution is not perfect as it had to be simple. But here's the rundown.
Pros:
- Does not beg for attention.
- Simple code, simple concept.
- Unintentionally, indicates which submissions are paywalled without you interacting with anything.
- Not-yet-archived archive links can make you feel like you are contributing to the society after you click on the "archive this URL" button on project page.
- Uses HN html defaults, so I hope it plays well with the HN skins/plugins/userscripts you use.
Cons:
- It doesn't automatically archive the links.
- It uses clone of a static list of paywalled websites sourced from a popular Chrome extension. (https://github.com/iamadamdev/bypass-paywalls-chrome/blob/master/src/js/sites.js https://github.com/iamadamdev/bypass-paywalls-chrome/blob/ma...) So changing the paywall list is slow and manual.
- No guarantees of archived links actually having the archive readily available for reading. Though there are currently 3 projects added, so it should be enough for most links.
So, there you go. I hope you enjoy it. It can break occasionally due to changes in news.ycombinator code, if you let me know on Twitter, I can fix it ASAP. Otherwise you have to wait until I notice that the script is broken, which can take quite a while as I browse HN on mobile.
- gardenfelder 4y agoNeeds to show a project license. Otherwise, pretty cool!
- MostlyEmre 4y agoAh, I thought adding a badge or mentioning the license in the Readme was enough. Thanks for giving a heads up! Just created a LICENSE file.
- Waterluvian 4y agoThere’s something rather amusing about this comment on a project that’s about stealing content. (yes, I get that there’s a whole realm of nuance and differing opinions and moral grey areas if you squint enough. I just find it amusing is all)
- nickthegreek 4y agoThat’s stretching the word stealing pretty far I feel.
- CubsFan1060 4y agoThis feels very ethically icky to me. Folks are working hard to write these articles, and need to get paid. If you don’t like paywalled articles just don’t read them, I don’t think it’s ethically sound to do this. Just my $0.02
- kurisufag 4y agoI don't think the average HN reader, upon encountering a paywall, is the type to reach for their wallet. The alternate case here is that the article simply doesn't get read/discussed as much, not that the author actually receives more pay.
- anaganisk 4y agoA whitelist maybe that is locally stored? Probably be a good idea. But what you say is correct just life software devs in here who want to get Paid, they too want to get paid. It's strange that we often see here," allow us to pay money and don't show us ads", yet people complain about pay walls too. But, probably sharing a paywall link is not beneficial for knowledge sharing? But other than all this, it helps with deadlines at least.