Files
v2ray_simple/proxy/trojan/udpConn.go
hahahrfool ce735dbb99 修订udp代码; dial配置 添加 fullcone 选项;默认为非fullcone
现在整个程序均通过了go test, main 也可以正常运行了。

Relay_UDP 函数添加流量计数;

发现之前 Relay函数的流量计数 在main.go里参数传反了,导致实际上计数的是上传而不是下载,已修复

对fullcone的情况做了特别考量。MsgConn的 Close函数在fullcone时不能随便被调用。

因此我添加了一个 CloseConnWithRaddr(raddr Addr) error  方法,以及 Fullcone() bool     方法

在utils包的init部分使用 rand 随机种子
2022-04-08 20:31:59 +08:00

28 lines
423 B
Go

package trojan
import (
"net"
"github.com/hahahrfool/v2ray_simple/netLayer"
)
type UDPConn struct {
net.Conn
}
func (u UDPConn) Fullcone() bool {
return true
}
func (u UDPConn) CloseConnWithRaddr(raddr netLayer.Addr) error {
return u.Close()
}
func (u UDPConn) ReadFrom() ([]byte, netLayer.Addr, error) {
return nil, netLayer.Addr{}, nil
}
func (u UDPConn) WriteTo([]byte, netLayer.Addr) error {
return nil
}