GNU LibreJSXUL --an add-on for Iceweasel UXP and similars-- detects and blocks nonfree nontrivial JavaScript while allowing its execution on pages containing code that is either trivial and/or free.
Notes on working with the code
Running the addon
Download jpm, then do something like this in the LibreJS directory:
jpm run -b $(command -v iceweasel-uxp)
Debugging
Uncomment lines 24 and 25 in lib/main.js to enable printing of console.debug() statements.
Adding new whitelisted libraries
- Edit data/script_libraries/script-libraries.json
Releasing a new version
- Update version number in:
- configure.ac
- package.json
- doc/version.texi
- data/display_panel/content/display-panel.html
- Then run
make info
to build the docs git commit
andgit tag 6.0.14
-
Export a tarball:
git archive --format=tar.gz --prefix=librejsxul-6.0.14/ 6.0.14 >librejsxul-6.0.14.tar.gz
mv librejsxul-6.0.14.tar.gz ~/releases/librejsxul/6.0.14/
-
Generate Makefile
autoconf && ./configure
-
Make xpi file:
jpm xpi mv librejsxul.xpi librejsxul-6.0.14.xpi
-
Upload xpi file to AMO. Use signed xpi from AMO for gnu servers, e.g.: gnu_librejs-6.0.14-fx.xpi
- Upload to gnu servers, update gnu.org/s/librejs links
- Make announcement on info-gnu and savannah.gnu.org
- Update #librejs topic