NoScript 1.9.2.8 "stabilizes" a feature requested by many users and introduced experimentally in version 1.9.2: a way to synchronize NoScript's configuration across multiple PCs with no need of exporting/transporting any configuration file.

To accomplish this goal, NoScript persists all its preferences, whitelist and blacklist included, in a special bookmark every time they change. Then starts watching for external modifications of this bookmark, and if it detects any, loads the new configuration.

Therefore you can use any bookmark synchronization system (such as Mozilla Weave or XMarks, the two currently tested) to share your NoScript configuration changes with as many Internet-connected browser profiles as you need.

The implementation is quite simple, thanks to the Places API, but this means that it requires Firefox 3 or better.

How can you start?

  • On your "master" workstation:

    1. Install NoScript 1.9.2.8 or above.
    2. Install Mozilla Weave or the XMarks extension and configure a bookmark synchronization profile. Notice that both these systems allow you to host your data on a server of your own, even though Weave offers encryption both for transport and storage.
    3. Open the NoScript Options dialog and tick the General|Backup NoScript configuration in a bookmark for easy synchronization checkbox, then click "OK". A new bookmark folder named [NoScript] should have been created inside your Bookmarks menu.
    4. Right click the XMarks or Weave icon and select Sync now.
  • On each "slave" workstation:

    1. Install NoScript 1.9.2.8 or above.
    2. Install Weave or XMarks and configure the same synchronization profile you created on your "master" workstation.
    3. Right click the Weave or XMark icon and select Sync Now.
    4. As soon as the synchronization completes, open NoScript Options and tick the General|Backup NoScript configuration in a bookmark for easy synchronization checkbox, then click "OK".
    5. A confirmation prompt will ask you if you really want to overwrite your configuration with the content of the synchronized bookmark. Answer "OK".

Now "master" and "slave(s)" share an identical NoScript configuration. From now on, every time you change any preference or permission, the special bookmark will be updated and can be synchronized by Weave or XMark, either manually or automatically, e.g. when you start or exit the browser, transparently and with no more confirmations.

If you find any bug, need support or have suggestions to improve this feature, you can join the discussion here.

8 Responses to “Synchronizing NoScript Configuration Using Weave or XMarks”

  1. #1 Laurens Holst says:

    As much as I think settings synchronisation is nice, this seems a bit like a hack :). Maybe the next XMarks feature should be to synchronise settings? They can already do bookmarks and passwords…

  2. #2 Giorgio says:

    @Laurens Holst:
    this is a hack, definitely.
    But it's also the cheapest way to piggyback onto a well proven and reliable service, which provides encryption, storage and conflict resolution for free without reinventing the wheel.

    Generic settings synchronization is not suitable, because some preferences are transient and other are system specific: therefore some kind of application-specific logic is always needed.
    NoScript, for instance, prevents persistence on startup not to pollute the shared storage and explicitly avoids syncing temporary whitelists and other transient data.

  3. #3 alanjstr says:

    Well, Xmarks did add support for password synch, so maybe the two of you can work together on an API so its no longer a hack. You could choose to sync whitelists, blacklists...

  4. #4 Justin Dolske says:

    Cool, but yeah, this does seem to be a bit of a hack.

    Have you talked with the Labs guys about adding preference-sync support to Weave? (Maybe they're already planning it, I don't know). It would be great if extensions could just opt-in to sharing a particular pref branch through Weave (or some more general arbitrary-data sync). I'm sure the Labs guys would welcome your input (not to mention patches! :).

  5. #5 GµårÐïåñ says:

    Thank you Giorgio. This may be a hack and it may rely on a system that I personally don't feel like using but the fact that it can be achieved by manually syncing as well and not using a third-party service makes it a useful addition as a feature. Thanks and keep up the good work.

  6. #6 Nan M says:

    Nice one, Prof :-)
    #NS bonus
    The feature's been petitioned for more than any other feature - - except B****list in the UI, of course ;-)

    your Western Australian fans

  7. #7 wastelandamerica.com says:

    Thank you! Thank you! Thank you! You've now made my mobile Firefox fortress more secure than ever. I have to tell you about my firefox set-up. I'm no programmer, just a guy who spends time on computers. I have xmarks, FEBE, noscript, foxyproxy and no-ads installed on my firefox on my laptop. Xmarks keeps my bookmarks and my passwords, noscript and foxyproxy keep me secure, and no-ads just makes ads not eyesores. FEBE stores my themes and extensions on box.net, so anywhere there's firefox I'll be able to get my fortress online in seconds! This post just makes it even easier because I won't have to reconfig noscript! Thank you! Thank you!

    I hear you're into internet freedom and anti-capitalism. I'm interested in seeing what you think. I haven't delved into your blog yet, do you blog about it? And in a blatant act of blog-whoring, I invite you to check out my blog at wastelandamerica.com because my blog is also interested in those topics. But it's more specificially about how culture and the do's and don'ts of our world are a result of communication tech, and how we can use them to build a more just world.

  8. #8 Marth’s Firefox Add-ons « The Unofficial Café Kong Blog says:

    [...] block and allow websites to use JavaScript, Flash, and Java. It’s very easy to customize, and settings can be imported to other computers running Firefox using Weave or XMarks. Posted in Firefox Add-ons, [...]

Bad Behavior has blocked 2326 access attempts in the last 7 days.