Skip to content

li-yinan/node-grant-setproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-grant-setproxy

mac only!!! setup proxy, type password only once

Usage:

import {exec, setDialogName} from 'grant-setproxy';
// set mac os x grant dialog name
setDialogName('node-grant-setproxy');
await exec('-setwebproxystate', 'Wi-Fi', 'on');

type password once to authorize, never type again

you can find all avaliable args by typing networksetup in the command line;

Trouble Shooting

why can't my app change the proxy state?

use exactly 'Wi-Fi', not 'wi-fi', you can find the exact name in network settings

why does my app show grant dialog many times?

exec return a Promise, please use await

Wrong way, this will show dialog more than once:

exec('-setwebproxystate', 'Wi-Fi', 'on');
exec('-setwebproxystate', 'wi-Fi', 'off');

Right way, recommanded, es7

await exec('-setwebproxystate', 'Wi-Fi', 'on');
await exec('-setwebproxystate', 'Wi-Fi', 'off');

Right way, es6, es5 or es3

exec('-setwebproxystate', 'Wi-Fi', 'on').then(function () {
    exec('-setwebproxystate', 'Wi-Fi', 'off');
});

Example:

process.on('SIGINT', async function () {
    // disable proxy when control-c
    await exec('-setwebproxystate', 'Wi-Fi', 'off');
});

// set proxy to 127.0.0.1:8080
await exec('-setwebproxy', 'Wi-Fi', '127.0.0.1', '8080');

About

setup proxy, type password only once

Resources

License

Stars

Watchers

Forks

Packages

No packages published