This commit is contained in:
unknown 2019-10-16 18:47:59 +08:00
parent f0a9f4e471
commit 5e5df224b7
3 changed files with 28 additions and 8 deletions

View File

@ -22,16 +22,19 @@ func (proxy *Proxy) Run(ctx context.Context) (context.Context, error) {
clientId := proxy.GetClientId(ctx) clientId := proxy.GetClientId(ctx)
brg := proxy.GetBridge(ctx) brg := proxy.GetBridge(ctx)
severConn, err := brg.GetConnByClientId(clientId) //severConn, err := brg.GetConnByClientId(clientId)
//if err != nil {
// return ctx, err
//}
//
//// send connection information to the npc
//if _, err := core.SendInfo(severConn, nil); err != nil {
// return ctx, err
//}
severConn, err := net.Dial(ctx.Value(core.PROXY_CONNECTION_TYPE).(string), ctx.Value(core.PROXY_CONNECTION_ADDR).(string)+":"+ctx.Value(core.PROXY_CONNECTION_PORT).(string))
if err != nil { if err != nil {
return ctx, err return ctx, err
} }
// send connection information to the npc
if _, err := core.SendInfo(severConn, nil); err != nil {
return ctx, err
}
// data exchange // data exchange
go core.CopyBuffer(severConn, proxy.clientConn) go core.CopyBuffer(severConn, proxy.clientConn)
core.CopyBuffer(proxy.clientConn, severConn) core.CopyBuffer(proxy.clientConn, severConn)

View File

@ -19,12 +19,14 @@ type S5Server struct {
listener net.Listener listener net.Listener
} }
func NewS5Server(globalConfig, clientConfig, pluginConfig map[string]string) *S5Server { func NewS5Server(globalConfig, clientConfig, pluginConfig map[string]string, ServerIp string, ServerPort int) *S5Server {
s5 := &S5Server{ s5 := &S5Server{
globalConfig: globalConfig, globalConfig: globalConfig,
clientConfig: clientConfig, clientConfig: clientConfig,
pluginConfig: pluginConfig, pluginConfig: pluginConfig,
plugins: &core.Plugins{}, plugins: &core.Plugins{},
ServerIp: ServerIp,
ServerPort: ServerPort,
} }
s5.plugins.Add(new(Handshake), new(Access), new(CheckAccess), new(Request), new(common.Proxy)) s5.plugins.Add(new(Handshake), new(Access), new(CheckAccess), new(Request), new(common.Proxy))
return s5 return s5

View File

@ -0,0 +1,15 @@
package socks5
import (
"context"
"testing"
)
func TestNewS5Server(t *testing.T) {
g := make(map[string]string)
c := make(map[string]string)
p := make(map[string]string)
s5 := NewS5Server(g, c, p, "", 1099)
ctx := context.Background()
s5.Start(ctx)
}