Google-chrome – enable an extension synced via Google only on some Chrome installs

google-chromegoogle-chrome-extensions

Google Chrome's sync feature is quite nice and very useful in many instances, though a few are somewhat annoying. Mouse Gesture extensions somewhat lose their usefulness and occasionally get in the way on laptops.

Whenever I enable or disable the extension on either of my computers, it syncs that with the other; can I selectively break this link somehow?

Best Answer

Not my answer, content copied to avoid link rot from here.


Based on the security concern, Chrome doesn't sync any extension which contains an NPAPI plugin.

Source

What is a NPAPI plugin?

Code running in an NPAPI plugin has the full permissions of the current user and is not sandboxed or shielded from malicious input by Google Chrome in any way. You should be especially cautious when processing input from untrusted sources, such as when working with content scripts or XMLHttpRequest.

Source

Theory

If we modify your extension in a way that Chrome recognize the extension using NPAPI, you should be fine.

How to

  1. First, you neet a dummy .dll from any NPAPI extension like Screen Capture by Google
    Install the extension and search the file screen_capture.dll in Chrome's user profile folder
    ..\profile\Default\Extensions\cpngackimfmofbokmjmljamhdncknpmg\5.0.5_0\plugin

  2. Second, go to the extensions folder that should not be synced. In your case Gestures for Chrome.
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Modify the manifest.json file and add the NPAPI plugin as described on Stackoverflow

    "plugins": [
        { "path": "your_npapi_plugin.dll" }    
    ],
    
  4. Modify the background.html file, also described on the Stackoverflow answer above.

    <script>
    var plugin = document.getElementById("MyNPAPIPluginId");
    ...
    </script>
    

From here you are on your own. I don't know enough about extensions coding.
Thats why it is a theory :)

Related Question