Skip to content

Commit 79968b0

Browse files
committed
Fix bug
1 parent 025c87e commit 79968b0

4 files changed

Lines changed: 16 additions & 1 deletion

File tree

common/singbridge/pipe.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func (w *PipeConnWrapper) Close() error {
4545

4646
func (w *PipeConnWrapper) Read(b []byte) (n int, err error) {
4747
w.T.Update()
48-
n, err = w.Read(b)
48+
n, err = w.R.Read(b)
4949
if err != nil {
5050
// uplinkonly
5151
w.T.SetTimeout(3 * time.Second)

proxy/shadowsocks_2022/inbound.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package shadowsocks_2022
22

33
import (
44
"context"
5+
"time"
56

67
shadowsocks "github.com/sagernet/sing-shadowsocks"
78
"github.com/sagernet/sing-shadowsocks/shadowaead_2022"
@@ -18,6 +19,7 @@ import (
1819
"github.com/xtls/xray-core/common/net"
1920
"github.com/xtls/xray-core/common/protocol"
2021
"github.com/xtls/xray-core/common/session"
22+
"github.com/xtls/xray-core/common/signal"
2123
"github.com/xtls/xray-core/common/singbridge"
2224
"github.com/xtls/xray-core/features/routing"
2325
"github.com/xtls/xray-core/transport/internet/stat"
@@ -152,6 +154,9 @@ func (i *Inbound) NewPacketConnection(ctx context.Context, conn N.PacketConn, me
152154
Reader: link.Reader,
153155
Writer: link.Writer,
154156
Dest: destination,
157+
T: signal.CancelAfterInactivity(ctx, func() {
158+
common.Interrupt(link.Reader)
159+
}, 300*time.Second),
155160
}
156161
return bufio.CopyPacketConn(ctx, conn, outConn)
157162
}

proxy/shadowsocks_2022/inbound_multi.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"strconv"
77
"strings"
88
"sync"
9+
"time"
910

1011
"github.com/sagernet/sing-shadowsocks/shadowaead_2022"
1112
C "github.com/sagernet/sing/common"
@@ -22,6 +23,7 @@ import (
2223
"github.com/xtls/xray-core/common/net"
2324
"github.com/xtls/xray-core/common/protocol"
2425
"github.com/xtls/xray-core/common/session"
26+
"github.com/xtls/xray-core/common/signal"
2527
"github.com/xtls/xray-core/common/singbridge"
2628
"github.com/xtls/xray-core/common/uuid"
2729
"github.com/xtls/xray-core/features/routing"
@@ -273,6 +275,9 @@ func (i *MultiUserInbound) NewPacketConnection(ctx context.Context, conn N.Packe
273275
Reader: link.Reader,
274276
Writer: link.Writer,
275277
Dest: destination,
278+
T: signal.CancelAfterInactivity(ctx, func() {
279+
common.Interrupt(link.Reader)
280+
}, 300*time.Second),
276281
}
277282
return bufio.CopyPacketConn(ctx, conn, outConn)
278283
}

proxy/shadowsocks_2022/inbound_relay.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"strconv"
66
"strings"
7+
"time"
78

89
"github.com/sagernet/sing-shadowsocks/shadowaead_2022"
910
C "github.com/sagernet/sing/common"
@@ -20,6 +21,7 @@ import (
2021
"github.com/xtls/xray-core/common/net"
2122
"github.com/xtls/xray-core/common/protocol"
2223
"github.com/xtls/xray-core/common/session"
24+
"github.com/xtls/xray-core/common/signal"
2325
"github.com/xtls/xray-core/common/singbridge"
2426
"github.com/xtls/xray-core/common/uuid"
2527
"github.com/xtls/xray-core/features/routing"
@@ -177,6 +179,9 @@ func (i *RelayInbound) NewPacketConnection(ctx context.Context, conn N.PacketCon
177179
Reader: link.Reader,
178180
Writer: link.Writer,
179181
Dest: destination,
182+
T: signal.CancelAfterInactivity(ctx, func() {
183+
common.Interrupt(link.Reader)
184+
}, 300*time.Second),
180185
}
181186
return bufio.CopyPacketConn(ctx, conn, outConn)
182187
}

0 commit comments

Comments
 (0)