настройки прокси Firefox через командную строку

Вы можете передавать реквизиты из класса, из которого вы звоните <Popup>, например:

export default class Parent extends Component{

....
<Button
 title={"Make Popup visible Button"}
 onPress={()=>this.setState({isPopupVisible:true})
/>

<Popup isVisible={this.state.isPopupVisible} />

....
}

, а в классе Popup вы должны назначить переданные реквизиты isVisible из родительского класса в состояние класса Popup - isshowing .

Если во всплывающем окне не используется какое-либо состояние (как во многих случаях), вам следует рассмотреть возможность использования SFC (Stateless Functional Component). Это намного легче поддерживать.

40
задан Guss 9 September 2009 в 19:08
поделиться

8 ответов

Параметры прокси-сервера хранятся в пользовательском prefs.js в своем профиле Firefox.

Путь к каталогу профиля Firefox и файлу:

%APPDATA%\Mozilla\Firefox\Profiles\7b9ja6xv.default\prefs.js

, где « 7b9ja6xv » - случайная строка. Однако каталог профиля по умолчанию всегда заканчивается на «.default». В большинстве случаев в любом случае будет только один профиль.

Настройки, которые вам нужны, называются « network.proxy.http » и « network.proxy.http_port ».

Теперь это зависит от того, какую технологию вы можете / готовы использовать для изменения файла.

PS: Если речь идет об изменении настроек прокси-сервера для группы пользователей с помощью сценария входа в систему или подобного, я рекомендую изучить возможность использования механизма автоматического обнаружения прокси ( WPAD ). Вам больше никогда не придется менять конфигурацию прокси на пользовательском компьютере.

17
ответ дан 27 November 2019 в 01:51
поделиться

Я не думаю, что есть прямой способ установить прокси (в Windows).

Однако вы можете установить надстройку, например FoxyProxy, создать несколько конфигураций для разных прокси и перед запуском FireFox переместить соответствующую конфигурацию в нужную папку в вашем профиле FireFox (с помощью командного файла).

0
ответ дан 27 November 2019 в 01:51
поделиться

Firefox? Я не думаю, что ты сможешь. IE - совсем другая история ..

-4
ответ дан 27 November 2019 в 01:51
поделиться

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

firefox -no-remote -P <profilename>
9
ответ дан 27 November 2019 в 01:51
поделиться

Самый простой способ для этого нужно настроить Firefox для использования PAC с URL-адресом файла, а затем изменить URL-адрес файла с помощью строковой команды перед запуском Firefox.

Это самый простой способ. Вам не нужно писать скрипт, который запоминает путь к prefs.js (который может со временем измениться).

Вы настраиваете свой профиль один раз,

4
ответ дан 27 November 2019 в 01:51
поделиться

Большое спасибо, я нашел ответы на этом сайте.

Здесь я имею в виду создание cmd-файла

с помощью minimo

cd /D "%APPDATA%\Mozilla\Firefox\Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.http", "192.168.1.235 ");>>"%ffile%\prefs.js"
echo user_pref("network.proxy.http_port", 80);>>"%ffile%\prefs.js"
echo user_pref("network.proxy.type", 1);>>"%ffile%\prefs.js"
set ffile=
cd %windir%
0
ответ дан 27 November 2019 в 01:51
поделиться

Просто хотел опубликовать код в более чистом формате ... первоначально отправлено sam3344920

cd /D "%APPDATA%\Mozilla\Firefox\Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.http", "148.233.229.235 ");>>"%ffile%\prefs.js"
echo user_pref("network.proxy.http_port", 3128);>>"%ffile%\prefs.js"
echo user_pref("network.proxy.type", 1);>>"%ffile%\prefs.js"
set ffile=
cd %windir%

Если кто-то хочет удалить настройки прокси, вот код, который сделает это за вас.

cd /D "%APPDATA%\Mozilla\Firefox\Profiles"
cd *.default
set ffile=%cd%
type "%ffile%\prefs.js" | findstr /v "user_pref("network.proxy.type", 1);" >"%ffile%\prefs_.js"
rename "%ffile%\prefs.js" "prefs__.js"
rename "%ffile%\prefs_.js" "prefs.js"
del "%ffile%\prefs__.js"
set ffile=
cd %windir%

Объяснение: Код идет и находит файл perfs.js. Затем ищет в нем строку "user_pref (" network.proxy.type ", 1);" . Если он его находит, он удаляет файл с параметром / v. Причина, по которой я добавил строки переименования и удаления, заключается в том, что я не смог найти способ перезаписать файл после удаления строки прокси. Я уверен, что есть более эффективный / безопасный способ сделать это ...

9
ответ дан 27 November 2019 в 01:51
поделиться

cd / D "% APPDATA% \ Mozilla \ Firefox \ Profiles" cd * .default set ffile =% cd% echo user_pref ("network.proxy.http", "% 1"); >> "% ffile% \ prefs.js" echo user_pref ("network .proxy.http_port ", 3128); >>"% ffile% \ prefs.js "echo user_pref (" network.proxy.type ", 1);> > "% ffile% \ prefs.js" set ffile = cd % windir%

Это здорово! Спасибо, что написали это. Мне нужен именно этот фрагмент кода для Windows. Моя цель состояла в том, чтобы сделать это, сначала научившись делать это с Linux, а затем выучив оболочку Windows, что мне не понравилось, поэтому вы сэкономили мне время!

Моя версия для Linux находится внизу этого поста. Я экспериментировал с тем, в какой файл вставить префы. Вроде придирчиво. Сначала я попробовал ~ / .mozilla / firefox / *. Default / prefs.js, но он не загрузился очень хорошо. На экране about: config мои изменения не отображались. В настоящее время я пытаюсь отредактировать фактический файл настроек Firefox по умолчанию. Если у кого-то есть знания в голове, могут ли они переписать код Windows, чтобы добавить строки только в том случае, если их там еще нет? Я понятия не имею, как делать sed / awk в Windows без предварительной установки Cygwin.

Единственное изменение, которое я смог внести в сценарии Windows, приведено выше в цитируемой части. Я меняю IP-адрес на% 1, поэтому, когда вы вызываете сценарий из командной строки, вы можете дать ему возможность вместо изменения файла.

#!/bin/bash
version="`firefox -v | awk '{print substr($3,1,3)}'`"
echo $version " is the version."
# Insert an ip into firefox for the proxy if there isn't one
if
! grep network.proxy.http /etc/firefox-$version/pref/firefox.js 
  then echo 'pref("network.proxy.http", "'"$1"'")";' >> /etc/firefox-$version/pref/firefox.js 
fi

# Even if there is change it to what we want
sed -i s/^.*network.proxy.http\".*$/'pref("network.proxy.http", "'"$1"')";'/  /etc/firefox-$version/pref/firefox.js 

# Set the port
if ! grep network.proxy.http_port /etc/firefox-$version/pref/firefox.js 
  then echo 'pref("network.proxy.http_port", 9980);' >> /etc/firefox-$version/pref/firefox.js 
  else sed -i s/^.*network.proxy.http_port.*$/'pref("network.proxy.http_port", 9980);'/ /etc/firefox-$version/pref/firefox.js 
fi

# Turn on the proxy
if ! grep network.proxy.type  /etc/firefox-$version/pref/firefox.js 
  then echo 'pref("network.proxy.type", 1);' >> /etc/firefox-$version/pref/firefox.js 
  else sed -i s/^.*network.proxy.type.*$/'pref("network.proxy.type", 1)";'/ /etc/firefox-$version/pref/firefox.js 
fi
4
ответ дан 27 November 2019 в 01:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: