TL;DR; a minimal Youtube RSS feed viewer in your browser. There is no adds, no cookie*, no registration, no authentication, only the RSS content.
See YouRSS on Desktop and YouRSS on Mobile
Youtube RSS viewer is a simple service to browse the latest videos from Youtube channels you want. You don't need a Youtube account to suscribe to channels, simply browse the latest videos by fetching the RSS feeds in a single page. No adds, no suggested videos, just the content you choose.
In social medias like Youtube, the keyword is share, I personnally think RSS feeds are a pretty good way to share content, it has been for decades. Youtube RSS feeds let users choose how they want to see videos, with the app they want.
I simply wrote a minimal RSS client webapp for web browsers.
- view the last 15 videos published by channels you like in a minimal page
- no account needed, simply add the channels you like to the URL (example https://yourss.domain.tld/@jonnygiger,@berrics)
- on a page with several channels, you can choose to show/hide one or another, you can sort videos by published date
- you can mark videos as read so that on the next visit, you quickly see the new videos
- you can have user pages and you can configure which associated channels
- support light and dark themes
- you can choose the behavior when you click on the video thumbnail:
- open a modal dialog with the player (default)
- the player will replace the thumbnail
- open a new tab with the video
First, you need Poetry, see installation documentation:
$ git clone https://github.com/essembeh/YouRSS
$ cd YouRSS
$ poetry install
$ poetry run -- dotenv run fastapi dev yourss/main.py
# or if you use just
$ just run
Then visit http://localhost:8000/
Using Docker you can run the latest image build on the latest commit:
$ docker run -d --name yourss -p 8000:8000 ghcr.io/essembeh/yourss:main
Then visit http://localhost:8000/
You need an access to a Kubernetes cluster and helm
tool installed.
# add the helm repository
$ helm repo add yourss https://essembeh.github.io/YouRSS/
# get the values.yaml
$ helm show values yourss/yourss > myvalues.yaml
# edit the values for your needs
$ vim myvalues.yaml
# install release
$ helm install my-yourss yourss/yourss -f myvalues.yaml
Note: you need to add an Ingress to access the Service from outside your cluster.
You can then forward the service to test it:
$ kubectl port-forward service/my-yourss 8000:http
Then visit http://localhost:8000/
YouRSS can be configured using environment variables.
YOURSS_DEFAULT_CHANNELS
: defines the default channels to displayYOURSS_CLEAN_TITLES
: if set totrue
, videos titles are cleaned to prevent UPPERCASE TITLESYOURSS_THEME
: choose betweendark
andlight
Bootstrap themes (default islight
)YOURSS_OPEN_PRIMARY
: choose the action when you click on a thumbnail, can beopenEmbedded
,openTab
oropenModal
, default isopenModal
YOURSS_OPEN_SECONDARY
: choose the action when you click on the bottom right icon, can beopenEmbedded
,openTab
oropenModal
, default isopenTab
LOGURU_LEVEL
for logging level
Note: channels can be Youtube username (like
@JonnyGiger
) or directly a channel_id (24 alnum chars) likeUCa_Dlwrwv3ktrhCy91HpVRw
, to provide a list, use a coma between channels
See .env
for example.
You can create user pages with as many channels as you want, user pages are easier to type or remember. For example you can have http://my-yourss-instance/u/skate with some channels configured instead of bookmarking http://my-yourss-instance/@jonnygiger,@berrics
To configure users:
- set
YOURSS_USERS_FILE
and point to a YAML file where you'll declare your users - see sample
users.yaml
for example - user page can be protected by a password (configurable using plain text passwords or argon2 hash)
- you can browse a single channel with:
http://yourss.local/@jonnygiger
- you can browse multiple channels in a single page:
http://yourss.local/@jonnygiger,@berrics
- the original RSS feed can be access at
http://yourss.local/api/rss/@jonnygiger
- you will be redirected to the channel avatar with
http://yourss.local/api/avatar/@jonnygiger
- if you defined somes users, for example
demo
, the page can be accessed athttp://yourss.local/u/demo
Note: replace
yourss.local
with the URL of your YouRSS instance.
Special thanks to the amazing python frameworks: FastAPI, asyncio, httpx and Pydantic
- Youtube player API: https://developers.google.com/youtube/player_parameters