GNU IceCat

From LinuxReviews
Jump to navigationJump to search
Gnu-head.jpg

GNU IceCat is just Mozilla Firefox's long term release with different graphics, more privacy-respecting default settings and some bundled extensions which are meant to make the browser more respective of the users freedom. The practical result of those extensions is a close to useless browser which isn't suitable for most people. The GNU IceCat package does not change Firefox's source-core. It is a re-brand, not a fork. It can be customized and configured to be a more privacy-respecting Firefox. It's defaults do not provide anything remotely resembling a good user-experience for the vast majority of people.

What set's GNU IceCat apart from Mozilla Firefox

The differences between GNU IcatCat and plain Mozilla Firefox are:

  • GNU IceCat is the "long term support" version of Firefox
  • The graphics (blue logo instead of a red logo)
  • The configured defaults, both default settings and some trusted keys differ
  • The bundled browser extensions. These are as of 60.7.1esr released July 2019:
    • "disable-polymer-youtube" which hasn't been updated since 2018
    • GNU LibreJS which disables most JavaScript thus breaking most websites
      • Goteo.org payments with free JS
      • LibreJS compatible Pay.gov
      • LibreJS/USPS compatibility
      • Sign RSF.org petitions with free Javascript
    • HTTPS Everywhere
    • Onion Browser Button
    • Reveal hidden HTML
    • "Rock and Roll McDonalds's" for free Wifi at that fat people place
    • Searxes' Third-party Request Blocker , "Prevent your browser from connecting to third-party resource without user consent."
    • ViewTube. Provides more options on some video sharing websites.

Features and usability

IceCat starts with a friendly settings page with some somewhat misleading configuration options. Computer novices may and will likely find these settings too unclear and confusing. The by defualt unchecked Disable JavaScript option is specially misleading, it makes it look like JavaScript is enabled when it in practice is not.

Icecat-60.7.1esr-default.png

JavaScript is a computer programming language used on the web. Websites use small programs written in this language to pages to add various functionality. These programs are in many cases only used for advertising and tracking. JavaScript programs can also be used to provide features like editors, media players and a range of other things. Richard Stallman has written a long essay titled "The JavaScript Trap" where he explains that much of the JavaScript served by modern websites is just malware

GNU IceCat comes with an extension called GNU LibreJS which disables all JavaScript which is not marked as being free software. This is, in practice, most JavaScript including free software JavaScript. The practical effect is that most sites will either not load at all or lack certain functionality. This is why the "Disable JavaScript" setting is misleading to everyone but the most technically knowledgeable: JavaScript is, in practice, disabled regardless of that setting.

GNU IceCat tries to solve the problem of sites requiring non-free JavaScript programs by providing a handful of extensions which provide free JavaScript replacement programs for specific websites. The intentions may be good but this approach is just silly and not feasible. There are at least two major problems which simply can not be solved: a) Websites change. JavaScript replacement extensions require constant update and will regularly break as the websites they are for change and b) There are a whole lot of websites on the Internet. Creating free JavaScript programs for tens of thousands of different websites is not realistic and shipping GNU IceCat with thousands of extensions in constant need of updates is impractical.

The GNU LibreJS does provide a button you can click on to get a menu where JavaScript can be white-listed. This is useful since GNU LibreJS disables close to all JavaScript programs. It fails to identify free software JavaScript as free so almost everything is disabled.

Another extension GNU IceCat ships with called Searxes makes the IceCat JavaScript allergy mess worse because it has also got JavaScript disabling functionality. Using the editor on a website made with the MediaWiki content management system requires a) white-listing two scripts in the LibreJS extension and white-listing the site in the Searxes extensions menu. That is just stupid from a usability perspective.

The inclusion of a FAKE Tor Browser button: TOTAL SCANDAL

The absolutely over the top most shocking finding when testing GNU IceCat 60.7.1esr is the inclusion of a non-functioning "Onion Browser Button" extension. This extension is typically shipped as a part of the Tor Browser which bundles a re-branded Firefox and the Tor daemon.

One major problem with the inclusion of this extension is that it won't do squat behind the scenes if you do not have Tor installed - but it will claim that Tor is started and used.

This is a TOTAL SCANDAL. If you are a journalist in a dangerous place where journalists are routinely arrested or covertly tortured, something which is common within the NATO alliance, you're probably going to need to use Tor sooner or later.

GNU IceCat fake-torbutton-total-scandal.png

The way GNU IceCat include and implements the Onion Button extension makes it appear that you have Tor and are using it when you are, in fact, NOT using Tor. This may not seem like a big deal but it is something that can easily put real people's lives in danger. The screenshot above claims that it's "connected to 127.0.0.1:9050" and it indicates that Tor is being used. It's not. There's noting listening on 9050. Tor's not even installed.

This useless fake Tor extension should absolutely not be included in GNU IceCat.

