调整目录结构
This commit is contained in:
parent
721087a223
commit
f8a3e9e028
@ -1,44 +0,0 @@
|
|||||||
//
|
|
||||||
// DNSDispatcher.swift
|
|
||||||
// punchnet
|
|
||||||
//
|
|
||||||
// Created by 安礼成 on 2026/4/10.
|
|
||||||
//
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
// MARK: - DNS 分流調度器
|
|
||||||
final class DNSDispatcher {
|
|
||||||
// private let localClient: SDLLocalDNSClient
|
|
||||||
// private let cloudClient: SDLDNSClient // 假設這是你原有的雲端 Client
|
|
||||||
// private let logger: SDLLogger
|
|
||||||
// private let internalDomain = "punchsky.com"
|
|
||||||
//
|
|
||||||
// init(localClient: SDLLocalDNSClient, cloudClient: SDLDNSClient, logger: SDLLogger) {
|
|
||||||
// self.localClient = localClient
|
|
||||||
// self.cloudClient = cloudClient
|
|
||||||
// self.logger = logger
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /// 處理來自 TUN 的原始 IP 數據包
|
|
||||||
// func dispatch(packet: IPPacket) {
|
|
||||||
// // 1. 獲取 UDP 載荷 (假設 IPv4 20字節 + UDP 8字節)
|
|
||||||
// let udpPayload = packet.data.suffix(from: 28)
|
|
||||||
//
|
|
||||||
// // 2. 解析 DNS 內容
|
|
||||||
// let parser = DNSParser(data: udpPayload)
|
|
||||||
// guard let dnsMsg = parser.parse(), let firstQuestion = dnsMsg.questions.first else {
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// let domain = firstQuestion.name
|
|
||||||
//
|
|
||||||
// // 3. 根據域名分流
|
|
||||||
// if domain.hasSuffix(internalDomain) {
|
|
||||||
// logger.log("[Dispatcher] Cloud Route: \(domain)", level: .debug)
|
|
||||||
// cloudClient.forward(ipPacket: packet) // 雲端通常需要完整包做隧道封裝
|
|
||||||
// } else {
|
|
||||||
// logger.log("[Dispatcher] Local Route: \(domain)", level: .debug)
|
|
||||||
// localClient.query(dnsPayload: udpPayload) // 本地只需轉發載荷
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
@ -107,6 +107,14 @@ extension SDLV6Info {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension SDLData {
|
||||||
|
|
||||||
|
func format() -> String {
|
||||||
|
return "network_id: \(self.networkID), src_mac: \(LayerPacket.MacAddress.description(data: self.srcMac)), dst_mac: \(LayerPacket.MacAddress.description(data: self.dstMac)), data: \([UInt8](self.data))"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
extension SDLStunProbeReply {
|
extension SDLStunProbeReply {
|
||||||
func socketAddress() async -> SocketAddress? {
|
func socketAddress() async -> SocketAddress? {
|
||||||
let address = SDLUtil.int32ToIp(self.ip)
|
let address = SDLUtil.int32ToIp(self.ip)
|
||||||
@ -1,16 +0,0 @@
|
|||||||
//
|
|
||||||
// SDLProtoMessageExtension.swift
|
|
||||||
// Tun
|
|
||||||
//
|
|
||||||
// Created by 安礼成 on 2024/10/24.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
extension SDLData {
|
|
||||||
|
|
||||||
func format() -> String {
|
|
||||||
return "network_id: \(self.networkID), src_mac: \(LayerPacket.MacAddress.description(data: self.srcMac)), dst_mac: \(LayerPacket.MacAddress.description(data: self.dstMac)), data: \([UInt8](self.data))"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user