chore: update

This commit is contained in:
Simon Ding
2025-05-08 10:28:57 +08:00
parent 2dae168cb2
commit bb2c567da7

View File

@@ -60,33 +60,30 @@ func (s *NatTraversal) StunAddr() (*stun.XORMappedAddress, error) {
if err != nil { if err != nil {
return nil, fmt.Errorf("send binding request: %w", err) return nil, fmt.Errorf("send binding request: %w", err)
} }
select { message, ok := <-s.messageChan
case message, ok := <-s.messageChan: if !ok {
if !ok { continue
}
if stun.IsMessage(message) {
m := new(stun.Message)
m.Raw = message
decErr := m.Decode()
if decErr != nil {
log.Warnf("decode:", decErr)
break
}
var xorAddr stun.XORMappedAddress
if getErr := xorAddr.GetFrom(m); getErr != nil {
log.Warnf("getFrom:", getErr)
continue continue
} }
if stun.IsMessage(message) { if s.stunAddr == nil || s.stunAddr.String() != xorAddr.String() {
m := new(stun.Message) log.Warnf("My public address: %s\n", xorAddr)
m.Raw = message s.stunAddr = &xorAddr
decErr := m.Decode()
if decErr != nil {
log.Warnf("decode:", decErr)
break
}
var xorAddr stun.XORMappedAddress
if getErr := xorAddr.GetFrom(m); getErr != nil {
log.Warnf("getFrom:", getErr)
continue
}
if s.stunAddr == nil || s.stunAddr.String() != xorAddr.String() {
log.Warnf("My public address: %s\n", xorAddr)
s.stunAddr = &xorAddr
}
return &xorAddr, nil
} }
return &xorAddr, nil
} }
} }
@@ -110,7 +107,7 @@ func (s *NatTraversal) StartProxy(targetAddr string) error {
for { for {
select { select {
case <-s.cancel: case <-s.cancel:
log.Infof("cancelled") log.Infof("stun nat proxy cancelled")
return nil return nil
case m := <-s.messageChan: case m := <-s.messageChan:
//log.Infof("Received message: %d", len(m)) //log.Infof("Received message: %d", len(m))