From 894b5e913128d59e93b08f7f457200b4a769d2bc Mon Sep 17 00:00:00 2001 From: Ruben Rodriguez Date: Oct 15 2018 20:14:25 +0000 Subject: Merge #27 `Update manual to version 7.17.` --- diff --git a/docs/librejs.info b/docs/librejs.info index deed5c5..0520e19 100644 --- a/docs/librejs.info +++ b/docs/librejs.info @@ -1,6 +1,6 @@ -This is librejs.info, produced by makeinfo version 5.2 from man.texi. +This is librejs.info, produced by makeinfo version 6.5 from man.texi. -This manual is for GNU LibreJS (version 7.2, 10 February 2018), a GNU +This manual is for GNU LibreJS (version 7.17, 8 October 2018), a GNU IceCat extension to detect and block nonfree nontrivial JavaScript on webpages. @@ -23,7 +23,7 @@ File: librejs.info, Node: Top, Next: Overview, Up: (dir) LibreJS ******* -This manual is for GNU LibreJS (version 7.2, 10 February 2018). +This manual is for GNU LibreJS (version 7.17, 8 October 2018). * Menu: @@ -91,7 +91,8 @@ File: librejs.info, Node: Installation, Next: How to Use, Prev: Disclaimer, You can install LibreJS directly using a generated 'librejs.xpi' file, or by building it from source. - You can also download it from Mozilla, but due to Mozilla's review + You can also download it from +, but due to Mozilla's review process the download isn't always up to date.  @@ -120,14 +121,14 @@ will always get rejected. It is important to note that this feature recognizes which scripts are blacklisted and whitelisted based on hash. This means that even a slight difference in a script's code will cause it to be recognized as a -seperate script. +separate script. Sometimes, JavaScript will be dynamically generated so that it is different every time a website is loaded. These types of scripts cannot be whitelisted or blacklisted since they cannot be recognized. LibreJS has a default whitelist of scripts that are known to be free -but may not use the format for declaring a license that it can +but may not declare their license in a format that LibreJS can understand. 4.3 Complaint Feature @@ -159,22 +160,22 @@ in the LibreJS add-on preferences in your web browser. 4.4 Options =========== -"Whitelist" + You can manage LibreJS's preferences either from the extension's + entry in your browser's Add-ons Manager page ('about:addons') or by + clicking the LibreJS toolbar icon and then the "Settings..." + button on the top right of the popup. This will open a panel + containing a whitelist/blacklist manager and a section to configure + your complaints messages to site owners. - LibreJS lets you whitelist domain names and subdomains to bypass - the regular JavaScript check. This might be useful, for example, - if you are running your own code in a local web server. In order - to add a whitelisted domain or url, go to Tools >> Add-ons. Inside - the add-on window, click on "Extensions", and in the list, where - you see LibreJS, click on the "Preferences" button. You will see - an input field labeled "Whitelist". +"Whitelist/Blacklist" - In the field, enter comma-separated domain names. Do not enter the - protocol. For instance to whitelist all the pages of - and , enter 'gnu.org'. To - allow all subdomains from gnu.org, enter: '*.gnu.org'. This will - match such sites as and - . + LibreJS lets you whitelist or blacklist domain names and + subdomains, to bypass the regular JavaScript checks. This might be + useful, for example, if you are running your own code in a local + web server, or if you don't want to waste computing resources on + script origins you already know you can't trust. librejs provides + a lists manager UI to handle both the lists on the top of its + Options panel. "Complaint email subject" Configure the default subject used in complaint emails. @@ -355,7 +356,7 @@ must be declared using a machine-readable license format. }, 'X11':{ 'URL': 'http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3', - 'Magnet link': 'magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt' + 'Magnet link': 'magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt' }, 'Modified-BSD':{ 'URL': 'http://www.xfree86.org/current/LICENSE4.html', @@ -381,17 +382,55 @@ File: librejs.info, Node: LibreJS Development Notes, Next: Installation Requir 8 LibreJS Development Notes *************************** -8.1 Debugging +8.1 Dependencies +================ + +LibreJS 7.17 depends on a number of Node.js-based libraries that can be +installed using the 'npm' utility: + + $ npm install acorn-loose + $ npm install jssha + $ npm install browserify + $ export PATH=$PATH:./node_modules/.bin + +8.2 Building +============ + +To build the extension run: + $ browserify main_background.js -o bundle.js + + To build the extension plus create a .xpi package run: + $ ./build.sh + + To build the extension including the automated test suite (see TEST +below) run: + $ ./build.sh -t + or + $ ./build.sh --test + + Note: this 'build.sh' script relies on no new source files being +created. + +8.3 Debugging ============= To debug LibreJS, visit the special URL 'about:debugging'. Click on 'Enable add-on debugging' then 'Load Temporary Add-on'. Navigate to LibreJS's unpacked source directory and select 'manifest.json'. - Lines 34 and 35 in 'main_background.js' control the printing of -'dbg_print()' statements. Make sure these are set to false in releases. + Lines 39 and 40 in 'main_background.js' assign two variables +controlling the verbosity of 'dbg_print()' statements. Make sure these +are set to false before building a release. + +8.4 Testing +=========== + +An automated test suite runs automatically in its own tab whenever the +extension is loaded as a "Temporary add-on" from 'about:debugging'. +Otherwise (if included in the xpi) it can be launched from the UI by +clicking the "Automated self test..." button. -8.2 Adding new whitelisted libraries +8.5 Adding new whitelisted libraries ==================================== The script index.js in './hash_script' generates the default whitelist. @@ -402,15 +441,15 @@ Run it with the following command: Then, just copy the contents of the file "output" to the appropriate place in main_background.js. -8.3 Releasing a new version +8.6 Releasing a new version =========================== Update the version number in manifest.json. - Make sure debug statements are set to felse on lines 34/35 in + Make sure debug statements are set to false on lines 39/40 in 'main_background.js'. - Then, run the build script 'build.sh'. + Then run the build script 'build.sh'.  File: librejs.info, Node: Installation Requirements, Next: LibreJS Internals, Prev: LibreJS Development Notes, Up: Top @@ -426,7 +465,7 @@ LibreJS. It can be installed on the following: GNU IceCat, Mozilla Firefox, Trisquel Abrowser, Debian Iceweasel. - LibreJS works on these browsers starting from version 57. We + LibreJS works on these browsers starting from version 60. We recommend that you use the latest version of your Mozilla browser. LibreJS has been tested on a GNU/Linux distribution, but it is compatible any operating system as long as you're using a compatible @@ -932,17 +971,17 @@ their use in free software.  Tag Table: -Node: Top826 -Node: Overview1820 -Node: Disclaimer2667 -Node: Installation3163 -Node: How to Use3505 -Node: JavaScript Detection7002 -Node: Free Licenses Detection8289 -Node: Setting Your JavaScript Free8760 -Node: LibreJS Development Notes14487 -Node: Installation Requirements15601 -Node: LibreJS Internals16311 -Node: GNU Free Documentation License16961 +Node: Top825 +Node: Overview1818 +Node: Disclaimer2665 +Node: Installation3161 +Node: How to Use3539 +Node: JavaScript Detection7045 +Node: Free Licenses Detection8332 +Node: Setting Your JavaScript Free8803 +Node: LibreJS Development Notes14530 +Node: Installation Requirements16612 +Node: LibreJS Internals17322 +Node: GNU Free Documentation License17972  End Tag Table diff --git a/docs/man.texi b/docs/man.texi index 5871315..a9db799 100644 --- a/docs/man.texi +++ b/docs/man.texi @@ -111,8 +111,8 @@ it to @email{bug-librejs@@gnu.org}. You can install LibreJS directly using a generated @file{librejs.xpi} file, or by building it from source. -You can also download it from Mozilla, but due to Mozilla's review -process the download isn't always up to date. +You can also download it from @url{https://addons.mozilla.org/addon/librejs/}, +but due to Mozilla's review process the download isn't always up to date. @node How to Use @chapter How to Use @@ -134,15 +134,15 @@ will always get rejected. It is important to note that this feature recognizes which scripts are blacklisted and whitelisted based on hash. This means that even a slight -difference in a script's code will cause it to be recognized as a -seperate script. +difference in a script's code will cause it to be recognized as a +separate script. -Sometimes, JavaScript will be dynamically generated so that it is -different every time a website is loaded. These types of scripts cannot +Sometimes, JavaScript will be dynamically generated so that it is +different every time a website is loaded. These types of scripts cannot be whitelisted or blacklisted since they cannot be recognized. LibreJS has a default whitelist of scripts that are known to be free but -may not use the format for declaring a license that it can understand. +may not declare their license in a format that LibreJS can understand. @section Complaint Feature @@ -172,20 +172,21 @@ LibreJS add-on preferences in your web browser. @section Options @table @dfn -@item Whitelist -LibreJS lets you whitelist domain names and subdomains to bypass the -regular JavaScript check. This might be useful, for example, if you are -running your own code in a local web server. In order to add a whitelisted -domain or url, go to Tools >> Add-ons. Inside the add-on window, click on -@dfn{Extensions}, and in the list, where you see LibreJS, click on the -@dfn{Preferences} button. You will see an input field labeled @dfn{Whitelist}. +You can manage LibreJS's preferences either from the extension's entry in your +browser's Add-ons Manager page (@code{about:addons}) or by clicking the LibreJS +toolbar icon and then the "Settings..." button on the top right of the popup. +This will open a panel containing a whitelist/blacklist manager and a section +to configure your complaints messages to site owners. -In the field, enter comma-separated domain names. Do not enter the protocol. -For instance to whitelist all the pages of @url{http://www.gnu.org} and -@url{https://gnu.org}, enter @samp{gnu.org}. To allow all subdomains from -gnu.org, enter: @samp{*.gnu.org}. This will match such sites as -@url{http://savannah.gnu.org} and @url{http://audio-video.gnu.org}. +@item Whitelist/Blacklist + +LibreJS lets you whitelist or blacklist domain names and subdomains, to bypass +the regular JavaScript checks. This might be useful, for example, if you are +running your own code in a local web server, or if you don't want to waste +computing resources on script origins you already know you can't trust. librejs +provides a lists manager UI to handle both the lists on the top of its Options +panel. @item Complaint email subject Configure the default subject used in complaint emails. @@ -407,15 +408,57 @@ Many free licenses are listed in this page: @node LibreJS Development Notes @chapter LibreJS Development Notes +@section Dependencies + +LibreJS @value{VERSION} depends on a number of Node.js-based libraries that +can be installed using the @code{npm} utility: + +@verbatim + $ npm install acorn-loose + $ npm install jssha + $ npm install browserify + $ export PATH=$PATH:./node_modules/.bin +@end verbatim + +@section Building + +To build the extension run: +@verbatim + $ browserify main_background.js -o bundle.js +@end verbatim + +To build the extension plus create a .xpi package run: +@verbatim + $ ./build.sh +@end verbatim + +To build the extension including the automated test suite (see TEST below) run: +@verbatim + $ ./build.sh -t +@end verbatim +or +@verbatim + $ ./build.sh --test +@end verbatim + +Note: this @file{build.sh} script relies on no new source files being created. + @section Debugging To debug LibreJS, visit the special URL @code{about:debugging}. Click on `Enable add-on debugging` then `Load Temporary Add-on`. Navigate to LibreJS's unpacked source directory and select @file{manifest.json}. -Lines 34 and 35 in @file{main_background.js} control the printing of -@code{dbg_print()} statements. Make sure these are set to false in -releases. +Lines 39 and 40 in @file{main_background.js} assign two variables controlling +the verbosity of @code{dbg_print()} statements. Make sure these are set to false +before building a release. + +@section Testing + +An automated test suite runs automatically in its own tab whenever the extension +is loaded as a "Temporary add-on" from @code{about:debugging}. +Otherwise (if included in the xpi) it can be launched from the +UI by clicking the "Automated self test..." button. @section Adding new whitelisted libraries @@ -431,10 +474,10 @@ place in main_background.js. Update the version number in manifest.json. -Make sure debug statements are set to false on lines 34/35 in +Make sure debug statements are set to false on lines 39/40 in @file{main_background.js}. -Then, run the build script @file{build.sh}. This +Then run the build script @file{build.sh}. @node Installation Requirements @appendix Installation Requirements @@ -447,8 +490,8 @@ LibreJS. It can be installed on the following: GNU IceCat, Mozilla Firefox, Trisquel Abrowser, Debian Iceweasel. -LibreJS works on these browsers starting from version 57. We recommend -that you use the latest version of your Mozilla browser. LibreJS has +LibreJS works on these browsers starting from version 60. We recommend +that you use the latest version of your Mozilla browser. LibreJS has been tested on a GNU/Linux distribution, but it is compatible any operating system as long as you're using a compatible Mozilla browser. diff --git a/docs/version.texi b/docs/version.texi index 7ca3e74..e300ce7 100644 --- a/docs/version.texi +++ b/docs/version.texi @@ -1,5 +1,4 @@ -@set UPDATED 10 February 2018 -@set UPDATED-MONTH February 2018 +@set UPDATED 8 October 2018 +@set UPDATED-MONTH October 2018 @set EDITION 2 -@set VERSION 7.2 - +@set VERSION 7.17