Fix: TPROXY fakeip (#572)

This commit is contained in:
duama
2020-03-10 20:36:24 +08:00
committed by GitHub
parent 14d5137703
commit b263095533
4 changed files with 23 additions and 17 deletions

View File

@ -182,6 +182,12 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
return
}
// make a fAddr if requset ip is fakeip
var fAddr net.Addr
if enhancedMode != nil && enhancedMode.IsFakeIP(metadata.DstIP) {
fAddr = metadata.UDPAddr()
}
if err := preHandleMetadata(metadata); err != nil {
log.Debugln("[Metadata PreHandle] error: %s", err)
return
@ -231,7 +237,7 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
natTable.Set(key, pc)
natTable.Delete(lockKey)
wg.Done()
go handleUDPToLocal(packet.UDPPacket, pc, key)
go handleUDPToLocal(packet.UDPPacket, pc, key, fAddr)
}
wg.Wait()