up/down link only

This commit is contained in:
Fangliding
2026-05-07 15:25:29 +08:00
parent dff8ffb3da
commit 025c87e54a
2 changed files with 12 additions and 1 deletions
+4
View File
@@ -60,6 +60,8 @@ func (w *PacketConnWrapper) ReadPacket(buffer *B.Buffer) (M.Socksaddr, error) {
} }
mb, err := w.ReadMultiBuffer() mb, err := w.ReadMultiBuffer()
if err != nil { if err != nil {
// uplinkonly
w.T.SetTimeout(3 * time.Second)
return M.Socksaddr{}, err return M.Socksaddr{}, err
} }
nb, bb := buf.SplitFirst(mb) nb, bb := buf.SplitFirst(mb)
@@ -83,6 +85,8 @@ func (w *PacketConnWrapper) WritePacket(buffer *B.Buffer, destination M.Socksadd
w.T.Update() w.T.Update()
endpoint, err := ToDestination(destination, net.Network_UDP) endpoint, err := ToDestination(destination, net.Network_UDP)
if err != nil { if err != nil {
// uplinkonly
w.T.SetTimeout(3 * time.Second)
return err return err
} }
vBuf := buf.New() vBuf := buf.New()
+8 -1
View File
@@ -45,7 +45,12 @@ func (w *PipeConnWrapper) Close() error {
func (w *PipeConnWrapper) Read(b []byte) (n int, err error) { func (w *PipeConnWrapper) Read(b []byte) (n int, err error) {
w.T.Update() w.T.Update()
return w.R.Read(b) n, err = w.Read(b)
if err != nil {
// uplinkonly
w.T.SetTimeout(3 * time.Second)
}
return
} }
func (w *PipeConnWrapper) Write(p []byte) (n int, err error) { func (w *PipeConnWrapper) Write(p []byte) (n int, err error) {
@@ -68,6 +73,8 @@ func (w *PipeConnWrapper) Write(p []byte) (n int, err error) {
if err != nil { if err != nil {
n = 0 n = 0
buf.ReleaseMulti(mb) buf.ReleaseMulti(mb)
// downlinkonly
w.T.SetTimeout(3 * time.Second)
} }
return return
} }