Как программно настроить сетевой прокси в Mac OS через node.js - PullRequest
1 голос
/ 05 июля 2019

Я создаю электронный проект, часть которого будет программно устанавливать сетевой прокси системы в Mac OS.

Кажется, что нет встроенного системного API (ни из nodejs, ни из электронного), который мог бы достичь этого,В качестве альтернативы мне удается сменить прокси, отменив команду networksetup с модулем child_process.Но при каждом отзыве появляется следующий диалог для пароля, который довольно раздражает.

screenshot

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).Я ожидаю попросить пользователя предоставить привилегию один раз во время запуска приложения.Нет гранта больше во время выполнения приложения.

Любая помощь будет очень ценится.

...