Какой параметр надо изменить в about: config (в настройках выбор не сохраняется при перезапуске), чтобы ФФ всегда запускался с выбором прокси на пункте Использовать системные настройки прокси?
Спасибо.

ALEX_45_ORP
Попробуйте добавить эту настройку -> lockPref("network.proxy.type", 5);  в config.js

kokoss сработало, но не совсем так как мне нужно было, а именно - мне надо чтоб выбор был активным, а у вас он заблокирован - внизу примеры:
a09b3ca4eaa277819161498330fea814.jpeg 07057da10aac88060400f20e1b6039b4.jpeg

Сами же хотели ->


ALEX_45_ORP пишет

чтобы ФФ всегда запускался с выбором прокси на пункте Использовать системные настройки прокси?

тогда ищите причину почему у вас не сохраняются настройки прокси. У меня сохраняются!

kokoss может как-то код изменить и он заработает как надо??
дело в том, что у меня сборка (и она меня в главном устраивает), просто какие там были внедрены прокси листы, они перестали работать и теперь сижу на системном VPN, так что вот так как-то ...
Давайте код доведем до ума, а?

либо изменить этот код кнопки:

Выделить код

Код:

(ps => {   
                                                                      
     
   this._handleClick = () => {
		var direct = ps.getIntPref(s) == 0;
		var msg = `       Прокси серверы : В${direct ? "" : "ы"}ключить ?`;

		if (!Services.prompt.confirm(null, "ВНИМАНИЕ !", msg)) return;

		ps.setIntPref(s, direct ? 2 : 0);
		var method = `${direct ? "en" : "dis"}able`;
		AddonManager.getAddonByID("{acf99872-d701-4863-adc2-cdda1163aa34}")
			.then(addon => addon[method](), Cu.reportError);
	}
     var s = "network.proxy.type";
 
    var toggleImage = val => {
        this.icon.src = (val = ps.getIntPref(s, 2))
            ? this.image
            : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFklEQVR42mO0DwpKaG9vL2VmZmb8+/fvPwY84P///2DMwcHBcuHChZcp4eE5jJeePn2hIyUl/uDTJwZuLi4GFhYWBmZsmqH073//GD5+/MigIijIEJmTM4Px1Z8/H86dP8/vYWrKQAoAuSS1omIp46u/fz9cunSJ38XQkCQDvgINyCouXsL49v//D+cvXCDZgBe/fzOUl5cvYfwMNODA8eP8vlZW5BnwDWjAvhMn+H0sLUky4Mn37wzV1dUQAw6fPcvvbmJCkgEPPn9mqK+vX8L4E2QAGWFw5/17hubm5iWMv4AGnL55k99aQ4MkA26/e8fQ0dGxlPHxt28vZDg5xUGCf4H4JxD/AOI/f/8y/AMmmt/AwAJhYCplYGRkZPjz5w9YnJeXFxSICxhN3N3zSkpK8kH6371791UOCHR0dIR+/frFAMIgDaBE8+rVq78XL158BBT7xMPDw/f69evvrXV1pYxAjSDMA8R8wWlphfn5+SlAM/iB6R1sI0jz169fwfjs2bN3m5qaWu+fObMO6uAvjDA/uUdFle1YurQTxP4KxL+AmAnkFSAGuoxBREiIQRDIfvjlyxcFXl5QnF9hgNoOAUJCdsuWL1/m4+YmzQU14BdUig2IWYD4LTAsgDn31KT6+hAg9zGqARAgJ6OvH2Fubm6hrq4uC/QrFzDA/r958+Yz0P/3Dx8+fOjPy5drgepewzQAAJP3DZ3PnU32AAAAAElFTkSuQmCC";             
        this.tooltipText = val ? 'Автопрокси' : 'Без прокси';



        BrowserReload();
 
        cbu.setPrefs("network.proxy.autoconfig_url", val ? "resource://chrome/proxy/proxy2.pac" : "resource://chrome/proxy/proxy2.pac");
        cbu.setPrefs("intl.accept_languages", val ? "fr" : "ru");
        cbu.setPrefs("browser.zoom.full", val ? true : true); 
       cbu.setPrefs("media.autoplay.default", val ? 5 : 5); 

        
    }
    toggleImage();
    ps.addObserver(s, toggleImage, false);
    addDestructor(() => ps.removeObserver(s, toggleImage));
})(Services.prefs);
this.onclick = e => e.button != 1 || gShowPopup(this); 
this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() };

