Как я могу изменить настройки прокси Firefox из внешней программы? - PullRequest
8 голосов
/ 01 января 2009

Я видел несколько программ (например, Charles Web Developer Proxy), которые могут изменять настройки прокси Firefox. Последовательность:

  1. Firefox запущен, с настройками прокси пользователей.
  2. Пользователь запускает внешнее стороннее приложение, которое
  3. изменяет настройки прокси Firefox, а затем
  4. пользователь выходит из сторонней программы и,
  5. Firefox возобновляет работу с исходными настройками прокси.

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

Рассмотренные варианты:

  • Напишите новый файл конфигурации пользовательских настроек и запустите новый экземпляр браузера. Будет работать, но не совсем правильно - Чарльз, например, может изменить настройки уже запущенного браузера и восстановить их без перезапуска.
  • Написать плагин. Могли бы написать плагин для Firefox, который предлагал какой-то IPC снаружи, а затем сам обрабатывал настройки предпочтений Firefox. На самом деле, я думаю, что это может быть единственным способом. Отключение плагина Charles 'Firefox, похоже, отключает его способность изменять настройки на лету.

Возможные ресурсы

Ответы [ 7 ]

3 голосов
/ 03 апреля 2009

Возможно, вы захотите посмотреть, как это делает Fiddler (www.fiddler2.com). Папка C: \ program files \ fiddler2 \ fiddlerhook \ имеет расширение Firefox, которое показывает, как это можно сделать.

2 голосов
/ 02 января 2009

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

Информация о прокси хранится в prefs.js вашего профиля, но не может быть перезагружена на лету. Firefox читает из него при запуске и пишет в него, когда он выключается, и не загружается из него между ними. Кроме того, если Firefox работает при редактировании файла prefs.js, ваши изменения будут перезаписаны.

Я думал, что вы могли бы что-то сделать с файлом PAC, но, немного покопавшись, я обнаружил, что он, похоже, не перезагружается на лету. Вам нужно будет перезагрузить компьютер, чтобы перезагрузить любые изменения настроек.

2 голосов
/ 02 января 2009

Все настройки прокси для Firefox на моем компьютере хранятся в C: \ DOCUME ~ 1 \ BRUCEX ~ 1 \ APPLIC ~ 1 \ Mozilla \ Firefox \ Profiles \ licga1pg.default \ prefs.js. Заголовок в этом файле говорит

# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
 */

Ссылка на customizing.html здесь . Таким образом, теоретически вы можете настроить некоторые или все эти

user_pref("network.proxy.backup.ftp", "squid.home-server");
user_pref("network.proxy.backup.ftp_port", 3128);
user_pref("network.proxy.backup.gopher", "squid.home-server");
user_pref("network.proxy.backup.gopher_port", 3128);
user_pref("network.proxy.backup.socks", "squid.home-server");
user_pref("network.proxy.backup.socks_port", 3128);
user_pref("network.proxy.backup.ssl", "squid.home-server");
user_pref("network.proxy.backup.ssl_port", 3128);
user_pref("network.proxy.ftp", "squid.home-server");
user_pref("network.proxy.ftp_port", 3128);
user_pref("network.proxy.gopher", "squid.home-server");
user_pref("network.proxy.gopher_port", 3128);
user_pref("network.proxy.http", "squid.home-server");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, *.my-domain");
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "squid.home-server");
user_pref("network.proxy.socks_port", 3128);
user_pref("network.proxy.ssl", "squid.home-server");
user_pref("network.proxy.ssl_port", 3128);
user_pref("network.proxy.type", 1);

хотя существует проблема с тем, чтобы Firefox перечитал их.

1 голос
/ 03 января 2009

Существует подключение ActiveX к Firefox через Элемент управления ActiveX для размещения плагинов Netscape в IE , но я сомневаюсь, что это поможет. Тем не менее, стоит посмотреть.

1 голос
/ 01 января 2009

Если вы воспользуетесь некоторыми ссылками в ответах на мой предыдущий вопрос , вы можете найти код, который вы можете использовать для настройки параметров прокси-сервера.

0 голосов
/ 19 марта 2010

Я попытался загрузить selenium rc 1.0.3 и использовал * chrome /usr/lib/firefox-3.0.10/firefox-bin, а затем URL-адрес AUT.It сработало. Возможно, они удалили * пользовательский режим работает с 1.0.3 (мое предположение), потому что, разархивировав файл selenium-server.jar, я не смог найти какой-либо файл custom.class, в отличие от более ранних версий, где в selenium-server был файл custom.class. .jar файл.

0 голосов
/ 11 февраля 2009

Даже когда я сталкивался с проблемой настроек соединения, выполненных для использования прокси-сервера вручную, это не отражалось при запуске браузера Firefox из стороннего приложения (я работаю над селеном)

Я устал от добавления файла users.js в C: \ Program Files \ Mozilla Firefox \ defaults \ profile

с изменениями, как предложено выше (добавление user_pref) операторов, но почему-то мой браузер Firefox все еще не принимал упомянутые изменения. То же самое даже в моем файле prefs.js в том же месте (на самом деле мой файл prefs.js пуст!)

Но есть другой способ сделать это ... в C: \ Program Files \ Mozilla Firefox \ greprefs \ all.js внесите те же изменения, которые были предложены выше pref ("network.proxy.type", 0); до 1 pref ("network.proxy.http", ""); к местному pref ("network.proxy.http_port", 0); до 4444

и все заработало .. Но я не уверен, что это правильный способ, так как мы меняем файл в установочном каталоге. Кстати, это ошибка с Firefox ??

Ценю ваши комментарии

...