hoyois / clicktoplugin

Prevents plug-ins from loading automatically in Safari
http://hoyois.github.com/safariextensions/clicktoplugin/
228 stars 44 forks source link

As of 27 July 2016, Youtube player is blank with CTF installed, no Flash installed #171

Closed vmachiel closed 7 years ago

vmachiel commented 7 years ago

In another issue thread, another users reported the same thing. As of this date, whenever CTF is installed, the youtube player doesn't work anymore. It used to work fine, but now nothing. Is there anyway to get it working again without having to install flash? I like the CTF player so much better.

vmachiel commented 7 years ago

OS 10.11.6, everything is up to date.

swooshswoosh commented 7 years ago

I have the same issue

MarcinSkoczylasQBurst commented 7 years ago

I confirm the problem, just stopped yesterday. I do not have Flash installed (never had and will never have).

vmachiel commented 7 years ago

@hoyois Any ideas on why this may be happening? Something we can do?

hoyois commented 7 years ago

I see this as well, but I don't know how to fix it. One would have to parse YouTube's scripts in the hope of finding a new way to force Flash (and there may not be any). I'll look into it, but it could take a while.

vmachiel commented 7 years ago

Thank you soooo much for taking the time to look into it.

mgldan commented 7 years ago

Thanks for looking for a fix! ClickToPlugin is a main reason why I stay on Safari.

silverdr commented 7 years ago

+1 and would be very happy if that was fixed. I am not a youtube addict but occasionally need some embedded videos here and there. And I still don't want to browse w/o ClickToPlugin..

noelboss commented 7 years ago

Yep

nkurz commented 7 years ago

If I understand it right, the issue is that historically ClickToPlugin tried to force Youtube to serve Flash video, so that it can then substitute it's own viewer: https://github.com/hoyois/clicktoplugin/blob/master/ClickToPlugin.safariextension/killers/YouTube.js

Youtube has been moving away from Flash, and recently changed so that requesting Flash is no longer possible. Until ClickToPlugin is updated, users who try to do so will get an empty black box. The easiest fix is to disable or uninstall ClickToPlugin, but this turns the web back into a painful place.

The best current compromise is to disable ClickToPlugin just for Youtube, but because of the "Force Flash" hack, this requires multiple steps and it might not be obvious what these are. In case explicit directions help someone else:

1) Open ClickToPlugin Preferences by right-clicking on a blank area of any page and selecting it (or access from Safari/Preferences/Extensions).

2) Choose "General" at the top of the ClickToPlugin Preferences pane, and then remove "killers/YouTube.js" from section "Plugin to HTML5 Conversion Scripts". If you somehow mess up, you can put start again by clicking "Use Default".

3) Choose "Control Lists" at the top of the ClickToPlugin Preferences pane, and then add "www.youtube.com" to the section "Allow plugins on these sites". Make sure that "invert lists" is not clicked.

5) There is no "Save changes" or confirmation after you change the preferences --- simply close the ClickToPlugin Preferences pane when you are done.

6) Restart Safari. Probably this step can be avoided by clearing caches, but simply reloading the Youtube page is not sufficient.

This works for me, and perhaps it will help someone else. If there's a better workaround, perhaps someone who understands the details better than I can post it. Marc: thanks for making this great software!

vmachiel commented 7 years ago

The issue was made in hopes of finding a way to get the CTF player working on youtube again. We know how to disable it for youtube only. We just like the CTF player way better since it's not cluttered and buffers the whole video etc.

silverdr commented 7 years ago

We just like the CTF player way better since it's not cluttered and buffers the whole video etc.

Precisely.

nkurz commented 7 years ago

We know how to disable it for youtube only.

Absolutely. I presume most people who have commented before me understand the issue and have something that works for them. But without a simplified summary and explicit instructions I found the process more difficult than I expected, and until then I was just disabling the ClickToPlugin entirely when I needed to view something on YouTube.

My comment was directed at outsiders like me who were confused by the interaction with #170 and the unspoken need to restart. My hope was that clear directions would hold off the hordes (like me) while the experts (non-sarcastic) figure out a fix. If there is a better workaround, or if my summary is wrong, perhaps one of you could edit it?

hoyois commented 7 years ago

Someone pointed out to me that one can force Flash manually by appending &nohtml5=1 to YouTube URLs, which can be done with the bookmarklet

javascript:(function()%7Bwindow.location.search+='&nohtml5=1';%7D)()

hoyois commented 7 years ago

I updated the YouTube killer with a fix:

https://raw.githubusercontent.com/hoyois/plugin-to-html5/master/YouTube.js

vmachiel commented 7 years ago

