This project provides an automated method to fetch and rewrite links within specified RSS feeds, directing them to the archive.is
service. Utilizing GitHub Actions, the process runs on a schedule to maintain updated feeds, accessible via standard RSS readers through the repository’s raw content URLs.
The system is designed for flexible configuration. Users can modify the feeds.txt
file to manage the processed RSS sources or adjust the target archiving service according to their needs and preferences. This project focuses on the technical transformation of RSS feed links and does not host or distribute original article content. Users are solely responsible for their interaction with the linked content and must ensure their usage complies with all applicable copyright laws and the terms of service of accessed websites. The importance of supporting journalism is acknowledged.
git clone https://github.com/orx365/rss-arch.git
cd rss-arch
Install the required Python libraries:
pip install requests feedparser PyRSS2Gen
The feeds.txt file contains the list of RSS feeds to process. Each line should follow this format:
<feed_url> <output_file> [<domain>]
Example:
https://www.ft.com/rss/home.xml output/ft-home.xml ft.com
https://www.economist.com/rss economist.xml output/economist.com
https://www.theatlantic.com/feed/all/ output/atlantic.xml theatlantic.com
<feed_url>
: The URL of the RSS feed.<output_file>
: The path where the reformatted RSS feed will be saved.[<domain>]
(optional): A domain filter to process only links from a specific domain.You can run the script manually to test it:
python rss_reformatter.py --feed-file feeds.txt
This will process all feeds listed in feeds.txt and save the reformatted feeds to the specified output files.
The project is configured to update the feeds every 4 hours using GitHub Actions. The workflow file (.github/workflows/rss_reformatter.yml
) is already set up to:
"0 */4 * * *"
).You don’t need to do anything extra to enable this, as long as the repository is hosted on GitHub and GitHub Actions is enabled.
To use the reformatted feeds:
Copy the raw URLs of the output files (e.g., https://raw.githubusercontent.com/USERNAME/REPOSITORY/main/output/ft-home.xml
).
Add these URLs to your preferred RSS reader app or service.
feeds.txt
.This setup provides a scalable and automated method for maintaining RSS feeds with links directed through archive.is
.