https://github.com/open-risk/atp2rss
Convert ATProto and ActivityPub subscription lists to RSS
https://github.com/open-risk/atp2rss
activitypub akregator atproto bluesky fediverse liferea mastodon opml rss rss-feed rss-reader
Last synced: 7 months ago
JSON representation
Convert ATProto and ActivityPub subscription lists to RSS
- Host: GitHub
- URL: https://github.com/open-risk/atp2rss
- Owner: open-risk
- License: gpl-2.0
- Created: 2025-09-10T19:51:38.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-14T14:16:05.000Z (7 months ago)
- Last Synced: 2025-11-14T16:15:27.712Z (7 months ago)
- Topics: activitypub, akregator, atproto, bluesky, fediverse, liferea, mastodon, opml, rss, rss-feed, rss-reader
- Language: Python
- Homepage: https://www.openriskmanagement.com
- Size: 320 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# atp2rss
A small toolkit to convert AT Protocol (AT) and ActivityPub (AP) subscription lists into RSS feeds in OPML format.

## Description
The toolkit consists of two Python scripts that convert follow lists from Bluesky and Mastodon respectively into OPML files that can be imported into any RSS reader.
This way you can keep track of posts from accounts that post infrequently and might get lost in the default "timeline" interface of these platforms.

## How to use
* Clone or fork this repository in your computer
* Export your follow lists from Bluesky and/or the Mastodon instance you have an account on (detailed instructions below)
* The scripts work independently, generating two separate OPML files.
* Run **python3 at.py**. This creates the OPML file _bluesky_feeds.opml_ in the data directory. NB: it may take a while as it makes internet queries to resolve the id's
* Run **python3 ap.py** inside the cloned repo. This creates the OPML file _mastodon_feeds.opml_ in the data directory
for a long list as it needs to resolve the names of feeds from an online service.
* Import these two feeds into your favorite reader(s).
* Done!
## Exporting files
### Bluesky
On the web interface of Bluesky:
* Settings -> Accounts -> Download CAR file
* This downloads a file named repo.car to the default directory of your browser
* Move the repo.car file to the atp2rss/data directory
### Mastodon
On the web interface of your Mastodon instance:
* Settings -> Import and Export -> Follows (CSV)
* This downloads a file named following_accounts.csv to the default directory of your browser
* Move the following_accounts.csv file to the atp2rss/data directory
## Dependencies
To parse the AtProto export (CAR file) we need the atproto library (also needed for resolving did's).
## Troubleshooting
* On bluesky long lists may hit rate limits
* On mastodon various accounts may actually be federated from instances that do not provide RSS feeds