Fund free software presented project jshelter , developing a browser supplement to protect against threats arising when using JavaScript on sites, including hidden identification, tracking movements and accumulation of data on User. Project code extends under the GPLV3 license. Supplement prepared for Firefox , Google Chrome , Opera , Brave, Microsoft Edge and other browsers based on the Chromium engine.
The project is developing as a joint initiative funded by the Fund
NLNET FOUNDATION. Jorgio Maone joined the development of Jorgio Maone, the creator of the supplement noscript , as well as the founders of the project j++ and the authors of add-ons js-shield and javascript Restrictor . As the basis of the new project, the supplement JavaScript Restrictor .
JShelter can be viewed as a semblance of a firewall for JavaScript programming interfaces available to sites and Web applications. Supplement provides four levels of protection, as well as a flexible access mode to API. The zero level fully allows access to all APIs, the first includes minimal blockages that do not break the pages, the second level is balanced between locks and compatibility, and the fourth level includes strict blocking of all extra.
API lock settings can be tied to individual sites, for example, for some site, you can strengthen protection, and for some disconnect. You can also selectively block certain methods, objects, properties and JavaScript functions, or to replace return values (for example, to issue false information about the system). NBS mode is separately allocated, which does not allow the pages to use the browser as a proxy between the external and local networks (all outgoing requests are intercepted and analyzed).
Blocked or limited API:
- window.date, window.performance.Now (), window.performancentry, event.prototype.timestamp, gamepad.prototype.timestamp and vrframeda.prototype.TimeStamp – Issued Accurate time can be used to identify and conduct third-party attacks .
- htmlcanvaselement (canvas.todataurl (), canvas.toblob (), canvasrenderingcontext2d.getimagedata, offscreencanvas.converttoblob ()) – are used to determine the characteristics of the graphics subsystem when identifying the user.