4

Мне нужно каждый раз запускать Firefox в новом каталоге профиля с включенным расширением. Я делаю следующее:

  • Создать временный каталог для хранения профиля (/tmp/profile.123)
  • Создать каталог расширений (/tmp/profile.123/extensions)
  • Создайте прокси расширения, как описано здесь (/tmp/profile.123/extensions/myextension@my.domain)

Моя командная строка выглядит так:

firefox -no-remote -profile /tmp/profile.123 -url http://www.google.com

Проблема в том, что мое расширение начинает отключаться, и я вынужден включить его вручную и перезапустить Firefox. Можно ли сделать его включенным в первую очередь?

Спасибо!

Обходной путь, который я нашел:

Создайте файл базы данных extensions.sqlite во вновь созданной папке профиля. Этот файл должен содержать мою запись расширения под таблицей "addon".

3 ответа3

1

Похоже, обходной путь с изменением расширений.sqlite больше не работает, и такой базы данных не существует. Это было описано здесь:http://research.zscaler.com/2012/09/how-to-install-silently-malicious.html

Чтобы автоматически включить расширение при первом запуске, добавьте следующую запись в файл extensions.json, расположенный во вновь создаваемом профиле:

мой пример extensions.json

{
  "schemaVersion": 16,
  "addons": [
    {
      "id": "jid1-ZS4Xlocq0DBhdg@jetpack",
      "syncGUID": "1DNxcuq4WubL",
      "location": "app-profile",
      "version": "1.0",
      "type": "extension",
      "internalName": null,
      "updateURL": null,
      "updateKey": null,
      "optionsURL": null,
      "optionsType": null,
      "aboutURL": null,
      "iconURL": null,
      "icon64URL": null,
      "defaultLocale": {
        "name": "My cool extension name",
        "description": "Description",
        "creator": "hacker_1998",
        "homepageURL": null
      },
      "visible": true,
      "active": true,
      "userDisabled": false,
      "appDisabled": false,
      "descriptor": "c:\\tmp\\firefox001\\extensions\\jid1-ZS4Xlocq0DBhdg@jetpack.xpi",
      "installDate": 1419414549006,
      "updateDate": 1419414549006,
      "applyBackgroundUpdates": 1,
      "bootstrap": true,
      "size": 54426,
      "sourceURI": null,
      "releaseNotesURI": null,
      "softDisabled": false,
      "foreignInstall": true,
      "hasBinaryComponents": false,
      "strictCompatibility": false,
      "locales": [

      ],
      "targetApplications": [
        {
          "id": "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
          "minVersion": "26.0",
          "maxVersion": "30.0"
        }
      ],
      "targetPlatforms": [

      ],
      "multiprocessCompatible": false
    }
  ]
}

"active": true и "userDisabled": false являются ключами для автоматической активации расширения

Файл extensions.json не существует после команды "-CreateProfile" , поэтому вы должны создать его вручную.

Будьте осторожны с разными версиями Firefox.

Обновить

Если вы хотите использовать расширение сразу после первого запуска профиля, файл prefs.js также должен содержать что-то вроде:user_pref("extensions.bootstrappedAddons", "{\"CoolAddon@jetpack\":{\"version\":\"1.0\",\"type\":\"extension\",\"descriptor\":\"C:\\\\Users\\\\superuser\\\\AppData\\\\Roaming\\\\Mozilla\\\\Firefox\\\\Profiles\\\\7hkjishf.Default User\\\\extensions\\\\CoolAddon@jetpack.xpi\",\"multiprocessCompatible\":false}}");

Будьте в курсе странных кавычек, избегающих.

0

Сейчас нет возможности проверить это наверняка, но, вероятно, вам придется поиграть с extensions.enabledAddons (и / или extensions.enabledItems) в файле prefs.js в папке профиля.

Что-то вроде:

user_pref("extensions.enabledAddons", "extId1:version,extId2:version");

-1

Вы должны отредактировать файл extensions.json, как сказал Глеб, но также и "user_pref(" extensions.bootstrappedAddons "," {} ");" запись в prefs.js. Попробуйте сравнить разницу этой записи, включив и отключив расширения, вы узнаете, какую часть редактировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .