# RSS <time datetime="2025-03-11"><sub>*Updated: 2025-03-11*</sub></time> **My RSS feed is located at**: https://hypertextvault.com/rss.xml Obsidian Publish has a very simple RSS feed file that's really just the [sitemap](https://help.obsidian.md/publish/seo#Sitemap). [Others and I are wanting support for a decent RSS feed](https://forum.obsidian.md/t/improve-the-rss-feed-for-obsidian-publish-reverse-chronological-order/79041/7). Maybe I'll consider automating my own RSS feed to include more detail. I use RSS feeds to curate my cybersecurity, tech, and privacy news. Especially smaller blogs that might otherwise get lost in the online sea. I look at my feeds through an Android RSS reader app called [Feeder](https://github.com/spacecowboy/Feeder). It has an article save feature and in-app reader that renders content well. # Searching for RSS Feeds **Sometimes an RSS feed is not easy to find.** For example, [this website](https://www.embeeresearch.io/) has an RSS feed, but cannot quickly be found with a <kbd>ctrl</kbd>+<kbd>f</kbd> or any visual links to one. In case a site really doesn't have an RSS feed, you could try [rss-bridge](https://github.com/RSS-Bridge/rss-bridge). It scrapes content off a site and generates an RSS feed. You can host your own instance or you can use their [official instance](https://rss-bridge.org/bridge01/). I haven't tried it. ## The `site:` Search Operator One way to find a site's RSS feed (if it has one) is to use a search engine's [`site:` search operator](https://help.kagi.com/kagi/features/search-operators.html#search-operators-1) ![[kagi_site_operator.png]] In this example we can see that the website's RSS feed is located at the `/rss` endpoint. Sometimes it will also be difficult to find a feed even with the `site:` filter. [This site](https://secret.club) doesn't have any references to an RSS feed on its website. And a search with `site:secret.club rss` won't provide the relevant RSS feed. With the [[#fUzZiNg tHe eNdPoInT]] approach we'd be able to find it in the second attempt, where the RSS feed turns out to be located at `/feed.xml`. ## fUzZiNg tHe eNdPoInT Another approach we could try is to **iterate through and append known common RSS feed endpoints to the end of a path.** Unfortunately, the endpoint where an RSS feed is located is not standardized (though it really should be), so it's not always obvious where to look. For some technologies, like WordPress, they are standardized. With [WordPress' RSS feeds](https://wordpress.com/support/feeds/) being located at `/feed/`. Later we see that it's the most popular RSS feed location. Some feeds are located behind deeper paths such as: `/blog/feed.xml` or `/feed/posts/default`. Because the [RSS specification](https://www.rssboard.org/rss-specification) doesn't state anything about where to host the RSS feed, it could really be under any path; which is good for customization, but bad for discovery. [Kagi](https://kagi.com/welcome) has a curation of personal blogs called ["Kagi Small Web"](https://kagi.com/smallweb). The sites hosted here are required to have an RSS feed in order to be included into the Small Web. It's the [biggest list of RSS feeds](https://github.com/kagisearch/smallweb/blob/main/smallweb.txt) I could find, with currently over 15,000 feeds. We can use this list to find the full paths and endpoints that are most commonly used. ### Most Common RSS Paths ```bash curl --silent https://raw.githubusercontent.com/kagisearch/smallweb/refs/heads/main/smallweb.txt | rg --only-matching --replace='$1' 'https://.*?(/.*?) | sort | uniq --count | sort --reverse --numeric-sort | head --lines=50 ``` This chained bash command does the following: - fetches the list of RSS feeds: ```bash curl --silent https://raw.githubusercontent.com/kagisearch/smallweb/refs/heads/main/smallweb.txt ``` - [uses a regular expression to filter for the path of a URL](https://regex101.com/r/Zj1grm), with [ripgrep](https://github.com/BurntSushi/ripgrep): ```bash | rg --only-matching --replace='$1' 'https?://.*?(/.*?) ``` - filters for unique paths: ```bash | sort | uniq --count ``` - sorts and counts them: ```bash | sort --reverse --numeric-sort ``` - and finally it lists the top 50 most common paths: ```bash | head --lines=50 ``` #### Top 50 Most Common RSS Paths ```   4116 /feed/   2218 /feed.xml   1308 /index.xml    986 /rss.xml    864 /feeds/posts/default    668 /atom.xml    566 /rss/    531 /feed    258 /rss    151 /feed.rss    127 /feeds/all.atom.xml    106 /blog/feed.xml    104 /blog/feed/     96 /feed/feed.xml     92 /blog/index.xml     84 /blog/rss.xml     82 /posts/index.xml     79 /feed.atom     76 /blog?format=rss     68 /blog/atom.xml     53 /feed/?type=rss     53 /blog-feed.xml     52 /?feed=rss2     36 /blog/feed     29 /blog/rss/     25 /data/rss     24 /posts.atom     24 /feed/atom/     21 /rss/feed.xml     21 /post/index.xml     19 /index.rss     19 /index.php/feed/     19 /feeds/all.rss.xml     16 /index.atom     15 /feeds/atom.xml     15 /feed/index.xml     13 /atom     12 /posts/rss.xml     12 /posts_feed     12 /blog.rss     12 /blog/feed.rss     11 /wp/feed/     11 /feeds/all.xml     11 /feed/rss.xml     11 /en/index.xml     11 /en/feed/     11 /blog/rss     11 /blog.atom     10 /feed/atom     10 /blog.xml ``` ### Most Common RSS Endpoints ```bash curl --silent https://raw.githubusercontent.com/kagisearch/smallweb/refs/heads/main/smallweb.txt | rg --only-matching '/[^/]*/? | sort | uniq --count | sort --reverse --numeric-sort | head --lines=50 ``` This command is almost the same as the one used in [[#Most Common RSS Paths]]. The difference here is that [the regular expression looks for the very last part of the path](https://regex101.com/r/86Iwin): `/[^/]*/?
#### Top 50 Most Common RSS Endpoints ```   4490 /feed/   2595 /feed.xml   1593 /index.xml   1195 /rss.xml    963 /default    839 /atom.xml    648 /feed    619 /rss/    344 /rss    186 /feed.rss    143 /all.atom.xml    111 /feed.atom     84 /?feed=rss2     78 /blog?format=rss     54 /blog-feed.xml     53 /?type=rss     42 /atom/     41 /atom     36 /index.rss     28 /index.atom     27 /posts.atom     22 /blog.xml     22 /all.rss.xml     21 /all.xml     18 /posts.xml     17 /blog.atom     14 /blog.rss     12 /posts.rss     12 /posts_feed     12 /articles.xml     10 /blog      9 /rss.php      6 /index.rss2      6 /feed_rss_created.xml      6 /articles.atom      6 /all.rss      5 /.rss      5 /podcast/      5 /feed.php      5 /?feed=atom      4 /writing?format=rss      4 /updates.rss      4 /RSS.xml      4 /rss.xml/      4 /rss.html      4 /rss2.xml      4 /news.xml      4 /news.atom      4 /main      4 /index.html ```