diff options
author | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-05 22:58:48 +0200 |
---|---|---|
committer | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-05 22:58:48 +0200 |
commit | ed18f66a6f20dd412561a0de5478a53d5d38e0e4 (patch) | |
tree | 1fb54a14321b693ce2b0e7759cf45ccbf62f6e4e /WireGuardNetworkExtension/PacketTunnelProvider.swift | |
parent | Fix binding. (diff) | |
download | wireguard-apple-ed18f66a6f20dd412561a0de5478a53d5d38e0e4.tar.xz wireguard-apple-ed18f66a6f20dd412561a0de5478a53d5d38e0e4.zip |
Set a tunnel (routing) configuration. Still very rough.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | WireGuardNetworkExtension/PacketTunnelProvider.swift | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift index 4b282ac..c845a43 100644 --- a/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -36,7 +36,26 @@ class PacketTunnelProvider: NEPacketTunnelProvider { //TODO tunnel settings if wireGuardWrapper.turnOn(withInterfaceName: "test", settingsString: "") { // Success - completionHandler(nil) +// completionHandler(nil) + + //TODO obtain network config from WireGuard config or remote. + // route all traffic to VPN + let defaultRoute = NEIPv4Route.default() +// defaultRoute.gatewayAddress = gateway + + let ipv4Settings = NEIPv4Settings(addresses: ["149.248.160.60"], subnetMasks: ["255.255.255.255"]) + ipv4Settings.includedRoutes = [defaultRoute] + ipv4Settings.excludedRoutes = [] + +// let dnsSettings = NEDNSSettings(servers: dnsServers) + + let newSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "149.248.160.60") + newSettings.ipv4Settings = ipv4Settings +// newSettings.dnsSettings = dnsSettings +// newSettings.mtu = cfg.mtu + + setTunnelNetworkSettings(newSettings, completionHandler: completionHandler) + } else { completionHandler(PacketTunnelProviderError.tunnelSetupFailed) } |