もっと詳しく

GNU LibreJS is a browser extension for Firefox and Firefox-based browsers that is designed to block non-free non-trivial JavaScript by default.

Compared to NoScript,  GNU LibreJS works similarly on first glance. One of the main differentiating factors is that NoScript blocks most JavaScript by default, while GNU LibreJS makes a distinction between non-free non-trivial JavaScript and free or trivial JavaScript.

librejs

GNU LibreJS is inspired by Richard Stallman’s The JavaScript Trap essay. Stallman argues that browsers run non-free programs that are written mostly in JavaScript, but also in other languages.  Many of these programs are proprietary or not open, and some of them are malicious or problematic.

Google Docs, according to Stallman, makes use of a JavaScript program that has a size of half a Megabyte. It is compacted, which makes it difficult to analyze and understand. JavaScript code that snoops on users is called malware by Stallman.

Stallman suggests to avoid running JavaScript that is considered not trivial or not free. A list of JavaScript code that matches the definition includes scripts loaded from external pages, that alter the DOM, or call eval. The full list is published on the GNU website.

GNU LibreJS makes these distinctions for the user when it is installed in Firefox and compatible browsers. It blocks all JavaScript that is considered not trivial, and allows JavaScript that it considers trivial.

The extension adds an icon to the browser’s toolbar that highlights the number of blocked JavaScript references on the page. A click displays accepted and blocked JavaScript, and controls to change the status of the entire website or individual scripts or code. You can whitelist or blacklist an entire site, or individual code snippets or scripts. The extension remembers these across sessions.

Options to show the JavaScript code are provided, as is an option to forget all custom settings or individual custom settings.

Closing Words

The use of GNU LibreJS improves privacy and security while using the web browser the extension is installed in. Users should run into fewer compatibility issues with sites, as trivial JavaScript is allowed to run. It may still be necessary to adjust the allow and disallow lists and individual scripts regularly to get certain websites to work properly.

Now You: how do you handle JavaScript?

Thank you for being a Ghacks reader. The post GNU LibreJS for Firefox blocks non-free non-trivial JavaScript appeared first on gHacks Technology News.