On a more general note: The idea of a "Tor button" has always been a horrible and utterly stupid idea. A browser should either be locked to Tor and always use it or not have Tor support at all. Switching it on/off in the same browser profile has always and will always be foolish.

The other "feature-adding" extensions

The "Reveal hidden HTML" extension will frequently show a pop-up claiming there is somehow "Hidden HTML" which can be revealed. There never is. This extension will just annoy you regularly and never ever actually reveal anything useful. It is just an annoyance.

The included HTTPS Everywhere extension does not hamper general usability (unlike most of the included extensions). Why it's installed or what it is supposed to do are obviously good questions. It does not and can not turn https on everywhere, either a site uses https or it doesn't. That's server-side, not client-side and no extension or plugin can change that. It will supposedly redirect you from http to https if a site supports both. Most sites with https will do that for you anyway and most will set a policy to only use https the first time you visit. This extension seems utterly pointless but it's fine, it does not appear to have any negative effects.

"Don't theme our app"

GNU IceCat has, intentionally or not, taken a page out of the GNOME "don't theme our apps" playbook. Attempts to install Firefox themes from addons.mozilla.org produce a message saying "Download failed. Please check your connection.". The failure to use themes has nothing to do with downloading failing or connection problems, that message is bold-faced lie. The real reason is that GNU IceCat has stripped away the keys the Mozilla Corporation use to sign the themes .xpi files.

There is a solution and it's not great. Right-click the "Install theme" button and choose "Save Link As" and save the themes .xpi file. This file is really a zip file.

Your IceCat "profile" will be a folder in $HOME/.mozilla/icecat named something like 5d51249g.default. Exactly what it is called will vary, it will be a random number and the name of the profile if you named it; it will be "default" if you didn't. There will be a folder named extensions in that profile directory if you installed any extensions, create it if it does not exist. Now, make a folder in extensions called something@xbeef.coffee - it is not important how you name the first part but it has to end with @xbeef.coffee. Unzip a Firefox .xpi theme file into that folder and GNU IceCat will accept the theme and make it available (you have to restart it if it's running).

GNU IceCat with custom theme.jpg

This method of installing themes is absolutely not very user-friendly. It is fine if you know how to use a terminal. It essentially puts themes out of reach for non-tech savvy people.

Verdict and Conclusion

GNU IceCat is a complete mess we can not recommend to anyone but the most tech-savvy users and even they will have to spend time fixing and tweaking into something usable.

Having to turn JavaScript on for every site which uses it, even sites running free software with free software JavaScript which is what this site does, is annoying. Power-users may appreciate this: Mozilla Firefox with the extensions NoScript and uBlock Origin acts similarly: JavaScript has to be manually enabled. However, that combination has one extension handling JavaScript on/off and the other dealing with advertisements. GNU IceCat has two, both LibreJS and Searxes - and that is just stupid and annoying. Our recommendation is to simply disable Searxes. Disable that "Reveal hidden HTML" trash too while you are at it. That extension has no value and it is very annoying. The rest of the extensions are not very annoying, just useless. So that's fine.

The inclusion of a "Onion button" which makes it look like you are browsing securely and anonymously using the Tor network when you are not is just unacceptable and a total scandal. This extension should be disabled, it shouldn't even be included.

You can use GNU IceCat if you are a tech-savvy user willing to manually turn JavaScript on every time you need it and you manually install some themes as described above, disable the "Searxes", "Onion button" and "Reveal hidden HTML" extensions and install UBlock Origin from Mozilla's addons catalog.

Everyone else should just avoid this browser. It is not at all user-friendly or strait-forward. If you just want to get on Instagram and browse your favorite k-pop idol's latest selfies then GNU IceCat is absolutely not for you.

Under the hood

GNU IceCat stores it's settings in $HOME/.mozilla/icecat where there will be a "profile" created when you first start it. It is possible to have several profiles. These can be created and managed by starting it with icecat -P ProfileManager just like Mozilla Firefox. Profiles can be used by starting it with icecat -P NameOfProfileToUse

The icecat package will typically install to /usr/lib64/icecat/ with extensions in /usr/lib64/icecat/browser/extensions

Links

GNU IceCat's homepage is at https://www.gnu.org/software/gnuzilla/ even tough it's been a while since it was renamed from GnuZilla to GNU IceCat.


avatar

Anonymous user #1

3 months ago
Score 0++

I was looking for an alternative to BRAVE (With TOR) as I want to move away from the Chrome base to a FF base, I thought IceCat was the deal ... well, every IPleak and DNSleak test leave me in doubt, the IP shows a very different country, ok, fine, but the country shows my very one, meaning I either have a leak, or the IP country is a fake. So ... for now I will still use BRAVE with TOR, and wait for a better choice than IceCat Thks a lot for this review, it's really eyes opening !

Eric From Paris ;)
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.