intika / Librefox

Librefox: Firefox with privacy enhancements
https://librefox.org
Mozilla Public License 2.0
1.72k stars 89 forks source link

A few ideas for Librefox. #28

Closed Peacock365 closed 5 years ago

Peacock365 commented 5 years ago

Hello intika,

I found that you have developed this browser which includes the gHacks-user.js. And that's great! We definitely need more browsers respecting user privacy by default. I am currently using this browser along with Ungoogled-Chromium.

Previously, I have used (and contributed some small code snippets to) Waterfox as well, but it seems to be stuck at the Firefox 56 base for too long. Not sure why, as Mozilla has removed all legacy add-ons from AMO anyway. Therefore, even as support for them is nice, most users have no way to download them as it stands. Anyway... I wanted a newer code base, and this project is what I have searched for. Thank you very much for your efforts.

Now, I think this project can be improved in some ways. I have a few ideas, and would like to present them to the dev for consideration and to the community for discussion.

I believe that Mozilla, as it stands, introduces more and more unwanted changes into Firefox. Some things I personally consider annoying and / or redundant are as follows:

Moreover, I feel like the customization options in Firefox Quantum are pretty limited due to the removal of legacy add-ons. While I don't miss many legacy add-ons, I feel like Firefox should offer more UI customization options, much like Vivaldi does.

How does all this relate to Librefox? Well, I think Librefox does a great job of disabling a great deal of the unwanted features above. However, some things like the option to never download browser updates cannot be restored via the gHacks-user.js. This would require deeper changes. I have read somewhere that Firefox allegedly still supports the option do disable updates entirely in the enterprise policy editor. Furthermore, I don't think offering a more privacy-oriented Firefox is enough to attract a wider scope of potential users. Vivaldi's success is built upon its many customization features, for example. I strongly believe that this project should include CustomCSSforFx by default. CustomCSSforFx is a set of userChrome.css code that can alter the entire Firefox appearance, much like it has been possible with Classic Theme Restorer historically. The developer is the very same person. I would like to see those customization options introduced in the regular "Customize..." menu of the browser. I want to check a box and the change in appearance should occur. As it stands, I have to tackle things in userChrome.css quite a bit, involving restarts of the browser to make the changes apparent. This is not user-friendly at all. A browser introducing those options by default would be a dream come true.

Somewhat connected to this, I'd like to see a those customization options in Librefox ESR only. The code base, including UI code, changes too much across major versions for those changes to be reasonably maintainable for each major Firefox release. Therefore, I'd limit those customization options to Librefox ESR.

TL;DR:

Thanks again for your great effort, intika. Thanks to all for their attention.

intika commented 5 years ago

Thanks a lot for your contribution and for taking time to write you message it's appreciated :) I am also a user (and contributor) of ungoogled-chromium :)

Pocket integration

Already removed in Librefox

Activity Stream in the new tab page (I prefer to see the most viewed pages there only)

Already fixed in Librefox

Add-on recommendations

Already fixed in Librefox

Removal of the option to never update the browser (I know that this is not recommended anyway, but the CHOICE should be there at least)

Already removed in Librefox (and will be replaced with an optional feature in a future version)

Firefox experiments like Cliqz and Mr. Robot / Firefox experiments in general are enabled. etc. etc. etc.

Already fixed in Librefox

Moreover, I feel like the customization options in Firefox Quantum are pretty limited due to the removal of legacy add-ons. While I don't miss many legacy add-ons, I feel like Firefox should offer more UI customization options, much like Vivaldi does.

Simplifying thing is often a great thing, now what's most important is the possibility to edit this or that feature and this could still be done through "about:config" but yes i get the idea a kind a chrome://flags would be nice ... this could be done in Librefox but it's a lot of work and for the moment the project needs some other urgent changes and improvement like the updater or the firewall feature. i guess i will be opening an issue for that after this message.

However, some things like the option to never download browser updates cannot be restored via the gHacks-user.js.

It can be restored with mozilla.cfg and policies.json... in the current state of the project (to make it easy) a user could for instance remove mozilla.cfg and policies.json. update Firefox and restore those files but its not recommended because new version may need additional modifications and or changes... any way as this project will become more independent in the future with its upcoming updater feature this should be fixed.

I strongly believe that this project should include CustomCSSforFx by default. CustomCSSforFx is a set of userChrome.css code that can alter the entire Firefox appearance, much like it has been possible with Classic Theme Restorer historically. The developer is the very same person.

i will open an issue for that as well, but this will be kept optional at first... like the current extended dark theme css.... But this feature needs a deep review to avoid potential unwanted bugs etc. but yeah it's a good idea and it could be a solution for the "chrome://flags" things as well.

Also something very important is the scope of this project, the idea is to keep it as close as possible to Firefox for :

We would need a separated integration system for those features (like addon/patch) to be able to keep things simple and updatable easily while secondary feature can be :

In short it's better to do something and do it well instead of doing everything and...

But yes this would be awesome :)

A browser introducing those options by default would be a dream come true.

