This commit is contained in:
anlicheng 2026-04-13 16:03:34 +08:00
parent 68a54f7dd6
commit 5d192332b9
4 changed files with 6 additions and 15 deletions

View File

@ -103,7 +103,6 @@ actor SDLContextActor {
} }
public func start() async { public func start() async {
self.startMonitor() self.startMonitor()
// arp // arp
@ -610,12 +609,12 @@ actor SDLContextActor {
if true || self.checkPolicy(ipPacket: ipPacket, ruleMap: ruleMap) { if true || self.checkPolicy(ipPacket: ipPacket, ruleMap: ruleMap) {
// debug // debug
if ipPacket.header.source == 168428037 { if ipPacket.header.source == 168428037 {
SDLLogger.log("[SDLContext] data: \(Array(ipPacket.data)), len: \(ipPacket.data.count)", for: .trace) SDLLogger.log("[SDLContext] hole data: \(Array(ipPacket.data)), len: \(ipPacket.data.count)", for: .trace)
} }
let packet = NEPacket(data: ipPacket.data, protocolFamily: 2) let packet = NEPacket(data: ipPacket.data, protocolFamily: 2)
self.provider.packetFlow.writePacketObjects([packet]) self.provider.packetFlow.writePacketObjects([packet])
SDLLogger.log("[SDLContext] identity: \(data.identityID), allow, data count: \(ipPacket.data.count)", for: .trace) SDLLogger.log("[SDLContext] hole identity: \(data.identityID), allow, data count: \(ipPacket.data.count)", for: .trace)
} }
else { else {
SDLLogger.log("[SDLContext] not found identity: \(data.identityID) ruleMap", for: .debug) SDLLogger.log("[SDLContext] not found identity: \(data.identityID) ruleMap", for: .debug)
@ -797,14 +796,14 @@ actor SDLContextActor {
else { else {
// session // session
if let session = self.sessionManager.getSession(toAddress: dstMac) { if let session = self.sessionManager.getSession(toAddress: dstMac) {
SDLLogger.log("[SDLContext] send packet by session: \(session)") SDLLogger.log("[SDLContext] step 5 send packet by session: \(session)", for: .trace)
udpHole.send(type: .data, data: data, remoteAddress: session.natAddress) udpHole.send(type: .data, data: data, remoteAddress: session.natAddress)
self.flowTracer.inc(num: data.count, type: .p2p) self.flowTracer.inc(num: data.count, type: .p2p)
} }
else { else {
// super_node // super_node
udpHole.send(type: .data, data: data, remoteAddress: self.config.stunSocketAddress) udpHole.send(type: .data, data: data, remoteAddress: self.config.stunSocketAddress)
SDLLogger.log("[SDLContext] send packet by super: \(self.config.stunSocketAddress)") SDLLogger.log("[SDLContext] step 5 send packet by super: \(self.config.stunSocketAddress)", for: .trace)
// //
self.flowTracer.inc(num: data.count, type: .forward) self.flowTracer.inc(num: data.count, type: .forward)

View File

@ -85,7 +85,7 @@ final class DNSCloudClient {
return return
} }
connection.send(content: ipPacketData, completion: .contentProcessed { [weak self] error in connection.send(content: ipPacketData, completion: .contentProcessed { error in
if let error = error { if let error = error {
SDLLogger.log("[DNSClient] Send error: \(error)", for: .debug) SDLLogger.log("[DNSClient] Send error: \(error)", for: .debug)
} }

View File

@ -1,11 +1,3 @@
//
// SDLUDPHoleActor 2.swift
// punchnet
//
// Created by on 2026/1/28.
//
// //
// SDLanServer.swift // SDLanServer.swift
// Tun // Tun

View File

@ -43,7 +43,7 @@ class SessionManager {
} }
if var session = self.sessions[toAddress] { if var session = self.sessions[toAddress] {
if session.lastTimestamp >= timestamp + ttl { if session.lastTimestamp + ttl >= timestamp {
session.updateLastTimestamp(timestamp) session.updateLastTimestamp(timestamp)
self.sessions[toAddress] = session self.sessions[toAddress] = session