mirror of
https://github.com/ehang-io/nps.git
synced 2025-07-03 13:10:42 +00:00
module
This commit is contained in:
parent
f0a9f4e471
commit
5e5df224b7
@ -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)
|
||||||
|
@ -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
|
||||||
|
15
server/socks5/socks5_server_test.go
Normal file
15
server/socks5/socks5_server_test.go
Normal 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)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user