This commit is contained in:
anlicheng 2025-07-17 15:05:00 +08:00
parent 1512e99d87
commit 20ef0ca985

View File

@ -117,6 +117,18 @@ public class SDLContext: @unchecked Sendable {
self.monitor.start() self.monitor.start()
} }
public func stop() async {
self.superCancel?.cancel()
self.superClient = nil
self.udpCancel?.cancel()
self.udpHole = nil
self.readTask?.cancel()
exit(-1)
}
private func startSuperClient() async throws { private func startSuperClient() async throws {
self.superClient = SDLSuperClient(host: config.superHost, port: config.superPort) self.superClient = SDLSuperClient(host: config.superHost, port: config.superPort)
// super // super
@ -379,6 +391,8 @@ public class SDLContext: @unchecked Sendable {
networkSettings.dnsSettings = NEDNSSettings(servers: ["8.8.8.8", "114.114.114.114"]) networkSettings.dnsSettings = NEDNSSettings(servers: ["8.8.8.8", "114.114.114.114"])
} }
SDLLogger.log("[SDLContext] Tun started at network ip: \(netAddress.ipAddress), mask: \(netAddress.maskAddress)", level: .debug)
let ipv4Settings = NEIPv4Settings(addresses: [netAddress.ipAddress], subnetMasks: [netAddress.maskAddress]) let ipv4Settings = NEIPv4Settings(addresses: [netAddress.ipAddress], subnetMasks: [netAddress.maskAddress])
// //
//NEIPv4Route.default() //NEIPv4Route.default()
@ -391,8 +405,9 @@ public class SDLContext: @unchecked Sendable {
try await self.provider.setTunnelNetworkSettings(networkSettings) try await self.provider.setTunnelNetworkSettings(networkSettings)
await self.holerManager.cleanup() await self.holerManager.cleanup()
self.startReader() self.startReader()
SDLLogger.log("[SDLContext] setTunnelNetworkSettings success, start read packet", level: .debug)
} catch let err { } catch let err {
SDLLogger.log("[SDLContext] setTunnelNetworkSettings get error: \(err)", level: .error) SDLLogger.log("[SDLContext] setTunnelNetworkSettings get error: \(err)", level: .error)
exit(-1) exit(-1)