Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| de8fedf87a | |||
| 98d306da5b | |||
| c7b7b1247b | |||
| a66f13eb01 |
@@ -1,12 +1,14 @@
|
||||
# [WireGuard](https://www.wireguard.com/) for iOS and macOS
|
||||
|
||||
This project contains an application for iOS and for macOS, as well as many components shared between the two of them. You may toggle between the two platforms by selecting the target from within Xcode.
|
||||
|
||||
## Building
|
||||
|
||||
- Clone this repo recursively:
|
||||
- Clone this repo:
|
||||
|
||||
```
|
||||
$ git clone --recursive https://git.zx2c4.com/wireguard-ios
|
||||
$ cd wireguard-ios
|
||||
$ git clone https://git.zx2c4.com/wireguard-apple
|
||||
$ cd wireguard-apple
|
||||
```
|
||||
|
||||
- Rename and populate developer team ID file:
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
VERSION_NAME = 0.0.20190531
|
||||
VERSION_ID = 10
|
||||
VERSION_NAME = 0.0.20190609
|
||||
VERSION_ID = 11
|
||||
|
||||
@@ -132,10 +132,6 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
}
|
||||
|
||||
func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
|
||||
if UserDefaults.standard.bool(forKey: "shouldSuppressAppStoreUpdateDetection") {
|
||||
wg_log(.debug, staticMessage: "App Store update detection is suppressed")
|
||||
return .terminateNow
|
||||
}
|
||||
guard let currentTunnel = tunnelsTracker?.currentTunnel, currentTunnel.status == .active || currentTunnel.status == .activating else {
|
||||
return .terminateNow
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
||||
private var handle: Int32?
|
||||
private var networkMonitor: NWPathMonitor?
|
||||
private var ifname: String?
|
||||
private var lastSeenInterfaces: [String] = []
|
||||
private var lastPath: Network.NWPath?
|
||||
private var packetTunnelSettingsGenerator: PacketTunnelSettingsGenerator?
|
||||
|
||||
deinit {
|
||||
@@ -143,18 +143,15 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
|
||||
|
||||
private func pathUpdate(path: Network.NWPath) {
|
||||
guard let handle = handle else { return }
|
||||
guard let ifname = ifname else { return }
|
||||
wg_log(.debug, message: "Network change detected with \(path.status) route and interface order \(path.availableInterfaces)")
|
||||
guard path.status == .satisfied else { return }
|
||||
|
||||
#if os(iOS)
|
||||
if let packetTunnelSettingsGenerator = packetTunnelSettingsGenerator {
|
||||
_ = packetTunnelSettingsGenerator.endpointUapiConfiguration().withGoString { return wgSetConfig(handle, $0) }
|
||||
}
|
||||
#endif
|
||||
let interfaces = path.availableInterfaces.filter { $0.name != ifname }.compactMap { $0.name }
|
||||
if !interfaces.elementsEqual(lastSeenInterfaces) {
|
||||
lastSeenInterfaces = interfaces
|
||||
if path != lastPath {
|
||||
lastPath = path
|
||||
wgBumpSockets(handle)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user