diff --git a/Tun/Punchnet/Actors/SDLContextActor.swift b/Tun/Punchnet/Actors/SDLContextActor.swift index 890f8fd..8c32a6a 100644 --- a/Tun/Punchnet/Actors/SDLContextActor.swift +++ b/Tun/Punchnet/Actors/SDLContextActor.swift @@ -453,7 +453,9 @@ actor SDLContextActor { private func startStunRequestTask(welcome: SDLWelcome) async { await self.ipv6AssistClient?.stop() self.ipv6AssistClient = SDLIPV6AssistClient(assistServerInfo: welcome.ipv6Assist) + await self.ipv6AssistClient?.start() + SDLLogger.log("[SDLContext] v6 assist client: \(self.ipv6AssistClient)") // 通过 welcome信息拿到当前可用使用的ipv6地址 // 处理心跳逻辑 self.stunRequestTask = Task.detached { @@ -463,11 +465,12 @@ actor SDLContextActor { for await _ in timerStream.stream { let probeReply = try? await self.ipv6AssistClient?.probe(requestTimeout: .seconds(3)) - if let v6Info = probeReply.v6Info { - let v6Address = SDLUtil.ipv6DataToString(v6Info.v6) + SDLLogger.log("[SDLContext] probe ipv6 address: \(probeReply)") + if let v6Info = probeReply?.v6Info, let v6Address = SDLUtil.ipv6DataToString(v6Info.v6) { SDLLogger.log("[SDLContext] probe ipv6 address: \(v6Address)") + } else { + SDLLogger.log("[SDLContext] probe ipv6 address: empty") } - await self.sendStunRequest(probeReply: probeReply) } @@ -979,10 +982,10 @@ extension SDLContextActor { let nePacket = NEPacket(data: ipPacketData, protocolFamily: 2) self.provider.packetFlow.writePacketObjects([nePacket]) case .cloudDNS(let name, let ipPacketData): - SDLLogger.log("[SDLContext] get cloud dns request: \(name)") + //SDLLogger.log("[SDLContext] get cloud dns request: \(name)") await self.dnsClient?.forward(ipPacketData: ipPacketData) case .localDNS(let name, let payload, let tracker): - SDLLogger.log("[SDLContext] get local dns request: \(name)") + //SDLLogger.log("[SDLContext] get local dns request: \(name)") await self.dnsLocalClient?.query(tracker: tracker, dnsPayload: payload) case .forwardToNextHop(let ip, let type, let data, let kind): await self.forwardPacketToNextHop(ip: ip, type: type, data: data, kind: kind)