LINUX.ORG.RU

История изменений

Исправление Zmicier, (текущая версия) :

Описываю. У меня есть пять прокси, я должен между ними переключаться, но я не могу это сделать без перезапуска браузера с новыми параметрами и новым профилем.

Ну не знаю, я почему-то могу. Я использую командный интерфейс Пентадактиля, но собственно переключение к нему никак не привязано, так что вот вам выдержка из ~/.pentadactylrc, адаптируйте под ваш интерфейс:

com proxy -description "Switch proxy"
    \ -nargs=1
    \ -complete custom,'[
    \    ["off", "Direct connection"],
    \    ["pac", "Pattern-based"],
    \    ["tor", "TOR"]
    \    ]'
    \ -js <<EOF

    // constants
    let proxyOff = 0;
    let proxyManual = 1;
    let proxyPAC = 2;

    switch(args[0]) {
        case 'off':
            prefs.set("network.proxy.type", proxyOff);
            break;
        case 'tor':
            prefs.set("network.proxy.type", proxyManual);
            prefs.set("network.proxy.socks", "localhost");
            prefs.set("network.proxy.socks_port", 9050);
            prefs.set("network.proxy.socks_version", 5);
            prefs.set("network.proxy.socks_remote_dns", true);
            break;
        case 'pac':
            prefs.set("network.proxy.type", proxyPAC);
            prefs.set("network.proxy.autoconfig_url",
                "file://" + OS.Constants.Path.homeDir + "/.pac");
            prefs.set("network.proxy.socks_remote_dns", true);
            break;
        default:
            dactyl.echoerr("Unknown parameter");
    }
EOF

proxy pac

Исходная версия Zmicier, :

Описываю. У меня есть пять прокси, я должен между ними переключаться, но я не могу это сделать без перезапуска браузера с новыми параметрами и новым профилем.

Ну не знаю, я почему-то могу. Я использую командный интерфейс Пентадактиля, но собственно переключение к нему никак не привязано, так что вот вам выдержка из ~/.pentadactylrc, адаптируйте под ваш интерфейс:

" Proxy {{{
com proxy -description "Switch proxy"
    \ -nargs=1
    \ -complete custom,'[
    \    ["off", "Direct connection"],
    \    ["pac", "Pattern-based"],
    \    ["tor", "TOR"]
    \    ]'
    \ -js <<EOF

    // constants
    let proxyOff = 0;
    let proxyManual = 1;
    let proxyPAC = 2;

    switch(args[0]) {
        case 'off':
            prefs.set("network.proxy.type", proxyOff);
            break;
        case 'tor':
            prefs.set("network.proxy.type", proxyManual);
            prefs.set("network.proxy.socks", "localhost");
            prefs.set("network.proxy.socks_port", 9050);
            prefs.set("network.proxy.socks_version", 5);
            prefs.set("network.proxy.socks_remote_dns", true);
            break;
        case 'pac':
            prefs.set("network.proxy.type", proxyPAC);
            prefs.set("network.proxy.autoconfig_url",
                "file://" + OS.Constants.Path.homeDir + "/.pac");
            prefs.set("network.proxy.socks_remote_dns", true);
            break;
        default:
            dactyl.echoerr("Unknown parameter");
    }
EOF

proxy pac