Skip to content

Conversation

@mtsz-pl
Copy link
Contributor

@mtsz-pl mtsz-pl commented Nov 16, 2025

This PR enhances the existing custom YouTube parsing. It consists of two parts:

  1. using canonical URL

https://www.youtube.com/@rossmanngroup and https://www.youtube.com/c/Jan%C5%9Apiewak1 are both proper YouTube channel URLs, and Miniflux tries to parse them with findSubscriptionsFromYouTube, but fails - because it expects the URL's path to contain either /channel, /watch or /playlist.

Conveniently, YouTube uses <link rel="canonical" href="...">, and this canonical URL is exactly what the parser wants. findCanonicalURL extracts this exact URL. That way we prevent YouTube links to fall through to generic feed parser in findSubscriptionsFromWebPage.

  1. displaying default channel playlists

YouTube has this undocumented feature, where it generates multiple convenience playlist for each channel, using some clever prefixes (details in this SO post).

Now that we catch all YouTube channels correctly, we can automatically display default playlists, making it easier to subscribe only to shorts, live streams, or popular videos.

I'm using this myself a lot, it would be very convenient not to have to remember all these prefixes, and enter them manually. And I assume it's not even obvious for most people such possibility exists.

Screenshot:

yt-pls

Have you followed these guidelines?

@fguillot
Copy link
Member

Interesting idea.

However, is there a way to avoid displaying YouTube feeds that don't actually exist? That could be misleading for some Miniflux users. For example, member-only links appear to return a 404. I'm not sure if the member-only links should be displayed at all. I could be wrong, but I'm assuming that member-only videos are accessible only to logged users on Youtube.com?

@mtsz-pl
Copy link
Contributor Author

mtsz-pl commented Nov 29, 2025

For missing playlists, I tried to fix it with sending HEAD requests to each feed, but the code became too convoluted and complicated, didn't feel right.

To watch member-only videos, user must be logged in to YouTube and a paying supporter of the channel, so very specific conditions. I agree removing member-only playlists is the way to go.

I also removed popular playlists - I'm not sure how they really work, what are the dates of feed items, what order they appear in time, seems to unstable.

@fguillot fguillot merged commit 88f9f27 into miniflux:main Nov 30, 2025
10 checks passed
@mtsz-pl mtsz-pl deleted the yt-pls branch December 1, 2025 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants