mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2025-10-06 17:26:58 +08:00
Refactor(tunnel): using parseAddr
This commit is contained in:
@@ -3,7 +3,6 @@ package tunnel
|
|||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -45,10 +44,7 @@ func handleTCP(localConn core.TCPConn) {
|
|||||||
metadata.MidIP = dialerAddr.IP
|
metadata.MidIP = dialerAddr.IP
|
||||||
metadata.MidPort = uint16(dialerAddr.Port)
|
metadata.MidPort = uint16(dialerAddr.Port)
|
||||||
} else { /* fallback */
|
} else { /* fallback */
|
||||||
ip, p, _ := net.SplitHostPort(targetConn.LocalAddr().String())
|
metadata.MidIP, metadata.MidPort = parseAddr(targetConn.LocalAddr().String())
|
||||||
port, _ := strconv.ParseUint(p, 10, 16)
|
|
||||||
metadata.MidIP = net.ParseIP(ip)
|
|
||||||
metadata.MidPort = uint16(port)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
targetConn = newTCPTracker(targetConn, metadata)
|
targetConn = newTCPTracker(targetConn, metadata)
|
||||||
|
@@ -39,13 +39,6 @@ func AddPacket(packet core.UDPPacket) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func max(a, b int) int {
|
|
||||||
if a > b {
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
func process() {
|
func process() {
|
||||||
for i := 0; i < _numUDPWorkers; i++ {
|
for i := 0; i < _numUDPWorkers; i++ {
|
||||||
queue := _udpQueue
|
queue := _udpQueue
|
||||||
|
@@ -4,7 +4,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/xjasonlyu/tun2socks/common/pool"
|
"github.com/xjasonlyu/tun2socks/common/pool"
|
||||||
@@ -88,10 +87,7 @@ func handleUDP(packet core.UDPPacket) {
|
|||||||
metadata.MidIP = dialerAddr.IP
|
metadata.MidIP = dialerAddr.IP
|
||||||
metadata.MidPort = uint16(dialerAddr.Port)
|
metadata.MidPort = uint16(dialerAddr.Port)
|
||||||
} else { /* fallback */
|
} else { /* fallback */
|
||||||
ip, p, _ := net.SplitHostPort(pc.LocalAddr().String())
|
metadata.MidIP, metadata.MidPort = parseAddr(pc.LocalAddr().String())
|
||||||
port, _ := strconv.ParseUint(p, 10, 16)
|
|
||||||
metadata.MidIP = net.ParseIP(ip)
|
|
||||||
metadata.MidPort = uint16(port)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pc = newUDPTracker(pc, metadata)
|
pc = newUDPTracker(pc, metadata)
|
||||||
|
20
tunnel/util.go
Normal file
20
tunnel/util.go
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
package tunnel
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func max(a, b int) int {
|
||||||
|
if a > b {
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// parseAddr parses address to IP and port.
|
||||||
|
func parseAddr(addr string) (net.IP, uint16) {
|
||||||
|
host, portStr, _ := net.SplitHostPort(addr)
|
||||||
|
portInt, _ := strconv.ParseUint(portStr, 10, 16)
|
||||||
|
return net.ParseIP(host), uint16(portInt)
|
||||||
|
}
|
Reference in New Issue
Block a user