Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert into user script #69

Open
mbc07 opened this issue Aug 7, 2019 · 5 comments
Open

Convert into user script #69

mbc07 opened this issue Aug 7, 2019 · 5 comments

Comments

@mbc07
Copy link

mbc07 commented Aug 7, 2019

Any chance of converting the extension into an user script, or maintaining a user script version of the extension that we can simply set up and forget on Greasemonkey/Tampermonkey? This way we can bypass whatever takedown Google/Mozilla can issue to the extension on their respective stores while retaining the auto-update function and also bypassing the annoying "This extension is not listed in the Chrome Web Store and may have been added without your knowledge." every time we open the browser...

@truedread
Copy link
Owner

Possibly. I'll look into it.

@truedread
Copy link
Owner

The extension has finally been accepted onto the Chrome Webstore again, but I'm going to keep this issue open because I think this is a neat little idea in case Google takes it down again.

@DavidBuchanan314
Copy link

DavidBuchanan314 commented Jun 28, 2021

By the way, I've been maintaining a fork (of sorts) which uses regex to dynamically patch playercore, which avoids needing to bundle the whole of playercore with the extension. This technique may be more amenable to userscript-ification (and also, more compliant with chrome webstore policies). It also, in theory, makes the extension self-updating - although in practice, the regexes are fragile and have broken a couple of times.

https://github.com/DavidBuchanan314/Turbo-Recadmiumator

Another technique worth investigating is hooking the browser's json parse/serialise functions, to fiddle with data before/after it passes through MSL - I noticed a language-learning browser extension doing this, to enable additional subtitle/audio options. This has the advantage of not needing to patch playercore at all, and should be more robust to Netflix updates.

@truedread
Copy link
Owner

Very very cool ideas! I appreciate the input, and will definitely be looking into solutions like the one you have provided.

@truedread
Copy link
Owner

By the way, I've been maintaining a fork (of sorts) which uses regex to dynamically patch playercore, which avoids needing to bundle the whole of playercore with the extension. This technique may be more amenable to userscript-ification (and also, more compliant with chrome webstore policies). It also, in theory, makes the extension self-updating - although in practice, the regexes are fragile and have broken a couple of times.

https://github.com/DavidBuchanan314/Turbo-Recadmiumator

Another technique worth investigating is hooking the browser's json parse/serialise functions, to fiddle with data before/after it passes through MSL - I noticed a language-learning browser extension doing this, to enable additional subtitle/audio options. This has the advantage of not needing to patch playercore at all, and should be more robust to Netflix updates.

I would honestly be open to putting a solution like this (regex matching, code mod, runtime eval) into the extension, because the profile list regex matching code wouldn't change unless Netflix made a major MSL change (which they have in the past, about 2 years ago), so that seems pretty consistent. The only thing that I am worried about is the stream selector regex matching, which can change more often. I wonder if there's a better way to match that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants