Synzvato / decentraleyes

This repository has a new home: https://git.synz.io/Synzvato/decentraleyes
Mozilla Public License 2.0
1.45k stars 96 forks source link

Release a beta of the Firefox WebExtensions port #173

Closed Bisaloo closed 7 years ago

Bisaloo commented 7 years ago

If I got it right, the webextension port is ready or close to be since you released a chromium version of decentraleyes.

I think you should release a beta before the official release of Firefox 57. HTTPS-Everywhere just did this and the firefox and chromium API are apparently different enough to cause some issues.

I believe many followers of this github repo would be happy to help you test it.

ghost commented 7 years ago

No hurry. WebExtension is by itself a pain in the neck, moreover it won't be mandatory before Firefox 57, next November. Hence, November 2017 is the only milestone, otherwise, while we're at it, why not ask developers to update their add-ons to Nightly builds? Well, some users do, some users even score badly an add-on because it's not alpha-compatible! Hey: carpe diem! one thing at a time, please, mercy!

heubergen commented 7 years ago

I think FF57 Beta should be targed as goal to port this extensions to WE and this would be the 2017-09-26.

uniquePWD commented 7 years ago

56 would be better as the target (basically what's on Nightly now) so that there's enough time for testing and catching any bugs.

welwood08 commented 7 years ago

If the configuration of existing legacy users is to be kept and imported to any webext version, the only way to do that is with a hybrid version that embeds a transitional webext to copy existing settings into webext-accessible storage. This must be done before FF57 (because the hybrid won't be able to load at all in FF57).

Bisaloo commented 7 years ago

I think some of the reasoning here is flawed. The FF and Chromium WebExtensions implementations are still pretty different. It is very likely that there will be bugs to fix.

What we don't know is how much time it is going to take to fix them. So the safest bet is to release the beta as soon as possible. The sooner bugs are reported, the longer @Synzvato (or anyone willing to help) will have to fix them.

Otherwise, we may possibly end up with no working decentraleyes when FF 57 comes out and it would be a shame.

ghost commented 7 years ago

[...]we may possibly end up with no working decentraleyes when FF 57 comes out and it would be a shame.

That would be no working decentraleyes on Firefox. There are alternatives to Firefox. I have in mind Waterfox if it manages to carry on legacy add-ons after Firefox 56.

Decentraleyes is a major add-on, it is for me together with a few others, not for cosmetics but for privacy and security. Should any of those add-ons not be available (sometimes because not technically feasible) that I'd move to a Firefox fork. And I won't be the only one.

ke-d commented 7 years ago

https://addons.mozilla.org/en-US/firefox/addon/local-cdn-webextension/

I tested this and in my limited testing, it has some problems of its own, but someone else might have better luck.

heubergen commented 7 years ago

@mrdokenny Thanks for the effort but if you just repacked the chrome sources I can tell you that your not the first one that tried that :) If there more I think @Synzvato would be more than happy to merge it. The Extensions seems not to work at all (https://decentraleyes.org/test/) so I think you can just delete it again :)

ke-d commented 7 years ago

@heubergen I think you are under the impression that this is my extension, but it's not. It's something I found on the mega list of WebExtension alternatives.

https://www.reddit.com/r/firefox/comments/6i1fu2/webext_equivalents_to_legacy_addons/

heubergen commented 7 years ago

Oh sorry, my bad.

Synzvato commented 7 years ago

@mrdokenny @heubergen Thank you for looking into this fork, but it is indeed broken. It has since been removed from the list of WebExtensions equivalents, and is no longer publicly listed on AMO.

I'm actively working on porting the add-on over to Firefox 57, but doing so is more complicated than I hoped. I'm aiming for a stable release on September 1st. If the release deadline cannot be met, Mozilla will no longer longer be marking this extension as featured on AMO. It all depends on the possibilities.

The first alpha (or beta) will be made available as soon as there a working prototype. I'm happy to see that there's a lot of interest in this release, and I'll be sure to keep you all posted. Any suggestions or ideas are welcome! Please know that the development of the WebExtensions port has top priority.

Synzvato commented 7 years ago

The September 1st deadline is now less than one month away, but things are looking up. I'm convinced a WebExtensions port is feasible, and hope to be able to release the beta within the next two weeks.

uniquePWD commented 7 years ago

Thank you for all of your hard work and effort @Synzvato. I would recommend that you keep an eye on https://bugzilla.mozilla.org/show_bug.cgi?id=1347507 as at least one of the module owners of Mozilla has said they're going to be aggressively ripping out XUL compatible components as of yesterday.

ronjouch commented 7 years ago

Today August 11 is the day for users running Nightly: PSA: Legacy extensions disabled by default on Nightly.

gitarra commented 7 years ago

@ronjouch This addon was already broken since version bump to 57.

ronjouch commented 7 years ago

@ronjouch This addon was already broken since version bump to 57.

No it wasn't, I was using Decentraleyes until today. (And to be totally precise, Legacy addons are still usable if you flip extensions.legacy.enabled in about:config). I was just mentioning the mailing-list announcement to share the moving WebExt-only train has arrived to the next station, in case some users are surprised by this 🙂.

darnir commented 7 years ago

@gitarra It indeed was still working. In fact, I don't have today's nightly and Decentraleyes is working for me.

Since this is the very last legacy addon I have, it would be really nice if a useable beta was already out for us to convert.

Synzvato commented 7 years ago

Thanks, @ronjouch, @gitarra, and @darnir. Does the legacy extension pass the testing utility checks? Expect a Firefox 56 and 57 compatible WebExtensions beta within the next few days.

ronjouch commented 7 years ago

@Synzvato

"Does the legacy extension pass the testing utility checks?"

Nope. With the legacy extension installed (manually enabled through extensions.legacy.enabled) and a restart, the test util says:

Your browser was able to connect to a blacklisted CDN.
Decentraleyes is not working as intended.

"Expect a Firefox 56 and 57 compatible WebExtensions beta within the next few days."

Awesome! Thanks for your work!

Synzvato commented 7 years ago

Awesome! Thanks for your work!

@ronjouch You're very welcome, and thank you all for your support and general enthusiasm!

darnir commented 7 years ago

For me it does pass the utility check. I have Decentraleyes along with uMatrix running.

uniquePWD commented 7 years ago

It doesn't pass for me on three mobile devices and a two different laptop profiles running 57.

Synzvato commented 7 years ago

@darnir @sabret00the It shouldn't pass any tests within Firefox 57, since a couple of essential legacy APIs have been stripped from its codebase. So, this is where things end for the legacy add-on.

Synzvato commented 7 years ago

The second beta is now available. This means that if you are currently using Firefox Beta or Nightly, you can start using the WebExtensions port today. Feedback is welcome, so feel free to get in touch.

Note: If you experience any kind of problems, please make sure you are using the very latest versions of Firefox Beta or Nightly before filing a bug. Be sure to install any available Firefox updates.


Special thanks go to Mozilla's Rob Wu, for his valuable support during the porting procedure. Also, many thanks to everyone close to me, who supported me on a personal level.

I would also like to thank all contributors and users that keep this project alive, and am looking forward to hearing your thoughts on the new codebase. Please don't hesitate to leave feedback!

EchoDev commented 7 years ago

Thanks for all the work @Synzvato

I wonder if the packed XPI version would work on stable (FF55). Does FF55 have all the API's needed for the webextension version to work?

Last time I checked you could easily sign extensions on AMO if you handle the distribution on your own. I might give it a try if FF55 is able to use the webextension version.

edit: Unless I did something wrong it doesn't seem to work FF55. The extension does load, but it fails the test on the Decentraleyes homepage. (tested packed and unpacked)

I guess I will wait for FF56 to pop up.

ronjouch commented 7 years ago

w00t 👍. I confirm 2.0.0-beta1 installs fine on Nightly 57.0a1 (2017-08-16) with the above procedure and prefs, and the test page confirms "Decentraleyes is fully operational".

SocietasEvanescentes commented 7 years ago

Thank you so much for this!

Radagast commented 7 years ago

I haven't had a chance to install the webextension version yet, however, on Nightly, the legacy version still reports being "Fully Operational" with extensions.legacy.enabledset to true.

I'll try and get to the webext later today.

Radagast commented 7 years ago

Update: Webextension seems to be working fine.

Quick question, are there any rule updates for uMatrix with this release?

Thank you for this :)

Synzvato commented 7 years ago

Unless I did something wrong it doesn't seem to work FF55. The extension does load, but it fails the test on the Decentraleyes homepage. (tested packed and unpacked)

@EchoDev You're very welcome, and thanks for sharing your personal findings! Firefox 55 does indeed lack some cutting edge features that this WebExtensions port needs to properly inject resources.

I confirm 2.0.0-beta1 installs fine on Nightly 57.0a1 (2017-08-16) with the above procedure and prefs, and the test page confirms "Decentraleyes is fully operational".

@ronjouch Great to hear that it's completely working on your side, and thanks for sharing!

Thank you so much for this!

@t-kitsune My pleasure, thanks for trying out the beta!

I haven't had a chance to install the webextension version yet, however, on Nightly, the legacy version still reports being "Fully Operational" with extensions.legacy.enabled set to true.

@Radagast That's interesting. Perhaps some breaking changes only affect specific platforms.

Webextension seems to be working fine [...], are there any rule updates for uMatrix [...]?

@Radagast Good to hear. Decentraleyes serves as a last layer of defense for requests that would otherwise be sent off to a Content Delivery Network. So, when using this extension alongside uMatrix (or any other kind of content blocker), just stick with the policies you feel most comfortable with.

Since the FAQ-entry on this is a tad outdated, confusing, and only explains how to loosen your current blocking policies (to be able to configure blocking rules through Decentraleyes), I will be sure to rewrite it before this port turns stable. In fact, I'll be revising a lot of the existing documentation.

[...] Thank you for this :)

@Radagast You're welcome, many thanks for the feedback!

Bisaloo commented 7 years ago

I could install it without any issues on nightly following your instructions. It works fine according to the testing utility.

However, it looks like DNS requests for the CDN (ajax.googleapis.com in this case) are still going through. I can't remember if this was already the case before and if this is known/intended behaviour.

Synzvato commented 7 years ago

However, it looks like DNS requests [...] are still going through.

@Bisaloo Even if this were the case, these requests would not end up at the CDN in question, but at the DNS provider you already entrust with looking up the address of the actual domain you're visiting.

Please see related issue #98 for more details, and feel free to weigh in on the discussion.

Bisaloo commented 7 years ago

@Synzvato, after looking at it more, I think it's more than DNS requests going through. I sent you an email. Let me know if you can reproduce.

Synzvato commented 7 years ago

[...] after looking at it more, I think it's more than DNS requests going through.

@Bisaloo Please create a new issue if you think your web browser is sending out more than just DNS requests, so we can continue the conversation there. Thanks in advance!

uniquePWD commented 7 years ago

The Firefox bug that blocked the release of this on the developement channel on AMO landed and so as from the next Nightly release, the packed version will work.

See the Bugzilla bug for more details: https://bugzilla.mozilla.org/show_bug.cgi?id=1390346

Synzvato commented 7 years ago

[...] I sent you an email. Let me know if you can reproduce.

@Bisaloo I have created a new issue that's dedicated to your findings. It contains detailed information on the bug, and explains the recently implemented solution. Thanks again for sharing your concerns.

This issue affects any early adopters of the beta who have network prediction set to enabled, and are not using content blockers (e.g. uBlock Origin) that automatically disable this feature by default.

tukoz commented 7 years ago

@Synzvato thank you for the continous efforts you're putting it; I bet you deserve the « stakanovitch » badge amongst FF add-ons I follw at least ;)

Question: On Nightly 57.0a1 i686 after I followed the instructions above, FF throws me a « Add-on corrupted; can't install ». Some one please help me find what I'm doing wrong? Have downloaded the .zip archive from the project Master and changed its extension to .xpi. Thank you for a possible fix to this.

uniquePWD commented 7 years ago

So the Mozilla bug has now been marked fixed meaning that no unpacking needs to be done. So you shouldn't have to worry any more @tukoz as I'm sure that when @Synzvato gets time, he'll upload the WebExtension to AMO and it should work out of the box.

Synzvato commented 7 years ago

[...] thank you for the continous efforts you're putting it; I bet you deserve the « stakanovitch » badge amongst FF add-ons I follw at least ;)

