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:
14
go.sum
14
go.sum
@@ -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=
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
10
main.go
@@ -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("")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user