Thank you so much! Will this auto update or do I update the plugin or how does this work?

hoyois commented 7 years ago

I cannot update the extension anymore. You have to manually replace the internal YouTube.js URL by the above URL in CTP's preferences (you can also download the file and put it on your local server).

vmachiel commented 7 years ago

Ok thank you I'll try that tomorrow! (Night where I live)

RobFog commented 7 years ago

Manually replacing the URL works. Thank you.

silverdr commented 7 years ago

You're a hero, Marc. Thanks.

swooshswoosh commented 7 years ago

Thank you, Marc!!!

ghost commented 7 years ago

Sorry for being dense...where in CTP prefs would one replace the YouTube.js file? I downloaded the updated js file...but can't see how one would edit the existing killers/YouTube.js file.

I tried opening the ClickToPlugin.safariextz file...I thought these were Packages, so no dice.

thx PP

ghost commented 7 years ago

Never mind...figured it out. Thanks!!

vmachiel commented 7 years ago

Since the plugin can no longer be updated, I propose leaving this issue open so people see it and see the solution.

inket commented 7 years ago

Why can't it be updated again?

hoyois commented 7 years ago

@inket I don't have the certificate required to compile Safari extensions. It used to be free, but not anymore.

SlapMyFanBoy commented 7 years ago

"I cannot update the extension anymore. You have to manually replace the internal YouTube.js URL by the above URL in CTP's preferences (you can also download the file and put it on your local server)."

Well, I am dense and likely have no business messing around with this as I haven't figured out how to manually replace the url. I just end up with a URL in the list of conversion scripts and have to now ALLOW Flash on youtube or I just a grey screen plus I have to keep the old killer as well. Previously, as this problem arose, I had to unfortunately install Flash but I could keep it completely blocked as a plug-in in Safari's Security pane. Originally I didn't even have Flash installed but CTP worked wonderfully.

If I ever figure this out I should be able to uninstall Flash - correct? I like CTF for the ease of controlling Youtube's autoplay. It let's me stack dozens of vids to watch as necessary (think tutorials) without having them all playing at once - A big help when resources are low.

Also - Is the August10, 2016 XHR killer the same as the one above?

silverdr commented 7 years ago

Well, I am dense and likely have no business messing around with this as I haven't figured out how to manually replace the url.

Set all to defaults, then the first one on the list of javascript killers is the youtube killer. Remove it and replace with the URL in question, done. Here is how it looks: screen shot 2016-08-18 at 13 13 34

silverdr commented 7 years ago

@hoyois - How much does the certificate cost? Maybe the community could "crowdsource" one for you?

vmachiel commented 7 years ago

Not the developer, but you need to enroll into Apple's developer program, which is 99 dollars per year if I'm not mistaken.

inket commented 7 years ago

Yep, pretty sure you could get that $100 in a few days if you setup donations. Plenty of open source developers do it. I pledge $10

sjkx commented 7 years ago

Also - Is the August10, 2016 XHR killer the same as the one above?

Nope. The ClickToPlugin HTML5 replacements page says Alternative to YouTube.js and both killers were updated on August 10, 2016. Download and compare the JavaScript… or look at it in https://github.com/hoyois/plugin-to-html5? 😄

vmachiel commented 7 years ago

So youtube changed something again... doesnt seem like the plugin works anymore. Anyone Else seeing this?

hoyois commented 7 years ago

@vmachiel The new killer still works here...

MarcinSkoczylasQBurst commented 7 years ago

I confirm the youtube killer does not activate on my Safari too - it was OK few days ago after the recent fix. Now Youtube displays a standard Youtube player, not the ClickToPlugin. I do not have Flash installed, running Safari 9.1.2.

vmachiel commented 7 years ago

@hoyois I works again. The problem was: I was A/B tested for their new material design, luckily I could switch back. Whatever changes they made, broke the plugin again. So when they eventually switch over, I fear we're out of luck.

SlapMyFanBoy commented 7 years ago

Set all to defaults, then the first one on the list of javascript killers is the youtube killer. Remove it and replace with the URL in question, done.

Thanks silverdr. This is what I was doing. Using the first updated killer YT would auto-load and auto-play what appeared to be the standard HTML5 player regardless whether Flash was installed or not. It didn't matter what my preference settings were in CTP. No placeholder. No source selector. No happy.

So I went back to the old killer, installed Flash, and have Flash under the "Block" setting in Safari's plug-in pane for all sites (except Comedy Central). I currently have full CTP control on YT EXCEPT when a video is accompanied by a playlist which now gives me the grey placeholder screen (!). The only way to see said videos is by "trusting" youtube.com with the Flash Player plug-in so I work around that by manually searching out the playlist videos and loading them one at a time in order in their own tab/browser windows. Not ideal when the playlists are large.