This is doable easily the thing is it takes times as i already mentioned i will open an issue for that but more urgent things need to be done before looking at this (updater/firewall/librefox-extension/trademark-icon-and-name/android) also a system or a server should be setup to build the 15/20 different releases

Patching pre build manually and testing everything takes a day, now building everything manually would take almost a week (testing etc) so the project is already growing fast, i just want to keep things manageable for the moment... once everything is automated, build time will be probably reduced from a week to 1 or 2 hours, then we could add more things/features.

Somewhat connected to this, I'd like to see a those customization options in Librefox ESR only. The code base, including UI code, changes too much across major versions for those changes to be reasonably maintainable for each major Firefox release. Therefore, I'd limit those customization options to Librefox ESR.

It's kind a complicated because you will be offering a feature and not offering it at the same time... it all depend on how https://github.com/Aris-t2/CustomCSSforFx is developed i will have a look at that as soon as possible :)

Make settings which are only available in the Enterprise policies of Firefox accessible in the normal settings dialog.

This is already possible via https://addons.mozilla.org/en-US/firefox/addon/enterprise-policy-generator/

You would want to see that in the future Librefox main extension ? (i guess this is a good idea)

Just to be clear one of the main current to-do is the Librefox extension (a single extension that rule them all it will have everything without being heavy max 300ko or something)
(firewall/updates/privacy-protection/javascript-filter/etc)

intika commented 5 years ago

i think we can close this as https://github.com/intika/Librefox/issues/34 summarize it

intika commented 5 years ago

let me know if needed we will reopen this :)

elypter commented 5 years ago

Previously, I have used (and contributed some small code snippets to) Waterfox as well, but it seems to be stuck at the Firefox 56 base for too long. Not sure why, as Mozilla has removed all legacy add-ons from AMO anyway.

shit. that's outright evil

elypter commented 5 years ago

We would need a separated integration system for those features (like addon/patch) to be able to keep things simple and updatable easily while secondary feature can be

i cannot stress this enough. the amount of manually repeated work has to be kept as minimal as possible. not only does the time add up over the versions but it is also exhausting, a source of errors, introduces delays and the worst: it becomes obsolete with the next version. i think automation is the most important part of a project like this. forks are a huge waste of effort. its much more effective to have an intelligent auto patching mechanism. for me the ideal tool would just scan mozillas repos regularly for new commits and the build, apply patches, package and upload the new librefox completely automated and possibly even run an automated test install and only stop if merging fails due to a braking change or a bug is detected.

intika commented 5 years ago

There are 2 possibilities (for the urgent current needs "Librefox branding")

  1. elaborate an advanced patching system and keep using Mozilla's binaries (faster)
  2. build from sources (time consuming but better)

if it was just about 1, 2 or even 3 platforms i for-sure would use solution 2 but we are reaching 20 different releases here

i still did not decided what solution to use

dimqua commented 5 years ago

@intika I think that a lot of releases are not needed, for example, you can drop 32-bit support completly.

Peacock365 commented 5 years ago

@intika I think that a lot of releases are not needed, for example, you can drop 32-bit support completly.

Agreed. I don't know of any PC or Mac sold since 2010 that does not support 64 Bit. 32 Bit builds can be dropped for good.

Peacock365 commented 5 years ago

@intika

I think CustomCSSforFx, should it be integrated, would have to be in the "Customize..." menu which you can access through the hamburger menu: https://3sgkpvh31s44756j71xlti9b-wpengine.netdna-ssl.com/files/2017/09/moz.gif

I imagine that those option could be in the same area as "Title Bar" or "Drag Space" (i.e. at the bottom of the page). If I were you, I'd introduce scrolling into the bottom area, categorize the myriad of settings in CustomCSSforFx in subgroups. Classic Theme Restorer, back in the day where it ran in Firefox, used to have such subgroups. I didn't like that Classic Theme Restorer was a different window, though. I would have liked to access those options in the "Customize..." menu back in the day. ALAS, it was not a default part of Firefox, so it had to use its own window. @intika, you could make its integration seamless by puttting those options into the bottom area of the "Customize..." menu.

elypter commented 5 years ago

@intika I think that a lot of releases are not needed, for example, you can drop 32-bit support completly.

please no. i have several computers with 32bit cpus which are still in use. since waterfox doesnt have 32bit versions i was happy to see libfrefox offering one. older computers are often owned by a non vocal group of people like relatives who do not use the web as often but got devices from relatives that still fit their needs or people in third world countries. and since the compatibility is already handled by mozilla i dont think having x86_32 among other platforms is any additional effort. one of the good things about free software is that it can be made available on as many platforms as you want.

dimqua commented 5 years ago

@elypter you can apply Librefox manually for 32-bit Firefox version.

elypter commented 5 years ago

if it is so easy then why remove it from automated building?

Atavic commented 5 years ago

Not sure why, as Mozilla has removed all legacy add-ons from AMO anyway. Therefore, even as support for them is nice, most users have no way to download them as it stands.

This may help.

intika commented 5 years ago

30% of downloads are for x32 bit, this will not be dropped... and this is not the solution.... Any way i will see what fit best ;) Closing this as #34 summarize it ;)