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

View File

@@ -60,6 +60,8 @@ func (w *PacketConnWrapper) ReadPacket(buffer *B.Buffer) (M.Socksaddr, error) {
}
mb, err := w.ReadMultiBuffer()
if err != nil {
// uplinkonly
w.T.SetTimeout(3 * time.Second)
return M.Socksaddr{}, err
}
nb, bb := buf.SplitFirst(mb)
@@ -83,6 +85,8 @@ func (w *PacketConnWrapper) WritePacket(buffer *B.Buffer, destination M.Socksadd
w.T.Update()
endpoint, err := ToDestination(destination, net.Network_UDP)
if err != nil {
// uplinkonly
w.T.SetTimeout(3 * time.Second)
return err
}
vBuf := buf.New()

View File

@@ -45,7 +45,12 @@ func (w *PipeConnWrapper) Close() error {
func (w *PipeConnWrapper) Read(b []byte) (n int, err error) {
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) {
@@ -68,6 +73,8 @@ func (w *PipeConnWrapper) Write(p []byte) (n int, err error) {
if err != nil {
n = 0
buf.ReleaseMulti(mb)
// downlinkonly
w.T.SetTimeout(3 * time.Second)
}
return
}