fix DNS
This commit is contained in:
parent
351695aa52
commit
e37b0f74e0
@ -63,7 +63,7 @@ actor SDLContextActor {
|
|||||||
// 加密算法相关
|
// 加密算法相关
|
||||||
nonisolated let rsaCipher: RSACipher
|
nonisolated let rsaCipher: RSACipher
|
||||||
|
|
||||||
private var dnsService: SDLDNSService?
|
private var dnsService: DNSService?
|
||||||
private let superServiceProxy: SDLSuperServiceProxy
|
private let superServiceProxy: SDLSuperServiceProxy
|
||||||
private let udpHoleServiceProxy: SDLUDPHoleServiceProxy
|
private let udpHoleServiceProxy: SDLUDPHoleServiceProxy
|
||||||
private let packetOutboundActor: PacketOutboundActor
|
private let packetOutboundActor: PacketOutboundActor
|
||||||
@ -157,7 +157,7 @@ actor SDLContextActor {
|
|||||||
await self.puncherActor.start()
|
await self.puncherActor.start()
|
||||||
await self.arpResolver.start()
|
await self.arpResolver.start()
|
||||||
|
|
||||||
let dnsService = SDLDNSService(serverHost: self.config.serverHost, publicDnsServers: self.publicDnsServers) { [weak self] event in
|
let dnsService = DNSService(serverHost: self.config.serverHost, publicDnsServers: self.publicDnsServers) { [weak self] event in
|
||||||
await self?.handleDNSEvent(event)
|
await self?.handleDNSEvent(event)
|
||||||
}
|
}
|
||||||
self.dnsService = dnsService
|
self.dnsService = dnsService
|
||||||
@ -444,7 +444,7 @@ extension SDLContextActor {
|
|||||||
|
|
||||||
// MARK: DNS service events
|
// MARK: DNS service events
|
||||||
extension SDLContextActor {
|
extension SDLContextActor {
|
||||||
private func handleDNSEvent(_ event: SDLDNSService.Event) async {
|
private func handleDNSEvent(_ event: DNSService.Event) async {
|
||||||
switch event {
|
switch event {
|
||||||
case .packet(let packet):
|
case .packet(let packet):
|
||||||
let nePacket = NEPacket(data: packet, protocolFamily: 2)
|
let nePacket = NEPacket(data: packet, protocolFamily: 2)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import NetworkExtension
|
import NetworkExtension
|
||||||
|
|
||||||
actor SDLDNSService {
|
actor DNSService {
|
||||||
enum Event {
|
enum Event {
|
||||||
case packet(Data)
|
case packet(Data)
|
||||||
}
|
}
|
||||||
@ -115,7 +115,7 @@ actor SDLDNSService {
|
|||||||
let dnsLocalClient = DNSLocalClient(host: dnsServer)
|
let dnsLocalClient = DNSLocalClient(host: dnsServer)
|
||||||
await dnsLocalClient.start()
|
await dnsLocalClient.start()
|
||||||
self.dnsLocalClient = dnsLocalClient
|
self.dnsLocalClient = dnsLocalClient
|
||||||
SDLLogger.log("[SDLDNSService] dnsLocalClient started")
|
SDLLogger.log("[DNSService] dnsLocalClient started")
|
||||||
|
|
||||||
defer {
|
defer {
|
||||||
if self.dnsLocalClient === dnsLocalClient {
|
if self.dnsLocalClient === dnsLocalClient {
|
||||||
@ -34,7 +34,7 @@ actor PacketOutboundActor {
|
|||||||
private var exitNode: SDLConfiguration.ExitNode?
|
private var exitNode: SDLConfiguration.ExitNode?
|
||||||
private var stunSocketAddress: SocketAddress
|
private var stunSocketAddress: SocketAddress
|
||||||
private var dataCipher: CCDataCipher?
|
private var dataCipher: CCDataCipher?
|
||||||
private var dnsService: SDLDNSService?
|
private var dnsService: DNSService?
|
||||||
|
|
||||||
init(provider: NEPacketTunnelProvider,
|
init(provider: NEPacketTunnelProvider,
|
||||||
config: SDLConfiguration,
|
config: SDLConfiguration,
|
||||||
@ -69,7 +69,7 @@ actor PacketOutboundActor {
|
|||||||
self.dataCipher = dataCipher
|
self.dataCipher = dataCipher
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateDNSService(_ dnsService: SDLDNSService?) {
|
func updateDNSService(_ dnsService: DNSService?) {
|
||||||
self.dnsService = dnsService
|
self.dnsService = dnsService
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user