Я создаю электронный проект, часть которого будет программно устанавливать сетевой прокси системы в Mac OS.
Кажется, что нет встроенного системного API (ни из nodejs, ни из электронного), который мог бы достичь этого,В качестве альтернативы мне удается сменить прокси, отменив команду networksetup с модулем child_process.Но при каждом отзыве появляется следующий диалог для пароля, который довольно раздражает.
var cp = require('child_process')
cp.exec(`networksetup -setproxyautodiscovery eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})
cp.exec(`networksetup -setautoproxystate eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})
cp.exec(`networksetup -setwebproxystate eth0 off`, function (error, stdout, stderr) {
if (error) {
console.log(error)
}
})
Приведенный выше фрагмент будет всплывать три раза при отзыве,На этапе разработки я могу предоставить привилегии root для смягчения этой проблемы (sudo node test.js
).
Я ищу помощи, как решить эту проблему после пакета (После распространения среди пользователей невозможно или не удобно просить пользователя запустить приложение в терминале с привилегиями root).Я ожидаю попросить пользователя предоставить привилегию один раз во время запуска приложения.Нет гранта больше во время выполнения приложения.
Любая помощь будет очень ценится.