ScriptKeeper Guide & FAQ

An easy-to-use Javascript blocker and filtering addon, designed by both myself and lemonsqueeze exclusively for Opera 12 Presto. Available now on the Addons catalog.

This post details the various interface elements and options of ScriptKeeper, as well as providing a FAQ. For a much improved layout see the original version archived here.

Contents:

Quick Mode menu

There are 4 different modes of script filtering:

 

  • Globally enable all

    Enables all Javascript to run, except blacklisted sites.

  • Relaxed mode

    A less strict mode than Standard. Enables top-level domain and related sites automatically, eg: opera.com and static.myopera.com. Useful for making the core site work well while still disabling other scripts.

  • Standard mode

    Only user permitted sites will run. By default top-level sites are not enabled in this mode but this can be changed in the Options.

  • Globally disable all

    Prevents all Javascript from running.

 


Sites that have been automatically enabled by a mode are displayed with a half-blue color. The top-level domain is displayed with a bold font.

Allow Toolbar

From this toolbar you can Allow all (whitelist) all sites that appear in the list with one click, Allow all once to temporarily allow all the sites, or use the Undo button to reverse the last action.

The Undo state is not preserved after changing tabs.

Whitelisting, temporary permissions and blacklisting

To whitelist a site either click on it’s name in the list or add it manually to the Allowed sites section in the Options.

The slider will display solid blue with a tick to indicate which sites are whitelisted. To un-whitelist a site either re-click it’s name or manage your list in the Allowed sites section in the Options.

Tip: to whitelist whole domains (eg: google.com and all it’s sub-domains) add the domain manually to the Allowed sites list. Remember to add only the domain, without the ‘http://www‘ prefix.

Tip: Temporarily allowed sites can also be whitelisted by clicking the half-blue area on the slider, making it solid blue. The same applies for sites that have been automatically enabled by a Quick Mode.

To temporarily allow a site hover over it’s name and click the clock icon. The slider will change and show a ‘Cancel allow once’ icon which can be clicked to cancel the permission.

Temporary permissions are in effect until either the ‘Cancel allow once’ icon is clicked or the browser is closed.

To blacklist a site hold the Ctrl key down ( on a Mac) and click a site’s name, or add the site manually to the Blocked sites section in the Options.

The slider will turn red and the site will hide from the list. To make blacklisted items visible again click the ‘eye’ icon at the bottom of the interface.

To un-blacklist a site either re-click it’s name or manage your list in the Blocked sites section in the Options.

Options

To open the Options click the ‘cog’ icon in the lower left corner of the interface. To change between different sections click the menu at the top of the interface.

General

Appearance
  • Show large fontDisplays a larger font size in the interface.
  • Icon badgeShow/hides the script counter on the toolbar icon.
Scripting
  • Reload: [Normal/Cached]Determines whether scripts are reloaded from the server or cache after changes have been made. Cached makes reloading after changes quicker, but Normal is more reliable.
  • Enable top-level: [Always/Relaxed only]Determines whether top-level domains are automatically enabled in both Standard and Relaxed mode, or only in Relaxed mode.
IFrames
  • Scripts [Enable/Inherit/Disable]Determines the method of iframe script loading. Enable will enable scripts from iframes to always be loaded in the list (but not automatically permitted), Inherit will follow the user’s permission settings for iframe items, and Disable will always disable scripts from iframes being loaded and hide them in the list.
Globally disable all
  • Imitate true disablingIf checked this setting allows ScriptKeeper to behave to sites as if Javascript was disabled from the browser preferences.

Allowed & Blocked sites

Sites that have been whitelisted can be managed in this section of the Options. They can be manually added by clicking the Add button, once to show it and again to enter the item in the list.

The same is available in the Blocked sites section used to manage blacklisted sites, and distinguished by a red Add button color.

Import/Export

The Import/Export section allows you to export your current settings to file using the Save button, including whitelists and blacklists. Saved settings can then be imported using the Load button.

A Reset button is also available to reset all settings back to the default, including whitelists and blacklists.
For Reset a popup warning will ask for further confirmation.

