From bd10ea9b99ae7d6168ffb4c9f25a5e04d649071e Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Tue, 5 Aug 2025 15:15:15 +0800 Subject: [PATCH] fix --- Tun/PacketTunnelProvider.swift | 2 +- punchnet/Core/SystemConfig.swift | 9 ++++++--- punchnet/Core/UDPNoticeCenterServer.swift | 23 +++++++++-------------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/Tun/PacketTunnelProvider.swift b/Tun/PacketTunnelProvider.swift index 77d1ee6..6c18ea9 100644 --- a/Tun/PacketTunnelProvider.swift +++ b/Tun/PacketTunnelProvider.swift @@ -68,7 +68,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider { Task { do { - self.context = SDLContext(provider: self, config: config, rsaCipher: rsaCipher, aesCipher: aesChiper, logger: SDLLogger(level: .warning)) + self.context = SDLContext(provider: self, config: config, rsaCipher: rsaCipher, aesCipher: aesChiper, logger: SDLLogger(level: .debug)) try await self.context?.start() completionHandler(nil) } catch let err { diff --git a/punchnet/Core/SystemConfig.swift b/punchnet/Core/SystemConfig.swift index 66e180b..9a3c02e 100644 --- a/punchnet/Core/SystemConfig.swift +++ b/punchnet/Core/SystemConfig.swift @@ -29,15 +29,18 @@ struct SystemConfig { guard let superIp = DNSResolver.resolveAddrInfos(superHost).first else { return nil } - - return [ + let options = [ "version:": version as NSObject, "installed_channel": installedChannel as NSObject, "token": token as NSObject, - "super_ip": superIp as NSObject, + "super_ip": "118.178.229.213" as NSObject, "super_port": superPort as NSObject, "stun_servers": stunServers as NSObject ] + + print("options: \(options)") + + return options } } diff --git a/punchnet/Core/UDPNoticeCenterServer.swift b/punchnet/Core/UDPNoticeCenterServer.swift index e0f3bf0..92de81d 100644 --- a/punchnet/Core/UDPNoticeCenterServer.swift +++ b/punchnet/Core/UDPNoticeCenterServer.swift @@ -15,7 +15,7 @@ final class UDPNoticeCenterServer: ChannelInboundHandler { public typealias OutboundOut = AddressedEnvelope private var group: MultiThreadedEventLoopGroup? - private var thread: Thread? + private var channel: Channel? var messageFlow = PassthroughSubject() static let shared = UDPNoticeCenterServer() @@ -25,22 +25,17 @@ final class UDPNoticeCenterServer: ChannelInboundHandler { } func start() { - self.thread = Thread { - self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1) - let bootstrap = DatagramBootstrap(group: self.group!) - .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) - .channelInitializer { channel in - channel.pipeline.addHandler(self) - } - - let channel = try! bootstrap.bind(host: "127.0.0.1", port: 50195).wait() - try! channel.closeFuture.wait() - } - self.thread?.start() + self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1) + let bootstrap = DatagramBootstrap(group: self.group!) + .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) + .channelInitializer { channel in + channel.pipeline.addHandler(self) + } + + self.channel = try! bootstrap.bind(host: "127.0.0.1", port: 50195).wait() } func stop() { - self.thread?.cancel() try? self.group?.syncShutdownGracefully() }