intika / Librefox

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

Add an advanced settings page #34

Open intika opened 5 years ago

intika commented 5 years ago
samuel8941 commented 5 years ago

suggestions:

quick UI mock up

librefox-advanced

samuel8941 commented 5 years ago

I think it would be a good idea to use the ffprofile standard configuration and take it as the foundation for the default librefox profile within advanced settings. It should break almost nothing while taking away the bloat, adware, telemetry, etc.

A couple of privacy tweeks in ffprofile will probably break something and should be deactivated.

The important part I think is to start with few changes and then carefully evaluating changes. The biggest value of Librefox is already achieved with the easiest and most benign changes: No telemetry, no adware, no annoyances.

That's probably what 90% of the future Librefox users want, and when offering a browser the most important thing is what users want, not what a couple of privacy nerds like. Average privacy-minded users will never use Librefox if it breaks casual browsing. A single bad config is enough to break the project.

Librefox can offer a home for privacy nerds, but they will have to tweak things. And that is what those people want by the way. Those Tech-savvy users will never use a browser that is ready-to-go.

This means a maximum hardened firefox will basically have no target group, and thus no users.

Extra Privacy and Security, while important, need to be worked out carefully, and, most importantly, they do not target the majority of users. It should be an extra.

I do think that the main value of Librefox is not in the privacy and security configs but in simply taking away mozilla code that bothers users, and cut connections to remote servers, where possible. That's almost all that's needed to increase privacy significantly. And luckily it doesn't take much work to achieve.

The standard ghacks user.js can and should be included as a second Librefox profile, but there is no need for changing it. This is what a power users actually wants to do - when Librefox undertakes this fine tuning in the name of the user, then the browser will actually repel the power users. They do want to create "their own browser".

Yes, it would actually be counterproductive to work on a "perfect config". It's like solving a 10000-piece puzzle with lots of effort and then trying to sell the finished puzzle to puzzle-lovers.

The default Mozilla Firefox profile can be an option for users also.

On a sidenote, very important settings like referer policy, privacy.resistfingerprinting and firstparty isolation probably deserve their own place in the main firefox privacy menu.

I think the focus of Librefox shouldn't be in providing a "perfect user.js", and #53 shows that it's almost impossible to achieve without downsides and endless work hours wasted, and frustrated users. Librefox can give users complete control over the configs via advanced settings and let them experiment.

Different configs can be introduced as profiles any time, but I think the basic benefit over standard firefox would be the availability via advanced settings itself, which gives non-technical users the ability to control the configs.

When thinking about the default profile, "No telemetry, no adware, no annoyances" would be a good guidance imho.

Atavic commented 5 years ago

Include https://ffprofile.com/ ?

Firefox Profilemaker overrides some of the ghacks-user.js entries, but not all of them. It has a nice GUI and may be good for newbies. But if one uses it, then some entries from mighty Pants repository are left out.

Atavic commented 5 years ago

Something similar to chrome://flags

http://kb.mozillazine.org/Command_line_arguments https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options archived link

intika commented 5 years ago

Include https://ffprofile.com/ ?

Firefox Profilemaker overrides some of the ghacks-user.js entries, but not all of them. It has a nice GUI and may be good for newbies. But if one uses it, then some entries from mighty Pants repository are left out.

I added this just to have an implementation example not to directly use it. the setting page will be kind a mix of all what i listed... it's not about integrating existing tool, but developing a new one with a different scope (integrated in Librefox Browser)

http://kb.mozillazine.org/Command_line_arguments https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options archived link

it's more something like what @samuel8941 is explaining here https://github.com/intika/Librefox/issues/34#issuecomment-450177590 inside the browser settings

intika commented 5 years ago

@samuel8941 yes i already did all the background dirty work those past 2 months i know exactly what to default off and what to turn on, also gHack have a list of breaking feature to complete mine... the choice is obvious and was already made in project like palemoon where the privacy-vs-usablity is perfect

The main breaking feature is fighting fingerprinting this is what generally makes site break or work (and js features too)

Also mozilla.cfg, user.js and policies.json will be dropped over time... everything will be in the core browser over the settings (give the user the choice back right?!) mozilla.cfg will probably be kept just for very few settings

Also this will work in accordance with the future Librefox extension

And one last this, all the different project here will just be a base for the gui not the code, working on internal stuff is kind a getting back the legacy extension where everything is doable :D i am exited about that because web-extension is really limited when we are willing to do hard-core changes

And advanced users could make amazing changes in just few clicks instead of getting their hand dirty with the cfg/js etc...

But right now this is what most important and urgent https://github.com/intika/Librefox/issues/55

gerroon commented 5 years ago

How do I unlock this? I need to install an addon but I cant due to this issue

privacy.resistFingerprinting