Skip to content

VFUC/AppFeeds

Repository files navigation

AppFeeds

RSS Feeds for iOS App Store Updates

TL;DR

This project provides two things:

  • a tool to generate RSS/Atom/JSON-Feeds for the version history of given iOS Apps
  • a Github Action, which periodically creates new feeds for the apps specified in this repo

Example feed: https://feeds.jonas.lol/apps/duolingo-us.xml

How can I use this?

  • You can run the tool to generate and publish your own feeds.
  • You can use the feeds generated and published by this repo. The currently published feeds can be found here. If an app is missing, feel free to add it to the config and open a PR.

Getting Started

  • Check if the values in config.json meet your expectations
  • build a binary, e.g. using go build -o feedmaker
  • run the binary, e.g. ./feedmaker
  • find the generated feeds in the folder specified in config.json

Arguments

The app needs a configuration file and a storefront mappings file to run. Examples can be found in this repo.

By default, the tool expects these in the same directory as it's being run from, but this can be controlled when ran with the following flags:

-c path/to/my/config.json
-sf path/to/my/storefrontmappings.json

Configuration values

Based on the configuration values, the tool will fetch the version history for each of the apps listed in the configuration. It will generate RSS, Atom and JSON feeds and write them into the specified outputDir.

If the summary configuration is set, a markdown file with published feeds will be generated. This may be useful when combined with a publishing workflow, like the GitHub Actions of this repository.

Configuration Key Value
feedAuthorEmail The feed author, used in Atom and RSS feeds required
outputDir Where to store the generated feeds. Must exist. required
apps List of apps to generate feeds for required
apps.shortName A name for the app, used to name the output files required
apps.appstoreId The app store identifier of the app, see here for details. required
apps.countryId The app store to check. App must exist in the country's store to succeed required
summary Values used to generate a summary markdown file such as this one optional
summary.outputPath Where to write the summary file to
summary.baseURL Which base URL to use in the summary file

Adding an App

To get an app's appstoreId and countryId, lookup its App Store URL using your favorite search engine.

As an example, if the URL is https://apps.apple.com/us/app/duolingo-language-lessons/id570060128 we can derive

countryId: us

appstoreId : 570060128

References

I used this StackOverflow answer to get JSON-formatted app version histories and this Gist to map App Store countries to their "storefrontId's".

To generate the feeds, the feeds package is being used.

About

RSS Feeds for iOS App Store Updates

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages