1
0
mirror of https://github.com/fumiama/WireGold.git synced 2026-06-21 19:13:20 +08:00

adjust log level

This commit is contained in:
fumiama
2021-12-31 22:19:26 +08:00
parent a9ed112162
commit e9851947f2
7 changed files with 27 additions and 33 deletions

14
go.sum
View File

@@ -10,20 +10,6 @@ github.com/fumiama/go-x25519 v1.0.0 h1:hiGg9EhseVmGCc8T1jECVkj8Keu/aJ1ZK05RM8Vua
github.com/fumiama/go-x25519 v1.0.0/go.mod h1:8VOhfyGZzw4IUs4nCjQFqW9cA3V/QpSCtP3fo2dLNg4= github.com/fumiama/go-x25519 v1.0.0/go.mod h1:8VOhfyGZzw4IUs4nCjQFqW9cA3V/QpSCtP3fo2dLNg4=
github.com/fumiama/gofastTEA v0.0.6 h1:Yni3MXDbJVa/c4CecgdZDgCJK+fLdvGph+OBqY2mtiI= github.com/fumiama/gofastTEA v0.0.6 h1:Yni3MXDbJVa/c4CecgdZDgCJK+fLdvGph+OBqY2mtiI=
github.com/fumiama/gofastTEA v0.0.6/go.mod h1:+sBZ05nCA2skZkursHNvyr8kULlEetrYTM2y5kA4rQc= github.com/fumiama/gofastTEA v0.0.6/go.mod h1:+sBZ05nCA2skZkursHNvyr8kULlEetrYTM2y5kA4rQc=
github.com/fumiama/water v0.0.0-20211231092156-6d316045a9f5 h1:tRJa7xCNyt7mwzQ8TCoMsOCFMUBii/iVLz3xj94f1Ds=
github.com/fumiama/water v0.0.0-20211231092156-6d316045a9f5/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231093704-80ce1934600d h1:XMKhQfj3vQkOCFJhaEOaFZSpQ/m7GBfQxbS0UvFQUyY=
github.com/fumiama/water v0.0.0-20211231093704-80ce1934600d/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231094148-0c176c6cfb9c h1:iUiK3OX2REWOaxiEtIRbruGF16ugP+5iJlEllOd7H0I=
github.com/fumiama/water v0.0.0-20211231094148-0c176c6cfb9c/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231094422-8a0b0fd8ed4d h1:34xXCAysY3v92o6lLaUqCp/BD7OaS5cdPsB9JHrLQt8=
github.com/fumiama/water v0.0.0-20211231094422-8a0b0fd8ed4d/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231094734-2f9b072abdda h1:M8JQiAEjHwBbrbGeKQRGFjyGk01JES+ReIcxvsm5EsM=
github.com/fumiama/water v0.0.0-20211231094734-2f9b072abdda/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231133042-660c28923879 h1:zv328lpgEoyG41HbLMkP6VEagSkEyO/3Wvxe63KSF4g=
github.com/fumiama/water v0.0.0-20211231133042-660c28923879/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231133626-69e328bbf27b h1:+sCf88Vao4YJiOnaa1O2r/fh8XmEgVS1PRd44Nfd+e8=
github.com/fumiama/water v0.0.0-20211231133626-69e328bbf27b/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/water v0.0.0-20211231134027-da391938d6ac h1:A/5A0rODsg+EQHH61Ew5mMUtDpRXaSNqHhPvW+fN4C4= github.com/fumiama/water v0.0.0-20211231134027-da391938d6ac h1:A/5A0rODsg+EQHH61Ew5mMUtDpRXaSNqHhPvW+fN4C4=
github.com/fumiama/water v0.0.0-20211231134027-da391938d6ac/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo= github.com/fumiama/water v0.0.0-20211231134027-da391938d6ac/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo=
github.com/fumiama/wintun v0.0.0-20211229152851-8bc97c8034c0 h1:WfrSFlIlCAtg6Rt2IGna0HhJYSDE45YVHiYqO4wwsEw= github.com/fumiama/wintun v0.0.0-20211229152851-8bc97c8034c0 h1:WfrSFlIlCAtg6Rt2IGna0HhJYSDE45YVHiYqO4wwsEw=

View File

@@ -91,7 +91,7 @@ func (l *Link) Write(p *head.Packet, istransfer bool) (n int, err error) {
totl := uint32(len(data)) totl := uint32(len(data))
i := 0 i := 0
for ; int(totl)-i > int(l.me.mtu); i += int(l.me.mtu) { for ; int(totl)-i > int(l.me.mtu); i += int(l.me.mtu) {
logrus.Infoln("[link] split frag", i, ":", i+int(l.me.mtu), ", remain:", int(totl)-i-int(l.me.mtu)) logrus.Debugln("[link] split frag", i, ":", i+int(l.me.mtu), ", remain:", int(totl)-i-int(l.me.mtu))
packet := *p packet := *p
packet.Data = data[:int(l.me.mtu)] packet.Data = data[:int(l.me.mtu)]
cnt, err := l.write(&packet, totl, uint16(uint(i)>>3), istransfer, true) cnt, err := l.write(&packet, totl, uint16(uint(i)>>3), istransfer, true)
@@ -144,7 +144,7 @@ func (l *Link) write(p *head.Packet, datasz uint32, offset uint16, istransfer, h
if peerep == nil { if peerep == nil {
return 0, errors.New("[link] nil endpoint of " + p.Dst.String()) return 0, errors.New("[link] nil endpoint of " + p.Dst.String())
} }
logrus.Infoln("[link] write", len(d), "bytes data from ep", l.me.myconn.LocalAddr(), "to", peerep, "offset:", fmt.Sprintf("%04x", offset)) logrus.Debugln("[link] write", len(d), "bytes data from ep", l.me.myconn.LocalAddr(), "to", peerep, "offset:", fmt.Sprintf("%04x", offset))
n, err = l.me.myconn.WriteToUDP(d, peerep) n, err = l.me.myconn.WriteToUDP(d, peerep)
} else { } else {
logrus.Warnln("[link] drop packet: nil peerlink") logrus.Warnln("[link] drop packet: nil peerlink")

View File

@@ -30,7 +30,7 @@ func (m *Me) listen() (conn *net.UDPConn, err error) {
} }
} }
p, ok := m.IsInPeer(packet.Src.String()) p, ok := m.IsInPeer(packet.Src.String())
logrus.Infoln("[link] recv from endpoint", addr, "src", packet.Src, "dst", packet.Dst) logrus.Debugln("[link] recv from endpoint", addr, "src", packet.Src, "dst", packet.Dst)
// logrus.Debugln("[link] recv:", hex.EncodeToString(lbf)) // logrus.Debugln("[link] recv:", hex.EncodeToString(lbf))
if ok { if ok {
if p.pep == "" || p.pep != addr.String() { if p.pep == "" || p.pep != addr.String() {
@@ -47,7 +47,7 @@ func (m *Me) listen() (conn *net.UDPConn, err error) {
case LINK_STATUS_DOWN: case LINK_STATUS_DOWN:
n, err = p.Write(head.NewPacket(head.ProtoHello, 0, p.peerip, 0, nil), false) n, err = p.Write(head.NewPacket(head.ProtoHello, 0, p.peerip, 0, nil), false)
if err == nil { if err == nil {
logrus.Infoln("[link] send", n, "bytes hello ack packet") logrus.Debugln("[link] send", n, "bytes hello ack packet")
p.status = LINK_STATUS_HALFUP p.status = LINK_STATUS_HALFUP
} else { } else {
logrus.Errorln("[link] send hello ack packet error:", err) logrus.Errorln("[link] send hello ack packet error:", err)
@@ -58,31 +58,31 @@ func (m *Me) listen() (conn *net.UDPConn, err error) {
break break
} }
case head.ProtoNotify: case head.ProtoNotify:
logrus.Infoln("[link] recv notify") logrus.Debugln("[link] recv notify")
p.onNotify(packet) p.onNotify(packet)
case head.ProtoQuery: case head.ProtoQuery:
logrus.Infoln("[link] recv query") logrus.Debugln("[link] recv query")
p.onQuery(packet) p.onQuery(packet)
case head.ProtoData: case head.ProtoData:
if p.pipe != nil { if p.pipe != nil {
p.pipe <- packet p.pipe <- packet
logrus.Infoln("[link] deliver to pipe of", p.peerip) logrus.Debugln("[link] deliver to pipe of", p.peerip)
} else { } else {
m.pipe <- packet.Data m.pipe <- packet.Data
logrus.Infoln("[link] deliver", len(packet.Data), "bytes data to pipe of me") logrus.Debugln("[link] deliver", len(packet.Data), "bytes data to pipe of me")
} }
default: default:
logrus.Warnln("[link] recv unknown proto:", packet.Proto) logrus.Warnln("[link] recv unknown proto:", packet.Proto)
} }
} else { } else {
logrus.Infoln("[link] drop invalid packet") logrus.Debugln("[link] drop invalid packet")
} }
} else if p.Accept(packet.Dst) { } else if p.Accept(packet.Dst) {
if p.allowtrans { if p.allowtrans {
// 转发 // 转发
n, err = p.Write(packet, true) n, err = p.Write(packet, true)
if err == nil { if err == nil {
logrus.Infoln("[link] trans", n, "bytes packet to", packet.Dst.String()+":"+strconv.Itoa(int(packet.DstPort))) logrus.Debugln("[link] trans", n, "bytes packet to", packet.Dst.String()+":"+strconv.Itoa(int(packet.DstPort)))
} else { } else {
logrus.Errorln("[link] trans packet to", packet.Dst.String()+":"+strconv.Itoa(int(packet.DstPort)), "err:", err) logrus.Errorln("[link] trans packet to", packet.Dst.String()+":"+strconv.Itoa(int(packet.DstPort)), "err:", err)
} }

View File

@@ -39,7 +39,7 @@ func (m *Me) initrecvpool() {
func (m *Me) wait(data []byte) *head.Packet { func (m *Me) wait(data []byte) *head.Packet {
flags := binary.LittleEndian.Uint16(data[10:12]) flags := binary.LittleEndian.Uint16(data[10:12])
logrus.Infoln("[recv]", len(data), "bytes data with flag", hex.EncodeToString(data[10:12])) logrus.Debugln("[recv]", len(data), "bytes data with flag", hex.EncodeToString(data[10:12]))
if flags == 0 || flags == 0x4000 { if flags == 0 || flags == 0x4000 {
h := &head.Packet{} h := &head.Packet{}
_, err := h.Unmarshal(data) _, err := h.Unmarshal(data)
@@ -56,13 +56,13 @@ func (m *Me) wait(data []byte) *head.Packet {
hsh := *(*[32]byte)(*(*unsafe.Pointer)(unsafe.Pointer(&hashd))) hsh := *(*[32]byte)(*(*unsafe.Pointer)(unsafe.Pointer(&hashd)))
h, ok := m.recving[hsh] h, ok := m.recving[hsh]
if ok { if ok {
logrus.Infoln("[recv] get another frag part of", hex.EncodeToString(hashd)) logrus.Debugln("[recv] get another frag part of", hex.EncodeToString(hashd))
ok, err := h.Unmarshal(data) ok, err := h.Unmarshal(data)
if err == nil { if err == nil {
if ok { if ok {
delete(m.clock, h) delete(m.clock, h)
delete(m.recving, hsh) delete(m.recving, hsh)
logrus.Infoln("[recv] all parts of", hex.EncodeToString(hashd), "is reached") logrus.Debugln("[recv] all parts of", hex.EncodeToString(hashd), "is reached")
return h return h
} }
m.clock[h] = 0 m.clock[h] = 0
@@ -71,7 +71,7 @@ func (m *Me) wait(data []byte) *head.Packet {
} }
return nil return nil
} }
logrus.Infoln("[recv] get new frag part of", hex.EncodeToString(hashd)) logrus.Debugln("[recv] get new frag part of", hex.EncodeToString(hashd))
h = &head.Packet{} h = &head.Packet{}
_, err := h.Unmarshal(data) _, err := h.Unmarshal(data)
if err != nil { if err != nil {

View File

@@ -55,7 +55,7 @@ func (r *Router) NextHop(ip string) (l *Link) {
for _, c := range r.list { for _, c := range r.list {
if c.Contains(ipb) { if c.Contains(ipb) {
l = r.table[c.String()] l = r.table[c.String()]
logrus.Infoln("[router] get nexthop to", ipb, "-->", c, "link", l) logrus.Debugln("[router] get nexthop to", ipb, "-->", c, "link", l)
return l return l
} }
} }

View File

@@ -55,7 +55,7 @@ func (nc *NIC) Start(m *link.Me) {
logrus.Errorln("[lower] recv write to nic err:", err) logrus.Errorln("[lower] recv write to nic err:", err)
break break
} }
logrus.Infoln("[lower] recv write", n, "bytes packet to nic") logrus.Debugln("[lower] recv write", n, "bytes packet to nic")
} }
}() }()
buf := make([]byte, (m.MTU()+68)*4096) // 增加报头长度与 TEA 冗余 buf := make([]byte, (m.MTU()+68)*4096) // 增加报头长度与 TEA 冗余
@@ -86,7 +86,7 @@ func (nc *NIC) Start(m *link.Me) {
n, rem = nc.send(m, rem) n, rem = nc.send(m, rem)
} }
if len(rem) > 0 { if len(rem) > 0 {
logrus.Infoln("[lower] remain", len(rem), "bytes to send") logrus.Debugln("[lower] remain", len(rem), "bytes to send")
if off > 0 { if off > 0 {
off = copy(buf, rem) off = copy(buf, rem)
isrev = true isrev = true
@@ -152,7 +152,7 @@ func (nc *NIC) send(m *link.Me, packet []byte) (n int, rem []byte) {
packet = packet[:totl] packet = packet[:totl]
n = int(totl) n = int(totl)
dst := waterutil.IPv4Destination(packet) dst := waterutil.IPv4Destination(packet)
logrus.Infoln("[lower] sending", len(packet), "bytes packet from :"+strconv.Itoa(int(m.SrcPort())), "to", dst.String()+":"+strconv.Itoa(int(m.DstPort()))) logrus.Debugln("[lower] sending", len(packet), "bytes packet from :"+strconv.Itoa(int(m.SrcPort())), "to", dst.String()+":"+strconv.Itoa(int(m.DstPort())))
lnk, err := m.Connect(dst.String()) lnk, err := m.Connect(dst.String())
if err != nil { if err != nil {
logrus.Warnln("[lower] connect to peer", dst.String(), "err:", err) logrus.Warnln("[lower] connect to peer", dst.String(), "err:", err)

10
main.go
View File

@@ -8,6 +8,7 @@ import (
base14 "github.com/fumiama/go-base16384" base14 "github.com/fumiama/go-base16384"
curve "github.com/fumiama/go-x25519" curve "github.com/fumiama/go-x25519"
"github.com/sirupsen/logrus"
"github.com/fumiama/WireGold/config" "github.com/fumiama/WireGold/config"
"github.com/fumiama/WireGold/helper" "github.com/fumiama/WireGold/helper"
@@ -20,8 +21,15 @@ func main() {
gen := flag.Bool("g", false, "generate key pair") gen := flag.Bool("g", false, "generate key pair")
showp := flag.Bool("p", false, "show my publickey") showp := flag.Bool("p", false, "show my publickey")
file := flag.String("c", "config.yaml", "specify conf file") file := flag.String("c", "config.yaml", "specify conf file")
mtu := flag.Int("m", 32768-68, "mtu") mtu := flag.Int("m", 32768-68, "set the mtu of wg")
debug := flag.Bool("d", false, "print debug logs")
warn := flag.Bool("w", false, "only show logs above warn level")
flag.Parse() flag.Parse()
if *debug {
logrus.SetLevel(logrus.DebugLevel)
} else if *warn {
logrus.SetLevel(logrus.WarnLevel)
}
if *help { if *help {
displayHelp("") displayHelp("")
} }