Ask HN: Why is YouTube adding “&pp=sAQA” to video URLs?
YouTube started adding a new parameter "pp=sAQA" to video URLs on most index style pages (e.g. /feed/subscriptions, search results, the /videos page on any channel). The actual video pages (/watch) strip the pp= parameter, and it doesn't appear to be added to the URLs for the "recommended" videos.
Does anybody know what this parameter does and/or why it was added? It's really annoying; using YouTube URLs in the shell now requires quoting due to the "&".
73 comments
[ 1.5 ms ] story [ 153 ms ] threadFor example, the param may point to specific time on the video.
Or the param may point that the video is part of some playlist, so that when somebody clicks he is brought not just to the same video but also to same playlist.
As we don't know anything about this particular param we don't know if it is the case.
https://gitlab.com/KevinRoebert/ClearUrls
/edited for fullness
I see it in Explore and in all Subscriptions categories(not Subscriptions feed/subscriptions).
It is also not appended to mixes/playlists for me.
Does show up in Library and History, not in Watch Later and Liked Videos.
Shows up in: Movies & Shows, Gaming, Live, Fashion & Beauty, Learning and Sports.
(I don't know if it's still the case, but I've heard that if you log into YouTube, and Google for some reason decides your real name is not your real name, you could lose access to your whole Google account; and at least to me, the Google Talk account was more important than being able to comment on YouTube videos.)
https://en.wikipedia.org/wiki/Nymwars
It will probably depend on other factors as well such as IP, country, …
Edit: and just now discovered its being added server side. Fetched https://www.youtube.com/youtubei/v1/browse?key=xxx already has &pp=sAQA, makes patching even easier, just donna hijack fetch and strip them in the handler... aaand done:
>Transcend Consent Manager's API
what is that?
>request-override based approach
the idea is to modify those URLs before they get rendered on the page, this way they get applied :visited style in the first place.
A new consent management tool for website owners. We're currently in closed beta. Learn more here: https://transcend.io/blog/defeating-cookie-banners
> the idea is to modify those URLs before they get rendered on the page
These overrides are applied before the URLs are rendered on the page or trigger any requests.
Now I understand. Your product is aimed at corporations seeking more mature? compliance with privacy laws. Sounds like tough market.
I wish there were browser extensions capable to smartly sanitize the history by removing duplicate URLs pointing to the same actual page visited multiple times during the day and/or by via slightly different URLs, removing the specific parameters which can be removed without changing what does the link point to, rearranging the remaining parameters alphabetically, removing GMail and alike useless URLs, also normalizing the entry titles by removing everything but the actual article title (e.g. removing website name or moving it to an uniform place - always the beginning or always the end) etc.
https://help.vivaldi.com/desktop/navigation/history/
The web browser is becoming just a shitty operating system, largely controlled by unaccountable megacorps who are primarily interested not in empowering users but in tracking them and serving them ads.
Perhaps if the web servers served something like QML/XAML/whatever (while other web servers serving just APIs for them to get/post the content) and there was an operating system command to run such an app by its URL, both the developers and the users might have a better experience. Or perhaps worse.
This way we might even have more than one standard competing: QML, XAML and whatever else would emerge (introducing new would be more viable) vs just HTML.
Although not happening for me
But with such a short message and without other samples it's difficult to prove or disprove that this is indeed a protobuf :).
One could try to set &pp=sAQB (bar = true/1), &pp=sAQP (bar = 15), ... and observe what happens.
sets a shell variable, not an environment variable. The value of $foo will not be available to shell-forked processes.
$ youtube-dl https://www.youtube.com/watch?v=dQw4w9WgXcQ&pp=sAQA
In this case, bash would interpret it as "run youtube-dl in the background with the parameter 'https://www.youtube.com/watch?v=dQw4w9WgXcQ', then execute the command 'pp=sAQA' to set the 'pp' variable".
The comment is joking that if YouTube decided to replace "pp=sAWA" with "reboot", they could get a lot of people to accidentally reboot their machines instead because they didn't quote the URL.
https://wikitech.wikimedia.org/wiki/Provenance
I suspect this is a way for them to exclude click metrics, etc. from videos that were not shown as a result of machine learning/lexical analysis/whatever.
I'm sure they've been identifying how videos propagate since forever, but my guess is that they recently decided it would be efficient to add some cryptic-looking parameter (that probably just corresponds to a boolean) to all video links shown on channels, the home page, etc.