= Installation = https://addons.mozilla.org/en-US/firefox/addon/5230 = Open Tickets = [[TicketQuery(status=new|accepted|assigned|reopened&component=Karma Blocker)]] = Documentation = Karma Blocker, is an ad/nuisance blocker and privacy enhancer for technical people. It uses a simplistic definition language to assign "karma" points to every resource that Firefox loads when rendering pages. If any resource gathers enough points, it is blocked. It sports the following features: * Request-time blocking of any resource. (Blocked objects never load, never use bandwidth, never set cookies.) * Karma (or score) based weighting of objects, similar to popular spam filtering solutions like [http://spamassassin.apache.org/ SpamAssasin]. * A flexible expression language for powerful filtering, on a richer set of data than simply "the URL". * Global function injection; if a script is blocked, yet functions in it are still called, injecting a blank function of the same name will eliminate any errors. == Operation == Every time Firefox begins to load any resource (page, image, style sheet, javascript file, etc.) Karma Blocker will first check it against the rules it is configured to use. If the rules match that request, it will be denied and never load. There are certain exceptions: * When Karma Blocker is disabled (and the status bar icon is greyed out), all requests will be allowed. * When the resource is not from one of the schemes `http`, `https`, `ftp`, `chrome`, all requests will be allowed. * Three different checks are made to ensure that resources that form part of the browser itself (i.e. the back/forward buttons, icons, etc.) are never blocked. Click the icon in the status bar to globally enable/disable Karma Blocker. == Configuration == See wiki:Support/KarmaBlocker/Configuration = Changelog = * Version 0.4.1 (''Forthcoming'') * Avoid spurious "function anonymous() { }" text in page. (#306) * Add an optional toolbar button. (#285) * Monitor dialog displays types wrong (#370) * Version 0.4 (June 26, 2009) * Mark Firefox compatibility with 3.0 through 3.5. * Add option for the monitor window to gather only blocked resources. (#221) * Add configuration setting to enable/disable the element collapsing feature (now ''off'' by default), and make it less aggressive when it is enabled. (#209) * Allow functions with properties to be injected, i.e. `inject='_gat._getTracker'` will eat undefined function errors from blocked Google Analytics scripts. (#253) * Disable wrapping when editing rules, so long lines display on one line (with a horizontal scroll bar). * Never block core parts of the browser itself. (#222) * In the monitor window, you can copy data, remove items, open URLs, and expand/collapse rows via a context menu. (#266) * New default rules which are highly functional. (#265) * Version 0.3.2 (September 27, 2008) * Bug fix, certain rule sets can cause Firefox to freeze. (#182) * Version 0.3.1 (July 15, 2008) * Enhanced element collapsing. (When an ad is blocked, if it is inside an otherwise empty, fixed size container, that container will be removed from the page.) * Version 0.3 (Feb 9, 2008) * Bug fix: allow rules to block chrome (#93). * Compatibility with Firefox 3.0. * Feature: Monitor window, which displays the score, and blocked status of all resources, plus the match status and score contribution of each group, for each resource. * Add the "name" field for "Group" sections, to allow meaningful group display in the monitor window. * Version 0.2.1 (Jun 28, 2007) * Add debugging output detailing where functions are being injected to. * Fix home page address. * Remove stability/security disclaimer, a few months of testing have gone well. * Version 0.2 (Feb 17, 2007) * Initial release of Karma Blocker with full feature set: * Karma based scoring system. * Flexible rules language for matching. * Function injection. * Version 0.1 (Jan 3, 2007) * Initial release of grandfather project, [wiki:Extensions/ThirdPartyScriptStopper Third Party Script Stopper]. = Credits = * [http://cc.usu.edu/~amcinnes/js-regexp-lexing.html Using the RegExp Object for Lexical Analysis in Javascript] - Lexical analysis algorithm * [http://www.getfirebug.com/ FireBug] - Content page function injection * [http://www.famfamfam.com/lab/icons/silk/ famfamfam.com] Silk icons set - Icon * [http://adblock.mozdev.org AdBlock] and [http://adblockplus.org/ AdBlock Plus] - Ideas, some code sections = License = Karma Blocker is released under the [browser:extension/LICENSE.gpl GPLv2 license].