You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lokinet/daemon/swift/LokinetMain.swift

44 lines
1.4 KiB
Swift

// AppDelegateExtension.swift
// lifed from yggdrasil network ios port
//
import Foundation
import Lokinet
import NetworkExtension
class LokinetMain: PlatformAppDelegate {
var vpnManager = NETunnelProviderManager()
var app = NSApplication.shared()
let lokinetComponent = "org.lokinet.NetworkExtension"
var lokinetAdminTimer: DispatchSourceTimer?
func runMain() {
print("Starting up lokinet")
NETunnelProviderManager.loadAllFromPreferences { (savedManagers: [NETunnelProviderManager]?, error: Error?) in
if let error = error {
print(error)
}
if let savedManagers = savedManagers {
for manager in savedManagers {
if (manager.protocolConfiguration as? NETunnelProviderProtocol)?.providerBundleIdentifier == self.lokinetComponent {
print("Found saved VPN Manager")
self.vpnManager = manager
}
}
}
self.vpnManager.loadFromPreferences(completionHandler: { (error: Error?) in
if let error = error {
print(error)
}
self.vpnManager.localizedDescription = "Lokinet"
self.vpnManager.isEnabled = true
})
}
app.finishLaunching()
app.run()
print("end")
}
}