@tukoz Thanks, hehe. I'm very happy to hear you appreciate the work that's going into this!

Some one please help [...] Have downloaded the .zip archive from the project Master and changed its extension to .xpi. Thank you for a possible fix to this.

When you download the code as a .zip archive, the contents reside inside of a subfolder. Make sure that the actual project files are in the root folder of your extension package. I hope this helps!

So the [...] bug has now been marked fixed [...]. I'm sure that when [the author] gets time, he'll upload the WebExtension to AMO and it should work out of the box.

@pwd-github Thanks for keeping everyone updated! Although the fix has indeed landed, it's currently set to be included in Firefox 57. We're currently attempting to get it uplifted to Firefox 56.

I'm actively looking into this, and a packaged version will appear as soon as absolutely possible.

uniquePWD commented 7 years ago

@Synzvato I noticed that you're not using a development channel on AMO for Decentraleyes. Any chance you can upload the WebExtension to the development channel so that us Nightly users can use it while you await the uplift to 56?

Synzvato commented 7 years ago

I noticed that you're not using a development channel on AMO [...]. Any chance you can upload the WebExtension to the development channel [...] while you await the uplift to 56?

@pwd-github Once I can confirm that the Nightly update that fixes the issue has been distributed, I'll be uploading beta-1 to AMO. The beta tag will cause the channel to be created automatically.

uniquePWD commented 7 years ago

Thank you @Synzvato, I and I expect everyone else appreciates all of your efforts.

Synzvato commented 7 years ago

Decentraleyes v2.0.0beta1 is now available inside of the AMO development channel. Alternatively, you can download the package from the corresponding release page in this repository.

uniquePWD commented 7 years ago

Well done and thank you @synzvato.

WhyNotHugo commented 7 years ago

Odd, it claims to be incompatible with FF 55, but I've a few other WebExtension plugins running on FF 55. Is this an oversight, or does it actually depend on newer FF features?

Synzvato commented 7 years ago

Well done and thank you [...].

@pwd-github Thank you, and I'm glad you like the outcome!

Odd, it claims to be incompatible with FF 55, but I've a few other WebExtension plugins running on FF 55. Is this an oversight, or does it actually depend on newer FF features?

@hobarrera Although it might look as if Decentraleyes is unnecessarily late to the party, the new WebExtension does indeed depend on features that are not present in Firefox 55. Luckily, Mozilla has been kind enough to uplift some required fixes to Firefox 56. They will likely land in 56.0b7.

It's definitely not an oversight, and v2.0 will land as early as absolutely possible!

WhyNotHugo commented 7 years ago

Ah, thanks for the clarification! I was assuming it might be this.

savyajha commented 7 years ago

@Synzvato Since FF 56.0b7 has landed, do you think it's okay to allow the webext to install on FF 56? I tried installing the packaged version from github, and I get the message that it's not supported on 56. :(

Synzvato commented 7 years ago

@savyajha Good question! I would recommend waiting just a tad longer. Decentraleyes v2.0.0beta2 will be targeting Firefox 56 (and higher), and should be ready sometime next week.

davidhedlund commented 7 years ago

@Synzvato Is Decentraleyes a hybrid WebExtension yet?