Show HN: A userscript that adds archive URLs below the paywalled HN submissions (github.com)
GreasyFork: https://greasyfork.org/en/scripts/452024-hacker-news-anti-pa...
Source code: 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/ 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) 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. ( (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) 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 The alternate case here is that the article simply doesn't get read/discussed as much, not that the author actually receives more pay. "I'm not going to pay for it, so I should get it for free". I don't particularly see how any of that makes it more ethical. How about when an article gets changed (or removed), without archiving sites, how would you know? At the end of the day, if its "actually" valuable to someone (e.g their livelyhood depends on it or something), they will probably pay for it. Maybe better put. Someone else being unethical doesn’t absolve me of ethics, imho. They get to decide if the site loads at all if I muck with that. The fact that they even have the slightest bit of exposure on this site is the real icky thing. Maybe I would pay something like a Spotify equivalent of 10-15 dollars a month to get access to all of these news websites, maybe even a limited number of articles as I don't browse them without being sent to them from another website, but nothing like that exists. So, they get zero dollars from me instead of some finite amount. There are also some papers that I particularly enjoy and would like to support them but are just priced too prohibitively. One of these is the Financial Times, I enjoy their writing a lot, but the digital only plan is $40/month, that's just way too much for someone who doesn't work at hedge funds or SV tech companies. I think the problem is "You are too expensive so I'll just take what I want for free". That doesn't feel like a morally defensible position. They are allowed to charge what they want. We are allowed to chose to patronize a publication or not. I personally use Apple News for this, but of course it doesn't have everything I would like. It does, or did… Apple News for instance, previously Texture from Next Issue Media which rocked till acquired and even for a while after. Unfortunately, publishers keep withdrawing from those things after they're done using the software's popularity to gain addicts. So now you have to "bring your own" subscription to the Apple News app for those publishers that withdrew. It's bizarre. - I don't want 100 different subscriptions. Some newspapers want you to subscribe when you visit them for the first time ever, but beyond an individual news story I have no reason to subscribe to the Tinytown Commercial Appeal & Gazette and am unlikely to ever consult it again. - An amazing amount of paywalled articles are just reprints of wire service stories or rewrites of press releases/ court documents. I am not gonna pay you for what is already public. - What about ads? Yes, I am willing to disable my ad blocker...if you have a reasonable ad policy. If you have more advertising than content, and it's animated or insists on getting in the way of the news outlet's user interface, you are destroying your own product. Don't come at me with 'everyone else does it so we have to as well.' Everyone else does not do it, and if you cared about what you were doing you wouldn't either. I am a poorly paid journalist who gets by on donations, and I don't abuse my readers with ads. Would I like more money, sure. Am I willing to sell my readers time and attention for that, no. I loathe advertising as a consumer and I do not believe that the only viable business models are subscriber lock in or cognitive pollution. It probably got heavily abused and the sites ended up disabling the working accounts that were useful. [1]: https://github.com/MostlyEmre/hn-anti-paywall/blob/main/scri... still a good idea to patch though GreasyFork build is also updated. I recommend anyone who installed the userscript (thanks!) to update.46 comments
[ 3.1 ms ] story [ 94.4 ms ] thread
Then simply viewing the hackernews index page with this extension installed will let the submitter execute whatever javascript they want in your logged in hackernews context - no user interaction necessary. https://example.com"><script>alert(1)</script>