# RSSBud answers one question: which feed is this page, and can I subscribe from the share sheet

> RSSBud is an iOS and macOS app that inspects a webpage or an app link and tells you which RSS feed it corresponds to, then hands that feed to a reader in one step. Its detection logic is JavaScript taken from RSSHub Radar, wrapped in a SwiftUI app that is distributed through the App Store rather than built from source.

**Cay-Zhang/RSSBud** — An RSS feed discovery app for iOS/macOS that works particularly well with RSSHub, a popular feed generation service. Available on the App Store.

- Repository: https://github.com/Cay-Zhang/RSSBud
- Stars: 1,538 · Forks: 47
- Language: JavaScript
- License: MIT
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/cay-zhang-rssbud

## Detection is rule based, not a general autodiscovery pass

RSSBud is described as an RSS feed discovery app for iOS and macOS that works particularly well with RSSHub, a popular feed generation service. That last clause is the honest framing: the strength of the app is the breadth of RSSHub's routes, not a general-purpose feed sniffer.

Three sources of detection are listed. It detects RSS feeds in web pages, it detects RSSHub feeds applicable for web pages and supports almost all rules of RSSHub Radar, and it detects other RSS feeds applicable for web pages through its own RSSBud Rules.

The third is the interesting one and the README explains why it exists. RSSBud Rules are described as a superset of RSSHub Radar rules, and the extended schema allows non-RSSHub feeds to be discovered, with official RSS feeds that are not discoverable by parsing HTML given as the example. So the app can find a site's real feed even when no link tag advertises it.

The rules themselves are not in this repository. RSSHub Radar rules come from the RSSHub community and are maintained there, and RSSBud Rules live in a separate project, RSSBudRules. The README asks that a missing feed be contributed to the right place, and specifically to RSSHub Radar first when the feed could be an RSSHub feed.

That distribution matters for how you evaluate the app. Its coverage is a function of two community-maintained rule sets, it says rules are kept up to date automatically, and you can point it at your own remote rules files and match against several at once.

Mobile handling is built in rather than bolted on: the app automatically expands URLs and adapts to common mobile subdomains, so the desktop URL you paste resolves the same way on a phone.

## RSSHub parameters and access control are first-class

The feature list has two entries that matter most to anyone actually running RSSHub.

The first is a parameter editor for RSSHub feeds. RSSHub routes accept query parameters that change what the feed returns, and the README says supporting this facilitates extra functionality such as filtering by feed content and full text fetching. Full text fetching in particular is the reason many people run their own RSSHub instance: a feed that returns only a teaser, or a truncated article, is not much use as a subscription.

The second is RSSHub access control, described as automatically generating an MD5 access code. Handing that to the user by hand is tedious and gets shared in the wrong places, so the app computing it from your key removes a step.

Neither of these would be possible without the app knowing it is dealing with an RSSHub route rather than a generic feed, which is the concrete payoff of the app's RSSHub orientation.

The rest of the discovery feature list is smaller and mostly about convenience: a share sheet extension, so analysis starts from any app's share menu, and quick subscription to a set of named readers.

## Nine subscription targets across readers and self-hosted services

Quick subscription is split into two groups in the feature list, and the split tells you what the author considers a reader versus a service.

The reader group is Reeder, Fiery Feeds, Ego Reader, and the system default RSS reader. All four are handled through the platform, so the app hands a URL to the relevant app rather than talking to an API.

The service group is larger: Tiny Tiny RSS, Miniflux, Fresh RSS, Feedly, Inoreader, Feedbin, The Old Reader, and Feeds Pub. Tiny Tiny RSS, Miniflux and Fresh RSS are the common choices for people running their own reader on a small server.

The design is URL-based subscription rather than credential-based. The app does not hold your reader passwords or API tokens, it just hands the feed over, which is the right security trade for a discovery tool and means adding a service that supports plain URL subscription requires no new code.

The Apple platform requirements are stated in the badges at the top: Swift 5.8, iOS 15 and later, and macOS 12 or later on Apple Silicon. That last restriction rules out Intel Macs, which is a meaningful cut for anyone with an older machine.

## x-callback-url turns the app into a Shortcuts building block

If your reader or service is not on that list, RSSBud exposes itself through the x-callback-url protocol, which is a standardised way for iOS apps to document the methods other apps can call.

The scheme is one line:

```
rssbud://x-callback-url/analyze?url[&x-callback-parameters...]
```

It takes a `url` parameter, the URL to analyse, and returns through `x-success`. The return values are `feed_title`, the name of the feed the user chose, and `feed_url`, the URL of that feed. Because the choice is made by the user inside RSSBud rather than resolved automatically, the caller gets a decision rather than a guess.

That is enough to build anything, and the README includes a workshop of example shortcuts written by the author. The starter shortcut sets up the variables and supports share sheets. One sends analysis results to Telegram with a configurable message template and recipient. One sends results to Pocket Casts for podcast RSS only. One takes a URL from a scanned QR code and analyses it.

The shortcut sharing is deliberate. If you build something that could serve more than you, the README asks that you open an issue rather than keep it to yourself, which is a reasonable request for a feature that is otherwise invisible.

On macOS there is a second integration point: a PopClip extension, since PopClip users often want to analyse a selected URL without switching apps. The extension is a small configuration block, installed by pasting it into PopClip, with a name, an iconify icon reference and a `rssbud:///analyze?url=***` URL template.

## The core is JavaScript, the app is Swift, and the App Group is yours to create

The building notes are short and they explain the architecture.

The core functionality comes from RSSBud Core, a sub-project written in JavaScript located under Shared/Core, and the README says the code is mainly referenced from RSSHub Radar. That is also why the repository's primary language is recorded as JavaScript rather than Swift: the detection logic is the JavaScript part, and the SwiftUI application around it is the shell.

You need Node.js installed before you build with Xcode, which is unusual for an iOS project and follows directly from that split.

The second note is about the action extension, which is the share sheet. If you want it, you must set up your own App Group in both the iOS and the Action Extension targets and then change `RSSBud.appGroupIdentifier` to match. That is the standard requirement for sharing data between an app and its extension, and it is not optional, so a build without it will have an extension that cannot see the app's data.

The repository layout matches the structure: `iOS/` and `macOS/` for the two application targets, `Action Extension/` for the share sheet, `Shared/` for the JavaScript core, `RSSBud.xcodeproj/` for the project, `RSSBudTests/` for tests, and `PromoAssetGeneration/` for store screenshots. There is also a PRIVACY_POLICY.md at the root, which is consistent with App Store distribution.

The project is MIT licensed, has no GitHub releases, and was last pushed on 2026-10-16. Distribution is through the App Store, so most people will never build it; the two similar projects it names, the RSSHub Radar browser extension and RSSAid for Flutter, cover the other platforms.

## Conclusion

Adopt RSSBud if you browse on iOS or Apple silicon macOS and keep your subscriptions across several readers or self-hosted services, since that is what its subscription targets and parameter editor are for. Skip it on other platforms, since the app ships only for iOS 15 and later and macOS 12 on Apple Silicon, and it is not in this repository as a buildable dependency for your own project. Verify first that the feed you want is covered by RSSHub Radar rules or RSSBud Rules, since detection is rule-based rather than a general HTML autodiscovery.

## FAQ

### How does RSSBud discover feeds?

It uses three sources: RSS feeds detected in web pages, RSSHub Radar rules maintained by the RSSHub community, and RSSBud Rules, a superset that adds a schema for non-RSSHub feeds such as official feeds that no HTML parsing would reveal. Rules are kept up to date automatically and you can supply your own remote rules files.

### Can RSSBud add a feed to my reader?

Yes. It offers quick subscription to Reeder, Fiery Feeds, Ego Reader and the system default reader, plus Tiny Tiny RSS, Miniflux, Fresh RSS, Feedly, Inoreader, Feedbin, The Old Reader and Feeds Pub. For anything else it supports the x-callback-url scheme so Shortcuts can automate it.

### What do I need to build RSSBud from source?

Node.js, because the core detection logic is a JavaScript sub-project under Shared/Core, and Xcode. If you want the share sheet action extension you must also create your own App Group in the iOS and Action Extension targets and set `RSSBud.appGroupIdentifier` to match.

## Sources

- [Cay-Zhang/RSSBud on GitHub](https://github.com/Cay-Zhang/RSSBud)
- [Issues](https://github.com/Cay-Zhang/RSSBud/issues)
- [License: MIT](https://github.com/Cay-Zhang/RSSBud/blob/main/LICENSE)
- [README](https://github.com/Cay-Zhang/RSSBud/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/cay-zhang-rssbud
