wexond / browser-base

Modern and feature-rich web browser base based on Electron
https://wexond.net
2.68k stars 406 forks source link

Add Widevine support #175

Open sentialx opened 5 years ago

sentialx commented 5 years ago

This will allow to play songs on Spotify and videos on Netflix. I've sent an email to Google about Widevine plugin but they didn't seem to respond. #174

torstenhoegel commented 5 years ago

Hey there, I have been following the issue with the Widevine encryption thingy for a while now ... does this maybe help?: https://electronjs.org/docs/tutorial/testing-widevine-cdm

sentialx commented 5 years ago

Yeah, but I have to get it somewhere without licensing issues. Google doesn't want to publish the plugin for everyone.

torstenhoegel commented 5 years ago

Hmm ... I don't get google's policies about such stuff ...

bsak2003 commented 5 years ago

Yeah, but I have to get it somewhere without licensing issues. Google doesn't want to publish the plugin for everyone.

Any progress with Widevine?

PS: I suggest you using an older version of Widevine CDM (like a Firefox, which uses 4.10.1146.0 instead of latest 4.10.1196.0 used by Chrome/Opera) because of the latest version drop frames in some cases. But anyway, you need a license from Google in the first place :C

sentialx commented 5 years ago

What comes to my mind is Wexond could download widevine from Google. As I can see it's legal.

bsak2003 commented 5 years ago

What comes to my mind is Wexond could download widevine from Google. As I can see it's legal.

I think you will only need a certification when Wexond will be finished. But I am not sure :)

and you're thinking about downloading Widevine CDM (excatly files widevinecdm.dll & widevinecdm.dll.sig) directly from Google? I'm sure that Mozilla Firefox does the same because when I open netflix.com on FF, I got "Firefox is downloading Google Widevine CDM" notification.

samuelmaddock commented 5 years ago

@sentialx You'll want to read electron/electron#12427 and my blog post about the response I received. Verified Media Path (VMP) will soon be an enforced requirement which will prevent browsers from simply including the Widevine binaries.

sentialx commented 5 years ago

@samuelmaddock So what are the possible solutions as for now? I've wrote an email to widevine-support@google.com this time instead of widevine@google.com.

sentialx commented 5 years ago

Update, their bot responded to me with this email

Hello,

It appears you have attempted to contact this alias directly. All direct emails to this alias will not be responded to. Instead, please visit us below to find the appropriate contact form:

http://www.widevine.com/contact.html

Thank you,
The Google Widevine Team

But the link to their contact form doesn't work either.

EDIT: Here I've found the updated contact form: https://support.google.com/widevine/troubleshooter/6027072

samuelmaddock commented 5 years ago

The only solution I know of is to somehow complete the agreement with Widevine. This may require incorporating a company and/or a closed source project, I'm not entirely sure as they weren't clear in their responses to me.

I'm abandoning Electron in my own project and moving to a web app with a required browser extension.

bsak2003 commented 5 years ago

The only solution I know of is to somehow complete the agreement with Widevine. This may require incorporating a company and/or a closed source project, I'm not entirely sure as they weren't clear in their responses to me.

I'm abandoning Electron in my own project and moving to a web app with a required browser extension.

So how Mozilla include Widevine CDM into a Firefox? I've checked and Firefox automaticaly downloads Widevine when I'm opening open.spotify.com or netflix.com - even on self-compiled (from their Mercurial repo) browser.

tongdu99 commented 5 years ago

Brave browser can prompt to install widevine extension. After unblock the guard, it can play netflix video successfully. So it seems like it should work for other open source browser.

sentialx commented 4 years ago

Currently Widevine doesn't work in the newest versions of Electron: https://github.com/electron/electron/issues/20211

Maybe somewhere in the future I will be finally able to obtain the license from Google...

radicaldrew commented 4 years ago

Not sure if this is still relevant but I was able to get Widevine support working including Netflix by using a custom electron build. I could either provide a pull request or instructions.

oscartbeaumont commented 4 years ago

@radicaldrew If you got it working it would be awesome to see how you did it as I have a similar problem to this one with my app ElectronPlayer which is similarly based on Electron. I have it working in Linux using the Castlabs electron fork with the default Widevine development certificate but am unable to get anything Electron-based to work on Mac although my other project NativeKit is looking like the next best option if I can find the time to continue its development.

radicaldrew commented 4 years ago

I have actually switched to the castlabs electron now and it already has the widevine certs built in. Unless you can figure a way to check if the OS has chrome installed and copy and past the files this seems like the best option.

tarob0ba commented 3 years ago

This is late (sorry for the bump), but I have been able to get Widevine working in Wexond (Netflix and Spotify work!) by using the castlabs fork of Electron and their EVS signing, which is free and takes two minutes to set up. I'm happy to share details if that helps.

jtpotato commented 3 years ago

Not sure if this is still relevant but I was able to get Widevine support working including Netflix by using a custom electron build. I could either provide a pull request or instructions.

@radicaldrew

Instructions would be useful, was planning on forking the electron version of wexond to continue development.