Как я могу изменить прокси из JavaScript (используя аддон)? - PullRequest
1 голос
/ 23 октября 2011

Как я могу изменить настройки прокси Firefox из javascript (используя аддон)?

Ответы [ 3 ]

2 голосов
/ 16 июня 2013

В настоящее время (2013) это очень просто, используя последний SDK (1.14), вы можете сделать это с помощью нескольких строк кода:

const {Cu} = require("chrome");
Cu.import("resource://gre/modules/Services.jsm");
Services.prefs.setCharPref("network.proxy.http", proxy_ip);
Services.prefs.setIntPref("network.proxy.http_port", proxy_port);
Services.prefs.setIntPref("network.proxy.type", 1);

Вы также можете установить IP-адрес и порт прокси-сервера ftp и ssl, еслиты хочешь.Переменные proxy_ip и proxy_port содержат то, что описывает их имя.

Этот фрагмент кода был скопирован из новой надстройки прокси для Firefox , но любое расширение, использующее последний SDK, будет делатьто же самое.

1 голос
/ 02 февраля 2012

просто

netscape.security.PrivilegeManager
  .enablePrivilege("UniversalBrowserAccess UniversalXPConnect");
  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
              .getService(Components.interfaces.nsIPrefBranch);

     prefs.setIntPref("network.proxy.type", 1);


 prefs.setCharPref("network.proxy.http", "5.5.5.5");
 prefs.setIntPref("network.proxy.http_port", "80");

prefs.setCharPref("javascript.enabled", "true");
0 голосов
/ 03 ноября 2011

Как утверждают другие: FoxyProxy выполняет эту роль с точки зрения пользователя.Конечно, можно редактировать конфигурации, используя nsIPrefService , если вы хотите сделать это из своего собственного расширения для какой-то другой цели - но очень сложно не повредить взаимодействие с пользователем таким образом (например, непреднамеренно переопределить другое расширение)), когда вы редактируете глобальное состояние браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...