# Simple Extension for viewing certain websites with user-controlled JS The browser extension developed here - is one of the last guerilla efforts of those still opposing the pervasive idea of websites deserving the ability to execute software (e.g. JavaScript code) in our web browsers, - might help you pass [Anubis](https://anubis.techaro.lol/) proof-of-work challenge (used, for example, on some parts of [kernel.org](https://www.kernel.org/)) without having to enable scripts on the site that uses it, and - should co-exists with other blockers and script managers that you might be using. ## The past has not been simple I have already had an attempt at replacing site-served (sometimes nonfree) JS with user-supplied scripts, [here](https://git.koszko.org/browser-extension). That extension aimed to be perfect with - script replacements executing unprivileged in the page context, - an ability to specify dependencies between scripts, - a repository of replacement scripts for sites, - an ability to search that repo by site URL, - a configurable script blocker functionality included, - support for Firefox-based browsers from version 60 onwards as well as Chromium-based browsers, - a detailed documentation, - a dedicated issue tracker, - its own website, - cryptographically signed releases, and - non-POSIX tools in the build system avoided to the extent possible, Some of these could not be achieved in the way I intended. I later tried making a similar tool as a TLS-enabled proxy but could not spend more time on it once the NLnet grant finished. ## Keeping software simple-stupid Or should the heading say "simple, stupid"? This extension makes several websites work (or kind of work) without site-served JS, but - all replacement scripts are executed in the semi-privileged content script context, - there's no notion of dependencies between scripts that this extension executes on websites, - the replacement scripts are contained within the extension itself and not queryable from any repository, - the extension blocks JS (and sometimes CSS) on sites it touches, albeit in a non-configurable fashion, - is only known to work with the browser I am using at any given moment (GNU IceCat 140.something at the time of writing), - has no documentation besides this README and its own code (which, btw, it the most accurate documentation possible), - has no issue tracker (email [koszko@koszko.org](mailto:koszko@koszko.org) if you need), - has no website of its own (just a Git repo served with cgit), - is only released as untagged git commits, and - besides the zip command line tool requires you to have GNU Make, jq and Inkscape to build it. ## Copying CC0. Also, [REUSE](https://reuse.software/).