так, чтобы он переключал на системные настройки прокси ... так даже лучше будет.

ALEX_45_ORP
Попробуйте 0 изменить на 5

kokoss пишет

Попробуйте 0 изменить на 5

не помогло ...

ALEX_45_ORP пишет

не помогло ...

Попробуйте так ->

скрытый текст

Выделить код

Код:

(ps => {   
                                                                      
     
   this._handleClick = () => {
		var direct = ps.getIntPref(s) == 5;
		var msg = `       Прокси серверы : В${direct ? "" : "ы"}ключить ?`;

		if (!Services.prompt.confirm(null, "ВНИМАНИЕ !", msg)) return;

		ps.setIntPref(s, direct ? 2 : 5);
		var method = `${direct ? "en" : "dis"}able`;
		AddonManager.getAddonByID("{acf99872-d701-4863-adc2-cdda1163aa34}")
			.then(addon => addon[method](), Cu.reportError);
	}
     var s = "network.proxy.type";
 
    var toggleImage = val => {
        this.icon.src = (val = ps.getIntPref(s, 2))
            ? this.image
            : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFklEQVR42mO0DwpKaG9vL2VmZmb8+/fvPwY84P///2DMwcHBcuHChZcp4eE5jJeePn2hIyUl/uDTJwZuLi4GFhYWBmZsmqH073//GD5+/MigIijIEJmTM4Px1Z8/H86dP8/vYWrKQAoAuSS1omIp46u/fz9cunSJ38XQkCQDvgINyCouXsL49v//D+cvXCDZgBe/fzOUl5cvYfwMNODA8eP8vlZW5BnwDWjAvhMn+H0sLUky4Mn37wzV1dUQAw6fPcvvbmJCkgEPPn9mqK+vX8L4E2QAGWFw5/17hubm5iWMv4AGnL55k99aQ4MkA26/e8fQ0dGxlPHxt28vZDg5xUGCf4H4JxD/AOI/f/8y/AMmmt/AwAJhYCplYGRkZPjz5w9YnJeXFxSICxhN3N3zSkpK8kH6371791UOCHR0dIR+/frFAMIgDaBE8+rVq78XL158BBT7xMPDw/f69evvrXV1pYxAjSDMA8R8wWlphfn5+SlAM/iB6R1sI0jz169fwfjs2bN3m5qaWu+fObMO6uAvjDA/uUdFle1YurQTxP4KxL+AmAnkFSAGuoxBREiIQRDIfvjlyxcFXl5QnF9hgNoOAUJCdsuWL1/m4+YmzQU14BdUig2IWYD4LTAsgDn31KT6+hAg9zGqARAgJ6OvH2Fubm6hrq4uC/QrFzDA/r958+Yz0P/3Dx8+fOjPy5drgepewzQAAJP3DZ3PnU32AAAAAElFTkSuQmCC";             
        this.tooltipText = val ? 'Автопрокси' : 'Системные настройки прокси';


если не поможет тогда не знаю...

к сожалению, тоже мимо, ладно, может еще кто подтянется и подскажет ...
Вам спасибо за участие!

ALEX_45_ORP пишет

может еще кто подтянется и подскажет ...

Подскажет что?


Приведённый код переключает настройку network.proxy.type
только по клику, таким образом, не имеет никакого отношения
к проблеме «в настройках выбор не сохраняется при перезапуске».


Хоть бы buttonsoverlay.xul дал посмотреть.
upload.ee

Dumby Вот и маэстро пожаловал, теперь даже не сомневаюсь - вопрос будет решен влет!
Сборка эта вам абсолютно знакома, вы постоянно помогаете ее создателю, а я вот засиделся на уже достаточно подпротухшей 9901, отчего там даже прокси адреса старые отвалились ...
С уважением и почитанием вашего таланта в кодах, выслал buttonsoverlay.xul в личку, по каналу upload.ee
Юстас. smoke_in.gif

ALEX_45_ORP
Может вместо «при перезапуске» ты хотел написать «при следующем запуске»,
поскольку это не одно и то же, рестарт есть рестарт.
Если так, то дело в этой кнопке:


Название: «Вкл/выкл аддоны . Востановление их по умолчанию».

Иконка

Выделить код

Код:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsSAAALEgHS3X78AAADFklEQVQ4jXWUzW/URRzGP/OyO7vLbilbUNHaIuLWkwSlMUQj8V/g5k1NjNceTAN4MNwMiX+AJR5IRKoS9YYmogRvhBhTI7G00NDuJuCW0u7ub/t7mxkP80MxwiRzmZdnnuf5PvMVAB40sAcYA+rADqAGlAFJGBZIgQgY0mDAU9z7YIn1TyAXAxAKXq3AMeAAUAFMMTUgCiAH5EBSAG5jWOYQ36C4qh3sBo7l8LYNrFDFrUcN+dBeKaErVoAxbukMxkvwSg47RHgRC9KC84HtP3QArwosH6jV3V0O53cZ1ymMiOCLlOAcCI/wenwc06iTLC1jncW80IIo8mm77R3eS/ASRAr1CBrSg8lBZGFRxiDt5ISsnTiu9NmzKj14SNmpKWU+O6PMhydUsn+fTEDm4bywIDQY6aCcg04LF2OARh2mD8P0NCt792KbTXjtde4ffVNsNMdIg3wRAxloC0bHUFKgHhhsgbzTIbpwgdVen3anw5O9DboXv+ePa1e97rTF06GUPgu+KQclsRTK/hHwYlEU4UBuAB0QY8ATwC0gK5fdZK0mmtuxs0nsfHh70cEpmRaheCBtAGwhAMEEgjqCCMEz1QpHZ2Z4+dJP1GeP00MwLO7FgO6HkuLBO+D52Vl2nzwJO3fC/U2QIgiuVMFUBcBfP1+mixd7CqABeB1BZsD6wh/fagUQgF2j/wtk+/Yqyz9cRP+rwqaQyRjSGHJbSLv51df0b648Jtfw+9ynbF75BV1ISkKIU9mHZAg+Ae/Bdi/9aK+fPm3zQPA/8/Ln5217ft6aJLYKbAw+Bt+DRJdh4GGYgBegvLW+PT8v7m1t+WffedfvOnKE9cU/uX7uC7rffcvo7RVRC0ykg9zDUMBAG1izsDCElzw0AZLeJptfnufOr9dgaop4tc1g4TdGCK0hAWWD0n4NFgysibnwQd9Q8NYotEb3PVdRZaOjG4vlCK+2QZSAKngD1kHmIMsh7cGNBM4puBJ6Ta1W+Xg4nGw16hMH33t/JDfGLJ6Zqw7X10vlorG58OMzD3EJkgT6d2BtJmQ1/huP42DgbE+lQwAAAABJRU5ErkJggg==


Кнопка добавляет обсёрверы, которыми, при выходе из браузера,
устанавливается состояние включённости некоторых аддонов (это и при рестарте),
удаляется персист состояния открытости сайдбара,


и сбрасывается некоторое количество настроек, а среди них и "network.proxy.type",
так что ничего удивительного, так и задумано.

Dumby, да именно новый запуск, а что сделать-то чтоб проверить, деактивировать просто кнопку?
и как это правильно сделать, т.к. у нее нет такой функции, а удалять ее не хотелось бы - вдруг кто прокси-паки еще подкинет или сам сподоблюсь и заменю там прокси-адреса ...
2023-02-25_152323.jpg

25-02-2023 15:34:02
деактивировал, заблокировав код в кнопке - результата нужного не получил - все осталось на исходной позиции при новом запуске

ALEX_45_ORP пишет

сподоблюсь и заменю там прокси-адреса

Где «там»?
И что вообще демонстрирует скриншот?


Я тебе сказал, какое у кнопки название, и какая у кнопки иконка.
На скриншоте, ни такого названия, ни такой иконки, нигде.
Вот её вытащенная из оверлея Инициализация

скрытый текст

Выделить код

Код:

/*Initialization Code*/
((id, g) => {
    addDestructor(r => r[5] == "e" && id in g && g[id].destroy());
    if (g[id]) return;
    var {obs, xulStore, prefs} = Services;
    var topic = "quit-application", doc = document.documentURI;
    obs.addObserver(g[id] = {
        observe(s, t, data) {
            this.destroy();
            if (data != "shutdown") return;
          

xulStore.removeValue(doc, "sidebar-box", "checked");


         
            for(var pref of [
                "browser.zoom.full",
                "intl.accept_languages",
                "network.proxy.type",
                "extensions.long_left_click.timeContent",
                "browser.toolbars.bookmarks.visibility",
                 "general.autoScroll",
            ])
                prefs.clearUserPref(pref);
        },
        destroy() {
            delete g[id];
            obs.removeObserver(this, topic);
        }
    }, topic, false);

})(
    "CBQuitApplication", Cu.getGlobalForObject(Cu)
);


((id, g) => {
    addDestructor(r => r[5] == "e" && id in g && g[id].destroy());
    if (g[id]) return;
    var topic = "quit-application-granted", {obs} = Services;
    obs.addObserver(g[id] = {
        // true - disable, false - enable
        states: {
              "mozilla_cc3@internetdownloadmanager.com": false,   
            " jid1-s2tSKqH4h0BHUw@jetpack": false,
          
             "{74145f27-f039-47ce-a470-a662b129930a}": false,
           
           "{acf99872-d701-4863-adc2-cdda1163aa34}": true,
           
        },
        filter(addon) {
            var state = this.states[addon.id];
            if (
                state !== undefined && addon.userDisabled != state
                && addon.type.endsWith("extension")
                && addon.location.name != "app-builtin"
            ) {
                addon.active = addon.location.get(addon.id).enabled
                    = !(addon.userDisabled = state);
                return true;
            }
        },
        observe() {
            this.destroy();
            if (g.XPIDatabase.getAddons().filter(this.filter, this).length)
                g.XPIDatabase.saveChanges(), g.XPIStates.save();
        },
        destroy() {
            delete g[id];
            obs.removeObserver(this, topic);
        }
    }, topic, false);
})(
    "CBQuitApplicationExtensionsSwitcher",
    Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {})
);

как это правильно сделать

Следует избегать спрашивать «как правильно».
Чтобы код Инициализации не исполнялся, можно, например,
добавить первой строкой if (true) return;

Dumby пишет

Следует избегать спрашивать «как правильно».

Excuse me  ...


нашел эту кнопку по коду:
_______________________________.jpg
но и при выборе в ней системных настроек, они не сохраняются при новом запуске,  однако не нашел где расположен ее код, чтоб ему применить if (true) return;, в СВ его нет - тут ребусы  у него на каждом шагу, однако молодчик он, создал такой портативный шедевр из ФФ, жаль что чрезмерно горяч - помогал бы ему с удовольствием и далее ...

ALEX_45_ORP пишет

Excuse me

При чём здесь «Excuse me»?

скрытый текст
Я же тебя не виноватил, просто совет дал.


Допустим, есть заинтересованый ответить.
И у него есть некий вариант решения, вероятно рабочий,
но, назвать его (истинно) правильным не готов, поэтому промолчал,
или сказал «я не знаю как правильно».


Таким образом, столь излишне категоричной постановкой вопроса,
ты отсёк возможный ответ. А если никто больше вообще не ответил,
значит остался нисчем.

нашел эту кнопку

Нет, не нашёл. Это, определённо, не та кнопка.


Если можешь создать новую (пустую) кнопку, тогда размести ей во вкладке Код
(b => b ? custombuttons.editButton(b) : alert("NF"))(document.getElementById("custombuttons-button12"));
и нажми её.


Искомая кнопка должна открыться на редактирование.
Затем созданную кнопку можно удалить.

Все понял, выводы сделал, надеюсь правильные - приступаю к изготовлению кнопки (ранее уже делал для себя свои) ...

25-02-2023 18:38:37
Dumby
благодарю, все получилось - теперь запуск с системными прокси по умолчанию.
кнопка оказалось эта:
2023-02-25_183338.jpg
однако не разбираясь особо в кодах, стали глодать сомнения - отключив весь код этой кнопки первой строкой if (true) return;  не нарушил ли я этим еще какой-то ее функционал, который в будущем может оказаться востребованным?
вот ее полный код:

Выделить код

Код:

/*Initialization Code*/
if (true) return;
((id, g) => {
    addDestructor(r => r[5] == "e" && id in g && g[id].destroy());
    if (g[id]) return;
    var {obs, xulStore, prefs} = Services;
    var topic = "quit-application", doc = document.documentURI;
    obs.addObserver(g[id] = {
        observe(s, t, data) {
            this.destroy();
            if (data != "shutdown") return;
          

xulStore.removeValue(doc, "sidebar-box", "checked");


         
            for(var pref of [
                "browser.zoom.full",
                "intl.accept_languages",
                "network.proxy.type",
                "extensions.long_left_click.timeContent",
                "browser.toolbars.bookmarks.visibility",
                 "general.autoScroll",
            ])
                prefs.clearUserPref(pref);
        },
        destroy() {
            delete g[id];
            obs.removeObserver(this, topic);
        }
    }, topic, false);

})(
    "CBQuitApplication", Cu.getGlobalForObject(Cu)
);


((id, g) => {
    addDestructor(r => r[5] == "e" && id in g && g[id].destroy());
    if (g[id]) return;
    var topic = "quit-application-granted", {obs} = Services;
    obs.addObserver(g[id] = {
        // true - disable, false - enable
        states: {
              "mozilla_cc3@internetdownloadmanager.com": false,   
            " jid1-s2tSKqH4h0BHUw@jetpack": false,
          
             "{74145f27-f039-47ce-a470-a662b129930a}": false,
           
           "{acf99872-d701-4863-adc2-cdda1163aa34}": true,
           
        },
        filter(addon) {
            var state = this.states[addon.id];
            if (
                state !== undefined && addon.userDisabled != state
                && addon.type.endsWith("extension")
                && addon.location.name != "app-builtin"
            ) {
                addon.active = addon.location.get(addon.id).enabled
                    = !(addon.userDisabled = state);
                return true;
            }
        },
        observe() {
            this.destroy();
            if (g.XPIDatabase.getAddons().filter(this.filter, this).length)
                g.XPIDatabase.saveChanges(), g.XPIStates.save();
        },
        destroy() {
            delete g[id];
            obs.removeObserver(this, topic);
        }
    }, topic, false);
})(
    "CBQuitApplicationExtensionsSwitcher",
    Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {})
);

25-02-2023 18:53:02
поторопился обрадоваться - с созданной кнопкой запускал было с системными прокси по умолчанию, но запускалось постоянно окно редактирования - когда удалил созданную кнопку, окно перестало открываться для редактирования, но стала включаться кнопка прокси с выбором прокси-паков, а при ее выключении, настройки опять падали на Без прокси ...
Но нашел другой способ: нажатием двух кнопок прокси включается Системный и все работает.
Так что думаю на этом можно и остановиться,  от души благодарен вам за помощь ..., однако уже начал появляться зуд самостоятельного ковыряния нутренностей для начала этой сборки, а потом (чем черт не шутит) может и дистр начну перелопачивать под свои нужды как ВВП ...

ALEX_45_ORP пишет

отключив весь код этой кнопки первой строкой if (true) return;

Зачем же так "жестоко".
Может для начала попробуете закомментировать в выше приведённом коде строку: "network.proxy.type",

unter_officer пишет

Может для начала попробуете закомментировать в выше приведённом коде строку: "network.proxy.type",

попробовал - запускается с системными по умолчанию, и при отключ. кнопки прокси сбрасывается на Без прокси, но при повторном включении указывает на прокси-паки - это не совсем то, что нужно - а нужно чтоб при ее выкл. было Без прокси, а при вкл. Системные настройки ...

25-02-2023 19:25:05
короче оставил так, не особо много работы по включению ))):

> мне надо чтоб выбор был активным
Вместо lockPref

Выделить код

Код:

//если 5 заменяется вручную на что-то другое, следующий раз запустить браузер со значением, указаным в defaultPref
clearPref("network.proxy.type");
defaultPref("network.proxy.type", 5);
kokoss пишет

Попробуйте добавить эту настройку -> lockPref("network.proxy.type", 5);  в config.js

Зачем lockPref, зачем config.js? :sick:
Чем user_pref в user.js не устраивает?