fix: correct sing-box traffic directio
This commit is contained in:
@@ -578,7 +578,7 @@ func (c *trackedConn) Read(b []byte) (int, error) {
|
|||||||
n, err := c.Conn.Read(b)
|
n, err := c.Conn.Read(b)
|
||||||
if n > 0 {
|
if n > 0 {
|
||||||
if c.us != nil {
|
if c.us != nil {
|
||||||
c.us.download.Add(int64(n))
|
c.us.upload.Add(int64(n)) // 从入站读取 = 用户上传
|
||||||
}
|
}
|
||||||
if c.limiter != nil {
|
if c.limiter != nil {
|
||||||
// Non-blocking rate limiting
|
// Non-blocking rate limiting
|
||||||
@@ -626,7 +626,7 @@ func (c *trackedConn) Write(b []byte) (int, error) {
|
|||||||
|
|
||||||
n, err := c.Conn.Write(b)
|
n, err := c.Conn.Write(b)
|
||||||
if n > 0 && c.us != nil {
|
if n > 0 && c.us != nil {
|
||||||
c.us.upload.Add(int64(n))
|
c.us.download.Add(int64(n)) // 向入站写入 = 用户下载
|
||||||
}
|
}
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
@@ -670,14 +670,14 @@ func (c *trackedConn) UnwrapReader() (io.Reader, []N.CountFunc) {
|
|||||||
if c.us == nil {
|
if c.us == nil {
|
||||||
return c.Conn, nil
|
return c.Conn, nil
|
||||||
}
|
}
|
||||||
return c.Conn, []N.CountFunc{c.makeCountFunc(&c.us.download)}
|
return c.Conn, []N.CountFunc{c.makeCountFunc(&c.us.upload)} // 从入站读取 = 用户上传
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *trackedConn) UnwrapWriter() (io.Writer, []N.CountFunc) {
|
func (c *trackedConn) UnwrapWriter() (io.Writer, []N.CountFunc) {
|
||||||
if c.us == nil {
|
if c.us == nil {
|
||||||
return c.Conn, nil
|
return c.Conn, nil
|
||||||
}
|
}
|
||||||
return c.Conn, []N.CountFunc{c.makeCountFunc(&c.us.upload)}
|
return c.Conn, []N.CountFunc{c.makeCountFunc(&c.us.download)} // 向入站写入 = 用户下载
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *trackedConn) Upstream() any { return c.Conn }
|
func (c *trackedConn) Upstream() any { return c.Conn }
|
||||||
@@ -703,7 +703,7 @@ func (c *trackedPacketConn) ReadPacket(buffer *buf.Buffer) (singM.Socksaddr, err
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
n := int64(buffer.Len())
|
n := int64(buffer.Len())
|
||||||
if c.us != nil {
|
if c.us != nil {
|
||||||
c.us.download.Add(n)
|
c.us.upload.Add(n) // 从入站读取 = 用户上传
|
||||||
}
|
}
|
||||||
if c.limiter != nil {
|
if c.limiter != nil {
|
||||||
// Non-blocking rate limiting with context cancellation
|
// Non-blocking rate limiting with context cancellation
|
||||||
@@ -749,7 +749,7 @@ func (c *trackedPacketConn) WritePacket(buffer *buf.Buffer, dest singM.Socksaddr
|
|||||||
|
|
||||||
err := c.PacketConn.WritePacket(buffer, dest)
|
err := c.PacketConn.WritePacket(buffer, dest)
|
||||||
if err == nil && c.us != nil {
|
if err == nil && c.us != nil {
|
||||||
c.us.upload.Add(n)
|
c.us.download.Add(n) // 向入站写入 = 用户下载
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user