p.s. - I'm not up to date here. Using Safari 8.0.7 on 10.10.4.

@hoyois - I'm in for $20. I've really appreciated CTP.

MarcinSkoczylasQBurst commented 7 years ago

Interesting... I did not change anything and now it works. Maybe some configuration change at YT that was reverted.

hoyois commented 7 years ago

@SlapMyFanBoy Can you send a link to such a playlist? Usually the killer behaves differently on YouTube playlist pages and it might take a bit longer for the grey placeholder to transform into an HTML5 one.

SlapMyFanBoy commented 7 years ago

Sure.

https://www.youtube.com/watch?v=bWTHbGu8JSY&list=PL654EE961DE7EA067

hoyois commented 7 years ago

This works as expected for me, CTP loads the whole playlist.

homedotorg commented 7 years ago

I replaced the file on my system with the YouTube.js file but now instead of a blank box in YT, it comes up for a few seconds and then turns into a blank box again.

(If there will be a crowd funded developer fee of $99, I'd be up to chip in $20 too.)

Down10 commented 7 years ago

I have gotten ClickToPlugin working again in Safari 10, but it involves running the Flash plug-in. But don't worry — you can manually choose which sites can run the Flash plug-in, and for me, ClickToPlugin is working as intended for sites like YouTube, etc.

I detailed my steps to get it working again at the GitHub Issues page here: https://github.com/hoyois/clicktoplugin/issues/175#issuecomment-249767232

Hope this helps!

oesterle commented 7 years ago

I can chip in $50. Thanks for the amazing software, @hoyois !

silverdr commented 7 years ago

Add my $10 and if everyone keeps the promise and the price is in fact $99 then we are already in. What do you say, Marc?

oesterle commented 7 years ago

$99 is a good start, but why stop there? I'd love to see Marc @hoyois get some basic sponsorship to support his craft and expertise. Either Indiegogo or Kickstarter would be a good place to rally support for a new version, and measure interest in making it an ongoing effort.

silverdr commented 7 years ago

My guess is that Marc doesn't want to pay out of ethical/ideological reasons rather than out of not being able to afford the price. And guess what? I fully understand this attitude! That's why I suggested that the community can possibly pay it and whatever Marc's reasons are - he would no longer be bound by them. In any case - it's Marc's say, not ours ;-)

hoyois commented 7 years ago

Thanks for your offers to help, but as @silverdr guessed I would not enroll as a developer even if it made a difference. But the truth is, it wouldn't make much of a difference right now: if we ignore the html5 replacement scripts (which were designed as add-ons for a reason!), the extension just works. It has worked for many years now, and it will keep working until the deprecated beforeload event is removed from the Javascript core. And I am still maintaining the YouTube script, whose main function is now ironically to force Flash on YouTube...

sjmagy commented 7 years ago

This seems to have broken for me in Safari 10 on OS X 10.11.6 after the latest Flash update from Adobe (NPAPI plugin 23.0.0.185), even with the updated killer script from hoyois on August 10. I no longer get ClickToPlugin's video player but YouTube's default html one.

Under security > plugin settings, I have Flash set to "Ask" as the default. For YouTube, if I leave it as "Ask" or "Off", YouTube gives me a black rectangle with Apple's gray button overlay "Click to use Flash". Toggling Safari's plugin security setting to "on" for YouTube gives me YouTube's default HTML video player. I'm a sad panda; I much preferred ClickToPlugin's native video player.

Am I missing something?

mrkapqa commented 7 years ago

Just freshly installed ElCapitan i found that no remedy works for QTP to open YouTube because Safari 9 won't recognise Quicktime Plugin 7.7.1 under the Security/AllowPlugins/Plugin-Settings ... it does however recognise Quicktime Plugin 7.7.3 which i then can allow

  1. to run in Unsafe Mode
  2. use new Killer for Youtube
  3. change UserAgent for Safari < 9

so that it would load the PlaceHolder for QT-Plugin, but QTP 7.7.3 is not able to load the video .

screen shot 2016-12-31 at 12 26 27

my understanding is that as long in the Security Tab of Safari QTP 7.7.1 does not show up, it won't be possible to use Quicktime Player for Playing Youtbe as wished. Flash player however works; Probably one would need to change something in the Quicktime 7.7.1 Plugin to make it look like as it is Quicktime 7.7.3 so that safari could accept it. I would also be ready to pay for this accomplishment. Thanks and Happy New Year.