diff --git a/package.json b/package.json index 9183b5d..b1b419a 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "chalk": "^1.1.1", "http-mitm-proxy": "^0.4.0", "istextorbinary": "^1.0.2", - "minimist": "^1.2.0" + "minimist": "^1.2.0", + "system-proxy": "https://github.com/kdzwinel/system-proxy" }, "devDependencies": { "electron-packager": "^6.0.0", diff --git a/src/main.js b/src/main.js index c300f3a..76c4043 100644 --- a/src/main.js +++ b/src/main.js @@ -67,6 +67,8 @@ const options = { app.on('ready', () => { + process.title = 'betwixt'; + let mainWindow = new BrowserWindow({ title: 'Betwixt ⚡', width: 800, diff --git a/src/menu.js b/src/menu.js index e4df146..21041f0 100644 --- a/src/menu.js +++ b/src/menu.js @@ -2,6 +2,7 @@ const shell = require('electron').shell; const path = require('path'); +const proxy = require('system-proxy'); function buildMenu(app, options) { const template = [ @@ -51,6 +52,22 @@ function buildMenu(app, options) { click: () => { shell.showItemInFolder(path.resolve(options.sslCaDir, 'certs', 'ca.pem')); } + }, + { + label: 'Enable system proxy', + click: () => { + proxy.setProxyOn('localhost', options.port) + .then(() => console.log('Proxy enable OK')) + .catch(() => console.log('Proxy enable FAIL')); + } + }, + { + label: 'Disable system proxy', + click: () => { + proxy.setProxyOff('localhost', options.port) + .then(() => console.log('Proxy disable OK')) + .catch(() => console.log('Proxy enable FAIL')); + } } ] }