Context & Motivation
Currently, configuring multiple feeds for the bridge requires manual setup per feed. When migrating from existing RSS readers or handling large, segmented sources (e.g., importing a standard OPML file with dozens of feeds), the manual configuration becomes a bottleneck and introduces unnecessary boilerplate.
Proposed Solution
Implement an OPML parser to allow bulk import of RSS feeds into the rss-bridge-ntfy configuration. This would enable users to drop an standard subscriptions.opml file into a defined directory or pass it via CLI/Environment variables, instantly provisioning the notification bridge with their complete feed list.
Technical Implementation Details:
- XML Parsing: Parse standard OPML 2.0 structure, specifically targeting nodes.
- Deduplication: Implement a check against the existing configuration to prevent duplicate feed entries and redundant push notifications.
- Async Processing: If the initial import triggers immediate fetches, the requests should be handled asynchronously to avoid blocking the main thread or hitting rate limits on the target servers.
- Portability: This highly aligns with containerized or nomadic setups where rebuilding state quickly via a single config file is a major architectural advantage.
Let me know if you are open to a PR for this, or if you have specific architectural preferences for the implementation.
Context & Motivation
Currently, configuring multiple feeds for the bridge requires manual setup per feed. When migrating from existing RSS readers or handling large, segmented sources (e.g., importing a standard OPML file with dozens of feeds), the manual configuration becomes a bottleneck and introduces unnecessary boilerplate.
Proposed Solution
Implement an OPML parser to allow bulk import of RSS feeds into the rss-bridge-ntfy configuration. This would enable users to drop an standard subscriptions.opml file into a defined directory or pass it via CLI/Environment variables, instantly provisioning the notification bridge with their complete feed list.
Technical Implementation Details:
Let me know if you are open to a PR for this, or if you have specific architectural preferences for the implementation.