Skip to content

Commit 2790481

Browse files
committed
chore: update cast using in sing-vmess
1 parent 182f60d commit 2790481

4 files changed

Lines changed: 16 additions & 7 deletions

File tree

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ require (
3131
github.com/metacubex/sing-shadowsocks2 v0.2.6
3232
github.com/metacubex/sing-shadowtls v0.0.0-20250503063515-5d9f966d17a2
3333
github.com/metacubex/sing-tun v0.4.7
34-
github.com/metacubex/sing-vmess v0.2.4-0.20250817075824-5e05f123ccdd
34+
github.com/metacubex/sing-vmess v0.2.4-0.20250819151326-51d195aac5db
3535
github.com/metacubex/sing-wireguard v0.0.0-20250503063753-2dc62acc626f
3636
github.com/metacubex/smux v0.0.0-20250503055512-501391591dee
3737
github.com/metacubex/tfo-go v0.0.0-20250516165257-e29c16ae41d4

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ github.com/metacubex/sing-shadowtls v0.0.0-20250503063515-5d9f966d17a2 h1:gXU+MY
131131
github.com/metacubex/sing-shadowtls v0.0.0-20250503063515-5d9f966d17a2/go.mod h1:mbfboaXauKJNIHJYxQRa+NJs4JU9NZfkA+I33dS2+9E=
132132
github.com/metacubex/sing-tun v0.4.7 h1:ZDY/W+1c7PeWWKeKRyUo18fySF/TWjB0i5ui81Ar778=
133133
github.com/metacubex/sing-tun v0.4.7/go.mod h1:xHecZRwBnKWe6zG9amAK9cXf91lF6blgjBqm+VvOrmU=
134-
github.com/metacubex/sing-vmess v0.2.4-0.20250817075824-5e05f123ccdd h1:VfD6UxKPAg7u9rPyxl18lQkpE9s8dZq0u2cPAgQShWs=
135-
github.com/metacubex/sing-vmess v0.2.4-0.20250817075824-5e05f123ccdd/go.mod h1:21R5R1u90uUvBQF0owoooEu96/SAYYD56nDrwm6nFaM=
134+
github.com/metacubex/sing-vmess v0.2.4-0.20250819151326-51d195aac5db h1:W7VKxR0r5IR+56Lblx2iyrEaykx0esdQwTQbkSrSaek=
135+
github.com/metacubex/sing-vmess v0.2.4-0.20250819151326-51d195aac5db/go.mod h1:21R5R1u90uUvBQF0owoooEu96/SAYYD56nDrwm6nFaM=
136136
github.com/metacubex/sing-wireguard v0.0.0-20250503063753-2dc62acc626f h1:Sr/DYKYofKHKc4GF3qkRGNuj6XA6c0eqPgEDN+VAsYU=
137137
github.com/metacubex/sing-wireguard v0.0.0-20250503063753-2dc62acc626f/go.mod h1:jpAkVLPnCpGSfNyVmj6Cq4YbuZsFepm/Dc+9BAOcR80=
138138
github.com/metacubex/smux v0.0.0-20250503055512-501391591dee h1:lp6hJ+4wCLZu113awp7P6odM2okB5s60HUyF0FMqKmo=

listener/reality/reality.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,11 @@ func (c realityConnWrapper) Upstream() any {
113113
func (c realityConnWrapper) CloseWrite() error {
114114
return c.Close()
115115
}
116+
117+
func (c realityConnWrapper) ReaderReplaceable() bool {
118+
return true
119+
}
120+
121+
func (c realityConnWrapper) WriterReplaceable() bool {
122+
return true
123+
}

listener/sing_vless/server.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,36 @@ import (
2525
"github.com/metacubex/sing-vmess/vless"
2626
"github.com/metacubex/sing/common"
2727
"github.com/metacubex/sing/common/metadata"
28+
"github.com/metacubex/sing/common/network"
2829
)
2930

3031
func init() {
3132
vless.RegisterTLS(func(conn net.Conn) (loaded bool, netConn net.Conn, reflectType reflect.Type, reflectPointer unsafe.Pointer) {
32-
tlsConn, loaded := common.Cast[*reality.Conn](conn) // *utls.Conn
33+
tlsConn, loaded := network.CastReader[*reality.Conn](conn) // *utls.Conn
3334
if !loaded {
3435
return
3536
}
3637
return true, tlsConn.NetConn(), reflect.TypeOf(tlsConn).Elem(), unsafe.Pointer(tlsConn)
3738
})
3839

3940
vless.RegisterTLS(func(conn net.Conn) (loaded bool, netConn net.Conn, reflectType reflect.Type, reflectPointer unsafe.Pointer) {
40-
tlsConn, loaded := common.Cast[*tlsC.UConn](conn) // *utls.UConn
41+
tlsConn, loaded := network.CastReader[*tlsC.UConn](conn) // *utls.UConn
4142
if !loaded {
4243
return
4344
}
4445
return true, tlsConn.NetConn(), reflect.TypeOf(tlsConn.Conn).Elem(), unsafe.Pointer(tlsConn.Conn)
4546
})
4647

4748
vless.RegisterTLS(func(conn net.Conn) (loaded bool, netConn net.Conn, reflectType reflect.Type, reflectPointer unsafe.Pointer) {
48-
tlsConn, loaded := common.Cast[*encryption.ClientConn](conn)
49+
tlsConn, loaded := network.CastReader[*encryption.ClientConn](conn)
4950
if !loaded {
5051
return
5152
}
5253
return true, tlsConn.Conn, reflect.TypeOf(tlsConn).Elem(), unsafe.Pointer(tlsConn)
5354
})
5455

5556
vless.RegisterTLS(func(conn net.Conn) (loaded bool, netConn net.Conn, reflectType reflect.Type, reflectPointer unsafe.Pointer) {
56-
tlsConn, loaded := common.Cast[*encryption.ServerConn](conn)
57+
tlsConn, loaded := network.CastReader[*encryption.ServerConn](conn)
5758
if !loaded {
5859
return
5960
}

0 commit comments

Comments
 (0)