zerodytrash / Simple-YouTube-Age-Restriction-Bypass

A simple browser extension to bypass YouTube's age verification, disable content warnings and watch age restricted videos without having to sign in!
MIT License
2.17k stars 94 forks source link

Embedded videos not being unlocked [Greasemonkey] #94

Open SephirothWS opened 2 years ago

SephirothWS commented 2 years ago

Test video: https://forums.warframe.com/topic/1286241-thanks-for-watching-prime-time-292/#comment-12332841

Still forced to watch on Youtube despite installing Tampermonkey Greasemonkey & the userscript on Firefox 93.

image

zerodytrash commented 2 years ago

Works fine for me. Maybe youtube behaves differently for you. Depending on the country, youtube enforces different restrictions. Can you try debugging the script to find out what the problem is in your case? i can't reproduce it.

image

SephirothWS commented 2 years ago

How would I debug the script? Total newb to this.

Nevermind, I'm an idiot, I thought I was using Tampermonkey, turns out I was running greasemonkey instead. ... Been meaning honestly to migrate over to Tampermonkey, so I just exported->imported from one to the other, and the script is operating in Tampermonkey like you say. ... ... Guess I found a problem with Greasemonkey for Firefox, ... but as a not-so-technical-saavy user with zero knowledge and experience with Javascript, I cannot for the life of me figure out how I would debug this in Greasemonkey.

zerodytrash commented 2 years ago

Okay, i was able to reproduce this bug in Firefox + Greasemonkey. Thanks for reporting.

drunkwinter commented 2 years ago

Seems like we either don't have access to the window object or we somehow run before the iframe has loaded the window object.

ghost commented 2 years ago

The above mentioned video runs correctly, handled here with the Simple YouTube Age Restriction Bypass script ver. 2.4.6, managed by Violentmonkey.

Have you tried setting hereafter to false (default=true) ?

// User needs to confirm the unlock process on embedded player?
const ENABLE_UNLOCK_CONFIRMATION_EMBED = false;

In my case false is required for age-restricted embedded YT videos, otherwise the script doesn't make it. Also, if you're a uBlock Origin user you may need to add to My Rules (depending on your uBO settings):

youtube.com phx.4everproxy.com * noop
youtube.com youtube-proxy.zerody.one * noop
trlkly commented 2 years ago

It looks like you at least attempt a workaround for in the userscript, by injecting the code into eval. Did that not fix the issue?

If not, then what about more standard techniques such as using either @grant unsafewindow or wrappedJSObject? I usually see most scripts start with

let window = window || unsafeWindow || window.wrappedJSObject
zerodytrash commented 2 years ago

It looks like you at least attempt a workaround for in the userscript, by injecting the code into eval. Did that not fix the issue?

Nope.

If not, then what about more standard techniques such as using either @grant unsafewindow or wrappedJSObject? I usually see most scripts start with

I will try it out. Thank you.

JVSkellington commented 1 year ago

This worked for reddit, at least with the old style interface activated, didn't tested with the new one. image

drunkwinter commented 1 year ago

This issue has been here for 5 years and there is absolutely nothing we can do about it. See https://github.com/greasemonkey/greasemonkey/issues/2574

I do not think this will be fixed anytime soon on Greasemoney's side. Also the extension hasn't been updated in over 2 years now. The best we can do is drop support and encourage people to use other managers out there. We could also finally get rid of the hacky eval injection that we currently use. Just an opinion.

tsilvs commented 1 year ago

@drunkwinter which alternative managers do you recommend? Violentmonkey maybe?

drunkwinter commented 1 year ago

@drunkwinter which alternative managers do you recommend? Violentmonkey maybe?

Tampermonkey and Violentmonkey are pretty good. There are probably more out there which are new and updated regularly. Personally I use Violentmonkey.

lbmaian commented 1 year ago

On Chrome and Tampermonkey, I had to set ENABLE_UNLOCK_CONFIRMATION_EMBED to false for this to work in embeds. Considering I'll have to do this every time this script updates, can this flag effectively always be false by default for embeds?

drunkwinter commented 1 year ago

On Chrome and Tampermonkey, I had to set ENABLE_UNLOCK_CONFIRMATION_EMBED to false for this to work in embeds. Considering I'll have to do this every time this script updates, can this flag effectively always be false by default for embeds?

This sounds like some other bug. Could you file a bug report please? Would like to take a look at it.

lbmaian commented 1 year ago

Sorry false alarm - the "click to unlock" was being overlapped by "more videos on youtube" cards. So I suppose it's an issue for small enough embeds where those cards appear.