Просмотр исходного кода

feat(server): Rustdesk Id Server Port & Relay Server Port #104

lejianwen 1 год назад
Родитель
Сommit
56014d35bd
2 измененных файлов с 20 добавлено и 13 удалено
  1. 10 10
      config/rustdesk.go
  2. 10 3
      service/serverCmd.go

+ 10 - 10
config/rustdesk.go

@@ -12,14 +12,14 @@ const (
12
 )
12
 )
13
 
13
 
14
 type Rustdesk struct {
14
 type Rustdesk struct {
15
-	IdServer     string `mapstructure:"id-server"`
16
-	IdServerPort int    `mapstructure:"-"`
17
-	RelayServer  string `mapstructure:"relay-server"`
18
-	RelayPort    int    `mapstructure:"-"`
19
-	ApiServer    string `mapstructure:"api-server"`
20
-	Key          string `mapstructure:"key"`
21
-	KeyFile      string `mapstructure:"key-file"`
22
-	Personal     int    `mapstructure:"personal"`
15
+	IdServer        string `mapstructure:"id-server"`
16
+	IdServerPort    int    `mapstructure:"-"`
17
+	RelayServer     string `mapstructure:"relay-server"`
18
+	RelayServerPort int    `mapstructure:"-"`
19
+	ApiServer       string `mapstructure:"api-server"`
20
+	Key             string `mapstructure:"key"`
21
+	KeyFile         string `mapstructure:"key-file"`
22
+	Personal        int    `mapstructure:"personal"`
23
 	//webclient-magic-queryonline
23
 	//webclient-magic-queryonline
24
 	WebclientMagicQueryonline int `mapstructure:"webclient-magic-queryonline"`
24
 	WebclientMagicQueryonline int `mapstructure:"webclient-magic-queryonline"`
25
 }
25
 }
@@ -50,8 +50,8 @@ func (rd *Rustdesk) ParsePort() {
50
 
50
 
51
 	relayres := strings.Split(rd.RelayServer, ":")
51
 	relayres := strings.Split(rd.RelayServer, ":")
52
 	if len(relayres) == 1 {
52
 	if len(relayres) == 1 {
53
-		rd.RelayPort = DefaultRelayServerPort
53
+		rd.RelayServerPort = DefaultRelayServerPort
54
 	} else if len(relayres) == 2 {
54
 	} else if len(relayres) == 2 {
55
-		rd.RelayPort, _ = strconv.Atoi(relayres[1])
55
+		rd.RelayServerPort, _ = strconv.Atoi(relayres[1])
56
 	}
56
 	}
57
 }
57
 }

+ 10 - 3
service/serverCmd.go

@@ -41,7 +41,14 @@ func (is *ServerCmdService) Create(u *model.ServerCmd) error {
41
 }
41
 }
42
 
42
 
43
 // SendCmd 发送命令
43
 // SendCmd 发送命令
44
-func (is *ServerCmdService) SendCmd(port string, cmd string, arg string) (string, error) {
44
+func (is *ServerCmdService) SendCmd(target string, cmd string, arg string) (string, error) {
45
+	port := 0
46
+	switch target {
47
+	case model.ServerCmdTargetIdServer:
48
+		port = global.Config.Rustdesk.IdServerPort - 1
49
+	case model.ServerCmdTargetRelayServer:
50
+		port = global.Config.Rustdesk.RelayServerPort
51
+	}
45
 	//组装命令
52
 	//组装命令
46
 	cmd = cmd + " " + arg
53
 	cmd = cmd + " " + arg
47
 	res, err := is.SendSocketCmd("v6", port, cmd)
54
 	res, err := is.SendSocketCmd("v6", port, cmd)
@@ -57,14 +64,14 @@ func (is *ServerCmdService) SendCmd(port string, cmd string, arg string) (string
57
 }
64
 }
58
 
65
 
59
 // SendSocketCmd
66
 // SendSocketCmd
60
-func (is *ServerCmdService) SendSocketCmd(ty string, port string, cmd string) (string, error) {
67
+func (is *ServerCmdService) SendSocketCmd(ty string, port int, cmd string) (string, error) {
61
 	addr := "[::1]"
68
 	addr := "[::1]"
62
 	tcp := "tcp6"
69
 	tcp := "tcp6"
63
 	if ty == "v4" {
70
 	if ty == "v4" {
64
 		tcp = "tcp"
71
 		tcp = "tcp"
65
 		addr = "127.0.0.1"
72
 		addr = "127.0.0.1"
66
 	}
73
 	}
67
-	conn, err := net.Dial(tcp, fmt.Sprintf("%s:%s", addr, port))
74
+	conn, err := net.Dial(tcp, fmt.Sprintf("%s:%v", addr, port))
68
 	if err != nil {
75
 	if err != nil {
69
 		global.Logger.Debugf("%s connect to id server failed: %v", ty, err)
76
 		global.Logger.Debugf("%s connect to id server failed: %v", ty, err)
70
 		return "", err
77
 		return "", err