[YoutubeBridge] Add option to skip members-only videos#5019
Open
polybjorn wants to merge 1 commit into
Open
Conversation
Adds an opt-in checkbox parameter `skip_members_only`, default off. When enabled, items in the lockupViewModel JSON shape that carry a `BADGE_MEMBERS_ONLY` badge are dropped, since they require a paid channel membership to watch. With the option off the feed is unchanged. Only affects the JSON path (when duration_min/duration_max is set); the Atom path relies on YouTube's server-side filtering and ignores it.
Pull request artifacts
last change: Monday 2026-06-29 18:03:58 |
polybjorn
marked this pull request as ready for review
June 29, 2026 18:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an opt-in
skip_members_onlycheckbox, default off. When enabled, videos that require a paid channel membership are dropped from the feed. With it off the feed is unchanged, so existing users see no difference.Members-only videos show up in a channel's listing but can't be played without a membership, so they're noise in a feed reader. This lets people who don't want them filter them out.
The filter has to live in this bridge rather than FilterBridge: membership status isn't in the title or description, only in a
BADGE_MEMBERS_ONLYbadge in YouTube's raw JSON. Members-only items use the lockupViewModel layout (the one parsed since #4982), sowrapLockupViewModelreturns null for any item carrying that badge, which drops it.Only the JSON path is affected (the one used when
duration_min/duration_maxis set). The Atom path already filters members-only server-side and ignores the parameter.Test plan
Ran the bridge locally against a channel that currently surfaces members-only content (LMG, channel id
UCXuqSBlHAE6Xw-yeJA0Tunw) on the JSON path:&skip_members_only=on: 23 items, the 7 members-only videos dropped and nothing else changed.Cross-checked the 7 dropped ids against the
BADGE_MEMBERS_ONLYmarkers in that channel'sytInitialData: exact match.php -lpasses.