From 6b15c7f04fe3a26bc4a54a1051c85cd5dff65dfa Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 4 Sep 2021 21:16:01 +0100 Subject: [PATCH] added socks simplified config --- proxy/socks/simplified/config.go | 33 +++++++++++++++++++++++++++++ proxy/socks/simplified/config.proto | 26 +++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 proxy/socks/simplified/config.go create mode 100644 proxy/socks/simplified/config.proto diff --git a/proxy/socks/simplified/config.go b/proxy/socks/simplified/config.go new file mode 100644 index 000000000..a2b423ee8 --- /dev/null +++ b/proxy/socks/simplified/config.go @@ -0,0 +1,33 @@ +package simplified + +import ( + "context" + "github.com/v2fly/v2ray-core/v4/common" + "github.com/v2fly/v2ray-core/v4/common/protocol" + "github.com/v2fly/v2ray-core/v4/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, + } + return socks.NewServer(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 socks.NewClient(ctx, fullClient) + })) +} diff --git a/proxy/socks/simplified/config.proto b/proxy/socks/simplified/config.proto new file mode 100644 index 000000000..1bcadf2de --- /dev/null +++ b/proxy/socks/simplified/config.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; + +package v2ray.core.proxy.socks.simplified; +option csharp_namespace = "V2Ray.Core.Proxy.Socks.Simplified"; +option go_package = "github.com/v2fly/v2ray-core/v4/proxy/socks/simplified"; +option java_package = "com.v2ray.core.proxy.socks.simplified"; +option java_multiple_files = true; + +import "common/protoext/extensions.proto"; +import "common/net/address.proto"; + +message ServerConfig{ + option (v2ray.core.common.protoext.message_opt).type = "inbound"; + option (v2ray.core.common.protoext.message_opt).short_name = "socks"; + + v2ray.core.common.net.IPOrDomain address = 3; + bool udp_enabled = 4; +} + +message ClientConfig { + option (v2ray.core.common.protoext.message_opt).type = "outbound"; + option (v2ray.core.common.protoext.message_opt).short_name = "socks"; + + v2ray.core.common.net.IPOrDomain address = 1; + uint32 port = 2; +} \ No newline at end of file