mirror of
https://github.com/v2fly/v2ray-core.git
synced 2026-07-28 02:33:47 -04:00
Postpone SOCKS server ok reply to a TCP Connect command until Dispatch() actually creates an upstream Link. Previously it was sent immediately inside Handshake(). UDP works as before.
37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package simplified
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/v2fly/v2ray-core/v5/common"
|
|
"github.com/v2fly/v2ray-core/v5/common/protocol"
|
|
"github.com/v2fly/v2ray-core/v5/proxy/socks"
|
|
)
|
|
|
|
func init() {
|
|
common.Must(common.RegisterConfig((*ServerConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
|
|
simplifiedServer := config.(*ServerConfig)
|
|
fullServer := &socks.ServerConfig{
|
|
AuthType: socks.AuthType_NO_AUTH,
|
|
Address: simplifiedServer.Address,
|
|
UdpEnabled: simplifiedServer.UdpEnabled,
|
|
PacketEncoding: simplifiedServer.PacketEncoding,
|
|
DeferLastReply: simplifiedServer.DeferLastReply,
|
|
}
|
|
return common.CreateObject(ctx, fullServer)
|
|
}))
|
|
|
|
common.Must(common.RegisterConfig((*ClientConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
|
|
simplifiedClient := config.(*ClientConfig)
|
|
fullClient := &socks.ClientConfig{
|
|
Server: []*protocol.ServerEndpoint{
|
|
{
|
|
Address: simplifiedClient.Address,
|
|
Port: simplifiedClient.Port,
|
|
},
|
|
},
|
|
}
|
|
return common.CreateObject(ctx, fullClient)
|
|
}))
|
|
}
|