Create RSS feeds of your Youtube subscriptions.
- Generate an xml feed of the latest videos for all your YouTube subscriptions
- Run a small web server for serving the feed
- One time generation of feed
- Go to the Google Cloud Console.
- Create a new project (or select an existing one).
- Enable the YouTube Data API v3 for your project.
- Go to APIs & Services → Credentials.
- Click Create Credentials → OAuth client ID.
- Choose "Desktop app" and get your
client_idandclient_secret. - Download the generated
credentials.jsonfile.
-
Move your
credentials.jsonfile into a new folder calledconfigsat the root of this repo. For example:configs/credentials.json
Run this command and follow the steps to generate a refresh token
YT_CLIENT_ID— from yourcredentials.jsonYT_CLIENT_SECRET— from yourcredentials.jsonYT_REFRESH_TOKEN— from the refresh token command
You can optionally set this if you want to include shorts in the feed:
YT_RSS_INCLUDE_SHORTS=true
go run . generate-feedormise generate-feed
go run . serverormise server
go run . refreshormise refresh
Since this was made to be run on your own, I recommend either pulling the git repo directly where you want to run it, or to push it to your own registry.
I can recommend this guide if you care about running your own registry: https://www.freecodecamp.org/news/how-to-self-host-a-container-registry/
If you're just pulling the repo, an easy way to update is to pull latest changes and then run:
docker compose up --build -d
This was based primarily on this project: https://github.com/beviz/youtube-subscriptions-to-rss-feeds