Skip to content

Commit 66c6d78

Browse files
committed
Add macOS split tunneling
1 parent 7d532b0 commit 66c6d78

File tree

6 files changed

+441
-17
lines changed

6 files changed

+441
-17
lines changed

gui/package-lock.json

+84-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gui/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"react-redux": "^7.2.9",
2424
"react-router": "^5.3.4",
2525
"redux": "^4.2.0",
26+
"simple-plist": "^1.3.1",
2627
"sprintf-js": "^1.1.2",
2728
"styled-components": "^6.1.0"
2829
},

gui/src/main/index.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ const execAsync = util.promisify(exec);
7171

7272
// Only import split tunneling library on correct OS.
7373
const linuxSplitTunneling = process.platform === 'linux' && require('./linux-split-tunneling');
74+
// This is used on Windows and macOS and will be undefined on Linux.
7475
const splitTunneling: ISplitTunnelingAppListRetriever | undefined = importSplitTunneling();
7576

7677
const ALLOWED_PERMISSIONS = ['clipboard-sanitized-write'];
@@ -1108,9 +1109,15 @@ class ApplicationMain
11081109
}
11091110

11101111
function importSplitTunneling() {
1111-
// eslint-disable-next-line @typescript-eslint/no-var-requires
1112-
const { WindowsSplitTunnelingAppListRetriever } = require('./windows-split-tunneling');
1113-
return new WindowsSplitTunnelingAppListRetriever();
1112+
if (process.platform === 'win32') {
1113+
// eslint-disable-next-line @typescript-eslint/no-var-requires
1114+
const { WindowsSplitTunnelingAppListRetriever } = require('./windows-split-tunneling');
1115+
return new WindowsSplitTunnelingAppListRetriever();
1116+
} else if (process.platform === 'darwin') {
1117+
// eslint-disable-next-line @typescript-eslint/no-var-requires
1118+
const { MacOsSplitTunnelingAppListRetriever } = require('./macos-split-tunneling');
1119+
return new MacOsSplitTunnelingAppListRetriever();
1120+
}
11141121
}
11151122

11161123
if (CommandLineOptions.help.match) {

0 commit comments

Comments
 (0)