TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Feed readers which don't take "no" for an answer

236 pointsby kencausey5 months ago

19 comments

strogonoff5 months ago
A friend of mine co-runs a semi-popular semi-niche news site (for now more than a decade), and complains that recently traffic rose with bots masquerading as humans.<p>How would they know? Well, because Google, in its omniscience, started to downrank them for faking views with bots (which they do not do): it shows bot percentage in traffic stats, and it skyrocketed relative to non-bot traffic (which is now less than 50%) as they started to fall from the front page (feeding the vicious circle). Presumably, Google does not know or care it is a bot when it serves ads, but correlates it later with the metrics it has from other sites that use GA or ads.<p>Or, perhaps, Google spots the same anomalies that my friend (an old school sysadmin who pays attention to logs) did, such as the increase of traffic along with never seen before popularity among iPhone users (who are so tech savvy that they apparently do not require CSS), or users from Dallas who famously love their QQBrowser. I’m not going to list all telltale signs as the crowd here is too hype on LLMs (which is our going theory so far, it is very timely), but my friend hopes Google learns them quickly.<p>These newcomers usually fake UA, use inconspicuous Western IPs (requests from Baidu&#x2F;Tencent data center ranges do sign themselves as bots in UA), ignore robots.txt and load many pages very quickly.<p>I would assume bot traffic increase would apply to feeds, since they are of as much use for LLM training purposes.<p>My friend does not actually engage in stringent filtering like Rachel does, but I wonder how soon it becomes actually infeasible to operate a website <i>with actual original content</i> (which my friend co-writes) without either that or resorting to Cloudflare or the like for protection because of the domination of these creepy-crawlies.<p>Edit: Google already downranked them, not threatened to downrank. Also, traffic rose but did not skyrocket, but relative amount of bot traffic skyrocketed. (Presumably without downranking the traffic would actually skyrocket.)
评论 #42487167 未加载
评论 #42487986 未加载
评论 #42486947 未加载
评论 #42487410 未加载
评论 #42493243 未加载
评论 #42494905 未加载
评论 #42489924 未加载
评论 #42490900 未加载
Apreche5 months ago
Feed readers should be sending the If-Modified-Since header and web sites should properly recognize it and send the 304 Unmodified response. This isn’t new tech.
评论 #42486380 未加载
评论 #42486367 未加载
评论 #42491592 未加载
Havoc5 months ago
Blocked for 2 hits in 20 minutes on a light protocol like rss?<p>That seems hilariously aggressive to me, but her server her rules I guess.
评论 #42486882 未加载
评论 #42486799 未加载
评论 #42486876 未加载
评论 #42486784 未加载
评论 #42486878 未加载
评论 #42486807 未加载
jannes5 months ago
The HTTP protocol is a lost art. These days people don&#x27;t even look at the status code and expect some mumbo jumbo JSON payload explaining the error.
评论 #42486341 未加载
评论 #42486626 未加载
评论 #42486563 未加载
评论 #42486804 未加载
shepherdjerred5 months ago
I like Rachel&#x27;s writing, but I don&#x27;t understand this recent crusade against RSS readers. Sure, they should work properly and optimizations can be made to reduce bandwidth and processing power.<p>But... why not throw a CDN in front of your site and focus your energy somewhere else? I guess every problem has to be solved by someone, but this just seems like a very strange hill to die on.
评论 #42491237 未加载
评论 #42493031 未加载
评论 #42492607 未加载
generationP5 months ago
Rejecting every unconditional GET after the first? That sounds a bit excessive. What if the reader crashed after the first and lost the data?
评论 #42486604 未加载
评论 #42488814 未加载
bombcar5 months ago
At some point instead of 429 it should return a feed with this post as always newest.
评论 #42491334 未加载
评论 #42493455 未加载
PaulHoule5 months ago
This is why RSS for the birds.<p>My RSS reader YOShInOn subscribes to 110 RSS feeds through Superfeedr which absolves me of the responsibility of being on the other side of Rachel&#x27;s problem.<p>With RSS you are always polling too fast or too slow; if you are polling too slow you might even miss items.<p>When a blog gets posted Superfeedr hits an AWS lambda function that stores the entry in SQS so my RSS reader can update itself at its own pace. The only trouble is Superfeedr costs 10 cents a feed per month which is a good deal for an active feed such as comments from Hacker News or article from <i>The Guardian</i> but is not affordable for subscribing to 2000+ indy blogs which YOShInOn could handle just fine.<p>I might yet write my own RSS head end, but there is something to say for protocols like ActivityPub and AT Protocol.
评论 #42489649 未加载
wheybags5 months ago
Rss is pretty light. Even if you say it&#x27;s too much to be re-sending, you could remove the content from the rss feed (so they need to click through to read it), which would shrink the feed size massively. Alternatively, remove old posts. Or do both.<p>Hopefully you don&#x27;t have some expensive code generating the feed on the fly, so processing overhead is negligible. But if it&#x27;s not, cache the result and reset the cache every time you post.<p>Surely this is easier than spending the effort and emotional bandwidth to care about this issue?<p>I might be wrong here, but this feels more emotionally driven (&quot;someone is wrong on the internet&quot;) than practical.
评论 #42487553 未加载
RA2lover5 months ago
Related: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42470035">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42470035</a>
nilslindemann5 months ago
I am stupid, why not just return an HTML document explaining the issue, when there is such an incorrect second request in 20 minutes, then blocking that IP for 24 hours? The feed reader software author has to react, otherwise its users will complain to him, no?
评论 #42487137 未加载
评论 #42487030 未加载
donatj5 months ago
On the flip side, what percent of RSS feed <i>generators</i> actually support conditional requests? I&#x27;ve written many over the last twenty years and I can tell you plainly, none of the ones I wrote have.<p>I never even considered the option or necessity. It&#x27;s easy and cheap just to send everything.<p>I guess static generators with a apache style web server probably do, but I can&#x27;t imagine any dynamic generators bother to try to save the small handful of bytes.
评论 #42489809 未加载
ruuda5 months ago
I have a blog where I post a few posts per year. [1] &#x2F;feed.xml is served with an Expires header of 24 hours. I wrote a tool that allows me to query the webserver logs using SQLite [2]. Over the past 90 days, these are the top 10 requesters grouped by ip address (remote_addr column redacted here):<p><pre><code> requests_per_day user_agent 283 Reeder&#x2F;5050001 CFNetwork&#x2F;1568.300.101 Darwin&#x2F;24.2.0 274 CommaFeed&#x2F;4.4.0 (https:&#x2F;&#x2F;github.com&#x2F;Athou&#x2F;commafeed) 127 Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;131.0.0.0 Safari&#x2F;537.36 52 NetNewsWire (RSS Reader; https:&#x2F;&#x2F;netnewswire.com&#x2F;) 47 Tiny Tiny RSS&#x2F;23.04-0578bf80 (https:&#x2F;&#x2F;tt-rss.org&#x2F;) 47 Refeed Reader&#x2F;v1 (+https:&#x2F;&#x2F;www.refeed.dev&#x2F;) 46 Selfoss&#x2F;2.18 (SimplePie&#x2F;1.5.1; +https:&#x2F;&#x2F;selfoss.aditu.de) 41 Reeder&#x2F;5040601 CFNetwork&#x2F;1568.100.1.1.1 Darwin&#x2F;24.0.0 39 Tiny Tiny RSS&#x2F;23.04 (Unsupported) (https:&#x2F;&#x2F;tt-rss.org&#x2F;) 34 FreshRSS&#x2F;1.24.3 (Linux; https:&#x2F;&#x2F;freshrss.org) </code></pre> Reeder is loading the feed every 5 minutes, and in the vast majority of cases it’s getting a 301 response because it tries to access the http version that redirects to https. At least it has state and it gets 304 Not Modified in the remaining cases.<p>If I order by body bytes served rather than number of requests (and group by remote_addr again), these are the worst consumers:<p><pre><code> body_megabytes_per_year user_agent 149.75943975 Refeed Reader&#x2F;v1 (+https:&#x2F;&#x2F;www.refeed.dev&#x2F;) 95.90771025 Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;131.0.0.0 Safari&#x2F;537.36 75.00080025 rss-parser 73.023702 Tiny Tiny RSS&#x2F;24.09-0163884ef (Unsupported) (https:&#x2F;&#x2F;tt-rss.org&#x2F;) 38.402385 Tiny Tiny RSS&#x2F;24.11-42ebdb02 (https:&#x2F;&#x2F;tt-rss.org&#x2F;) 37.984539 Selfoss&#x2F;2.20-cf74581 (+https:&#x2F;&#x2F;selfoss.aditu.de) 30.3982965 NetNewsWire (RSS Reader; https:&#x2F;&#x2F;netnewswire.com&#x2F;) 28.18013325 Tiny Tiny RSS&#x2F;23.04-0578bf80 (https:&#x2F;&#x2F;tt-rss.org&#x2F;) 26.330142 Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;84.0.4147.105 Safari&#x2F;537.36 24.838461 Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;84.0.4147.105 Safari&#x2F;537.36 </code></pre> The top consumer, Refeed, is responsible for about 2.25% of all egress of my webserver. (Counting only body bytes, not http overhead.)<p>[1]: <a href="https:&#x2F;&#x2F;ruudvanasseldonk.com&#x2F;writing" rel="nofollow">https:&#x2F;&#x2F;ruudvanasseldonk.com&#x2F;writing</a> [2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;ruuda&#x2F;sqlog&#x2F;blob&#x2F;d129db35da9bbf95d8c2e97d575b4d5beb3bb40c&#x2F;queries&#x2F;feed_readers.sql">https:&#x2F;&#x2F;github.com&#x2F;ruuda&#x2F;sqlog&#x2F;blob&#x2F;d129db35da9bbf95d8c2e97d...</a>
65105 months ago
I ban the feed for 24 hours if it doesnt work.<p>I also design 2 new formats that no one (including myself) has ever implemented.<p><a href="https:&#x2F;&#x2F;go-here.nl&#x2F;ess-and-nno" rel="nofollow">https:&#x2F;&#x2F;go-here.nl&#x2F;ess-and-nno</a><p>enjoy
internet20005 months ago
Does anyone know if FreshRSS behaves properly here?
评论 #42486717 未加载
Forge365 months ago
I couldn&#x27;t find the tester. Thankfully the client i was tested... And it behaves poorly. Thankfully emacs has a client I can switch to!
mixmastamyk5 months ago
I have a few feeds configured into Thunderbird but wasn’t reading them very often, so I “disabled” them to load manually. Despite this it tries to contact the sites often and, when not able to (firewall) goes into a frenzy of trying to contact them. All this despite being disabled.<p>Disappointing combined with the various update sites it tries to contact every startup, which is completely unnecessary as well. Couple of times a week should be the maximum rate.
euroderf5 months ago
which =&gt; that
评论 #42487993 未加载
kelsey987654315 months ago
if you have to 429 people for an rss feed the problem is you
评论 #42486284 未加载
评论 #42486311 未加载
评论 #42486265 未加载
评论 #42486592 未加载
评论 #42486242 未加载