FAQ

  • What are the benefits of using a script blocker such as ScriptKeeper?
  • There are several positive benefits: improved page performance, many Javascript-based trackers are disabled automatically, and increased browser security as a result of scripting being disabled. For the security-conscious the default settings are recommended.
  • Why do some features of sites not work when using this addon?
  • While this may sound like an obvious answer ScriptKeeper is a Javascript-blocking addon, and is intended to disable all scripts a user hasn’t permitted, by default. As many sites use Javascript this may interfere with the functionality of some sites by disabling those scripts. By permitting scripts from a site these issues can be avoided. Enabling top-level sites ‘Always’, or switching to Relaxed mode are also ways to enable core scripts to run by default.
  • Why do some scripts only appear in Globally enable all mode, or after allowing all?
  • These are what could be described as ‘nested’ scripts, ones which only appear when another is already running. Think of them like nested dolls: if the first is disabled then others linked to it won’t be able to load.

    They are most noticeable when you’ve clicked the Allow all once button but after a page reload something still isn’t working. This is because new scripts have appeared in the list since the last page reload and need to also be permitted.

  • Part of a site doesn’t work properly even when in Relaxed mode, how can I make it work?
  • In such cases you can click the Allow all once button at the top of the interface, which will let all the scripts run temporarily on that site until the browser closes or you cancel the permissions.
  • Why do some pages not auto-reload after a change has been made in ScriptKeeper?
  • URLs with hashes (#) in them currently aren’t automatically reloaded due to the way Opera handles page reloads (as it believes it doesn’t require one if it’s only a hash change). Such pages will require a manual page refresh to see the changes.
  • Opera’s RSS feed preview seems to get stuck ‘Loading’ when in Standard mode
  • As Opera uses inline scripting to display the RSS feed preview it’s necessary to permit the top-level site before clicking the RSS icon in the addressbar. The LastPass addon also uses inline scripting when displaying it’s multi login choice, and similarly the top-level site will need to be enabled for this to display.
  • Why do I sometimes see a ‘localhost’ item appear in the list of items?
  • These are typically Opera userscripts or addons you have installed. As they use Javascript to interact with the page they show up as a script hosted locally.

26 thoughts on “ScriptKeeper Guide & FAQ

  1. You have great blog and extension(s maybe, I don't know others) about Opera. Keep it in development, :cheers:

  2. laurenbacall

    Thanks 🙂

  3. Edit: [I've copied the original comment w/ formatting below]

  4. Anonymous writes:My previous posting would read better if Opera retained the carriage returns! Some people are not as clever as they think!

  5. [Copied from original anonymous comment:]Anonymous writes:"An easy-to-use Javascript manager inspired by the popular NoScript add-on for for Firefox."NoScript does more than restrict the exposure to malware which uses JavaScript to push itself onto a poorly defended computer. Giorgio Maone made NoScript address other vulnerabilities also. Any plans for adding features to ScriptKeeper?Home > Extensions > Security is a section which is missing from Opera add-ons. Any other suggestions besides Ghostery (helps block all script-based trackers), NotScripts (another script blocker) and Google Classic (lean, customizable Google) ??I'll recommend Adblock Plus. That addresses trackers also, plus blocks page clutter and bandwidth snafflers. Internet access is expensive enough without this stuff riding piggyback. Then there is "malvertising". Another advantage in blocking calls to advert servers.

  6. Yes, NoScript covers a wider spectrum of such features, including ClickJacking and XXS protection, etc. I would love to see such features added, but I can't speak from a development standpoint as I'm involved with the UI.Opera already has per-site plugin control and that's what I use to filter out Flash content (I set plugins to display only when I click them in Preferences>Advanced>Content). This results in flash objects being replaced with a large grey circle that when clicked activates the object. Per-site settings are handled in Tools>Quick Preferences>Edit Site Preferences>Content.Adblock Plus is great too, I personally use it with the Easy Privacy list so I may add that to the list. Opera also actually has it's own in-built content-blocking ability, Tools>Advanced>Blocked Content (aka urlfilter.ini in the profile folder) which many people aren't aware of.

  7. Anonymous writes:Re: laurenbacall # Thursday, June 13, 2013 6:18:22 AMThank you for your reply."…, but I can't speak from a development standpoint as I'm involved with the UI." ??Haven't these others given you their email address?Are they likely to post a response on their own account?Found your link to "Home · lemonsqueeze/scriptweeder Wiki · GitHub". A good read, with feedback options!Re: urlfilter.ini – Had stumbled upon a reference to this, but would need to do more research in order to use it. However, Adblock Plus updates automatically. Much easier.Unfortunately, these approaches to controlling third party "content", and ScriptKeeper, will do much to ignore links to the "90 percent of Unknown Malware [which is] Delivered Via Web-Browsing", but a plug for Adblock Plus and a 'whole computer' alternative might be 'on topic'?Pick A Download… Part 2 | Malwarebytes Unpackedhttp://blog.malwarebytes.org/intelligence/2012/10/pick-a-download-part-2/The Modern Malware Reviewhttp://media.paloaltonetworks.com/documents/The-Modern-Malware-Review-March-2013.pdfThank you for the other pointers.

  8. One of the best resources I can recommend for security related news and in-depth analysis is the Security Now podcast. It has been running for 8 years and is hosted by Steve Gibson and Leo Laporte. Each week they cover security news, exploits, and a detailed topic. Alternate weeks are Q&A episodes.BTW I think it's an Opera blog bug that unregistered users have no line breaks in their comments, so you could create a My Opera login if you'd like formatted replies 🙂

  9. Anonymous writes:Hello,Thank you for this great add-on with such a simple UI that is very easy to use.Since so many sites host third-party scripts (especially when using user commenting features), is there a way to "investigate" which script is for some element of the site? I tried using Opera's "inspect element" feature and you can see which sections/links of a page correspond to javascript but not the specific script.Thank you again for your hard work!

  10. Someone has requested this before, so in one of future versions I'm thinking of adding a tooltip option for sites in the list, so when you hover over an item it will display a list of scripts for that site.I like the idea of being able to visually see the area of the page the script affects though, which is better than the tooltip-only concept and may be more user friendly. Not sure if it's possible, but I'll keep it in mind.The dev I'm working with is currently quite busy, so it may be awhile before you start to see new features introduced but hopefully you can wait ;)Also FYI I personally whitelist disqus.com so comments load on blogs, etc. It's not the only scripted comment system but it's certainly the most popular.

  11. laurenbacall, hi.1. Iframes is off by default on my PC. On almost all sites ScriptKeeper button is not clickable until I open site preferences and activate Iframes.So I have to enable Iframes, then click ScriptKeeper button and set permissions. And after that I deactivate Iframes. It's very inconvenient.What would you suggest?Do I need Iframes off by default on my PC while ScriptKeeper is on?2. I see that ScriptWeeder's author (lemonsqueeze) is co-auther of ScriptKeeper.What add-on is better? Why two? Any comments, please.3. Do I need Ghostery with ScriptKeeper?

  12. laurenbacall, why so many ScriptKeeper's buttons (and ScriptKeeper's windows): http://savepic.org/4220176.png

  13. Hi there myzzkk,1. Yes, ScriptKeeper requires iframes to be enabled in Opera to view the interface. What many people don't realize, however, is that disabling iframes in Opera actually doesn't 'disable' iframes in websites it only hides them visually (it's been that way for around 10 years).So if the reason for disabling iframes was for security reasons (namely scripting) then you're better off turning the option back on in the preferences and using a script manager such as ScriptKeeper to truly disable scripts from them.Edit: As for why there are multiple ScriptKeeper buttons on the page you linked to, it's because if a site uses frames the regular UI can't be displayed, so each frame will displays a button instead. This hasn't to do with iframes, but outdated HTML frame elements. Updated with info from previous bug report.2. Which is better is up to you 😉 Try them both and see which one you prefer. ScriptKeeper has certain features unique to it, such as more temporary permissions control in the UI, inline scripts can be disabled in the regular modes, and a top-level site permission option. It was made to be easy to use.3. Ghostery can block known tracking scripts, cookies and embedded trackers (web bugs, etc), so it serves as a blacklist for those scripts/elements. A script blocker will disable script-based trackers as a side-effect, but won't have them all in a blacklist, so unless you're careful changing permissions may enable them. Personally I use Adblock Plus with the EasyPrivacy list which contains a blacklist of trackers and doubles as an ad blocker.

  14. laurenbacall, thank you for irrefragable answer. But about multiple ScriptKeeper buttons…Ok with multiple buttons but why some of them open ScriptKeeper's windows automatically (look at the picture above)?By the way, ScriptWeeder set several buttons too but it doesn't open its windows. Could you fix this?P. S. To my mind, it will be more usable if there will be one button on toolbar (as always). And all of iframes have the same settings (or what ever you say… actually I don't get you exactly) from main toolbar button. Or… toolbar button combine all scripts from all iframes…Am I clear? Sorry for my english. )

  15. terry writes:hi, what about opera 15..

  16. Originally posted by myzzkk:

    Ok with multiple buttons but why some of them open ScriptKeeper's windows automatically (look at the picture above)?By the way, ScriptWeeder set several buttons too but it doesn't open its windows. Could you fix this?

    I'll add this as a bug to be fixed in the next version, thanks.Originally posted by myzzkk:

    P. S. To my mind, it will be more usable if there will be one button on toolbar (as always) and all of iframes have the same setting

    I've edited my original comment with updated and more correct information. It would be ideal if it were one toolbar button, unfortunately there doesn't appear a way around it due to the frames (not iframes). Your English is very good btw :)Originally posted by anonymous:

    terry writes:hi, what about opera 15..

    Currently Opera 15 is missing a particular API that ScriptKeeper would require to be ported, so for the time being only the Presto version is updated. An entire rewrite is necessary, so it may be a while before you see a Blink version.

  17. Anonymous writes:I installed the scriptkeeper extension, but it does not do anything. I played with enabling and disabling JS, and did get an icon to appear on the toolbar. It appeared to block scripts initially on opera.com and then stopped doing anything. Could someone be so kind to tell me if this extension requires persistent storage or has setting requirements to function on Opera 12.16?

  18. Anonymous writes:Sorry, I need to add a couple of things…I do not see any preferences or any of the screens described in the posting on top. There is no "Quick Access Menu" etc.

  19. Originally posted by anonymous:

    I installed the scriptkeeper extension, but it does not do anything. I played with enabling and disabling JS, and did get an icon to appear on the toolbar.Sorry, I need to add a couple of things…I do not see any preferences or any of the screens described in the posting on top. There is no "Quick Access Menu" etc.

    Both iframes and Javascript need to be enabled in the Opera preferences, so ScriptKeeper's interface can be displayed and so the extension can manage JS.As for storage settings I personally have all the Persistent Storage settings as the default, except the User JS quota which is set to 500. It may be that some other preference is conflicting with ScriptKeeper, as a couple of users have found that resetting their operaprefs.ini has resolved some unusual issues.

  20. laurenbacall , sometimes the button shows very big number – 391 or smth. like that.Sometimes that number is changing (while nothing to do with the loaded page) from, for example, 4 to 391 and to 4 and to 395 and to 4 and to 399 and so on. What is this?

  21. @myzzkk, do you have an example site where that happens? I once encountered a seemingly poorly coded page which dynamically loaded scripts as different content was added that pushed the script count up bit by bit, but it sounds like you might have found something else?

  22. @laurenbacall, I've watched for a few days and it seems to be OK again. I guess it was such a rare bug or smth. Maybe cache-bug?

  23. abc writes:How to access preferences of the extension? The only sign that it's installed is through Tools > Extensions > Manage Extensions and there the preferences are greyed out.

  24. @myzzkk Not sure what it was, glad it isn't a problem now though :)@abc The addon settings can be accessed by clicking the ScriptKeeper toolbar icon when a webpage is open. There is a cog icon in the bottom-left corner of the interface. ScriptKeeper, like several other addons, doesn't utilize the standard Opera addon preferences page.

  25. laurenbacall, are there any news about Blink API you need? What Blink developers say?

    • Hey myzzkk, sorry I missed your comment approval! At this point there are no plans to by the developer I was collaborating with (lemonsqueeze) for a Blink version. This was originally because the API was missing a couple key functions that ScriptKeeper used, but also as they lacked the time to rewrite the addon from the ground-up.

      Lemonsqueeze has said it’s open for others to work on the Blink version, but I haven’t been keeping an eye on whether the API has added the functions necessary for a ScriptKeeper re-write.

      Hope that answers your question 🙂 For the time being both ScriptKeeper and ScriptWeeder are Presto-only addons.

Leave a reply to myzzkk Cancel reply