mirror of
https://github.com/lejianwen/rustdesk-api.git
synced 2026-02-05 22:00:37 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7db4b03634 | ||
|
|
77760a681a | ||
|
|
f9c1447ceb | ||
|
|
fb749c1902 |
@@ -1,4 +1,4 @@
|
|||||||
FROM rustdesk/rustdesk-server-s6:latest as server
|
FROM rustdesk/rustdesk-server-s6:latest AS server
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
- 快速使用web client
|
- 快速使用web client
|
||||||
- i18n
|
- i18n
|
||||||
- 通过 web client 分享给游客
|
- 通过 web client 分享给游客
|
||||||
|
- server控制(一些官方的简单的指令 [WIKI](https://github.com/lejianwen/rustdesk-api/wiki/Rustdesk-Command))
|
||||||
- Web Client
|
- Web Client
|
||||||
- 自动获取API server
|
- 自动获取API server
|
||||||
- 自动获取ID服务器和KEY
|
- 自动获取ID服务器和KEY
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ desktop software that provides self-hosted solutions.
|
|||||||
- Quick access to web client
|
- Quick access to web client
|
||||||
- i18n
|
- i18n
|
||||||
- Share to guest by web client
|
- Share to guest by web client
|
||||||
|
- Server control (some simple official commands [WIKI](https://github.com/lejianwen/rustdesk-api/wiki/Rustdesk-Command))
|
||||||
- Web Client
|
- Web Client
|
||||||
- Automatically obtain API server
|
- Automatically obtain API server
|
||||||
- Automatically obtain ID server and KEY
|
- Automatically obtain ID server and KEY
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ func (r *Rustdesk) SendCmd(c *gin.Context) {
|
|||||||
rc := &RustdeskCmd{}
|
rc := &RustdeskCmd{}
|
||||||
c.ShouldBindJSON(rc)
|
c.ShouldBindJSON(rc)
|
||||||
if rc.Cmd == "" {
|
if rc.Cmd == "" {
|
||||||
response.Fail(c, 101, "cmd is required")
|
response.Fail(c, 101, response.TranslateMsg(c, "ParamsError"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
res, err := service.AllService.ServerCmdService.SendCmd(rc.Cmd, rc.Option)
|
res, err := service.AllService.ServerCmdService.SendCmd(rc.Cmd, rc.Option)
|
||||||
|
|||||||
@@ -19,6 +19,6 @@ var SysServerCmds = []*ServerCmd{
|
|||||||
{Cmd: "relay-servers", Alias: "rs", Option: "<separated by ,>", Explain: "set or show relay servers"},
|
{Cmd: "relay-servers", Alias: "rs", Option: "<separated by ,>", Explain: "set or show relay servers"},
|
||||||
{Cmd: "ip-blocker", Alias: "ib", Option: "[<ip>|<number>] [-]", Explain: "block or unblock ip or show blocked ip"},
|
{Cmd: "ip-blocker", Alias: "ib", Option: "[<ip>|<number>] [-]", Explain: "block or unblock ip or show blocked ip"},
|
||||||
{Cmd: "ip-changes", Alias: "ic", Option: "[<id>|<number>] [-]", Explain: "ip-changes(ic) [<id>|<number>] [-]"},
|
{Cmd: "ip-changes", Alias: "ic", Option: "[<id>|<number>] [-]", Explain: "ip-changes(ic) [<id>|<number>] [-]"},
|
||||||
{Cmd: "always-use-relay(aur)", Alias: "aur", Option: "[y|n]", Explain: "always use relay"},
|
{Cmd: "always-use-relay", Alias: "aur", Option: "[y|n]", Explain: "always use relay"},
|
||||||
{Cmd: "test-geo", Alias: "tg", Option: "<ip1> <ip2>", Explain: "test geo"},
|
{Cmd: "test-geo", Alias: "tg", Option: "<ip1> <ip2>", Explain: "test geo"},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package service
|
|||||||
import (
|
import (
|
||||||
"Gwen/global"
|
"Gwen/global"
|
||||||
"Gwen/model"
|
"Gwen/model"
|
||||||
"fmt"
|
|
||||||
"net"
|
"net"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@@ -66,14 +65,14 @@ func (is *ServerCmdService) SendSocketCmd(ty string, cmd string) (string, error)
|
|||||||
}
|
}
|
||||||
conn, err := net.Dial(tcp, addr+":21115")
|
conn, err := net.Dial(tcp, addr+":21115")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("connect to id %s server failed: %v\n", ty, err)
|
global.Logger.Debugf("%s connect to id server failed: %v", ty, err)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
//发送命令
|
//发送命令
|
||||||
_, err = conn.Write([]byte(cmd))
|
_, err = conn.Write([]byte(cmd))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("send cmd failed: %v\n", err)
|
global.Logger.Debugf("%s send cmd failed: %v", ty, err)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
@@ -81,7 +80,7 @@ func (is *ServerCmdService) SendSocketCmd(ty string, cmd string) (string, error)
|
|||||||
buf := make([]byte, 1024)
|
buf := make([]byte, 1024)
|
||||||
n, err := conn.Read(buf)
|
n, err := conn.Read(buf)
|
||||||
if err != nil && err.Error() != "EOF" {
|
if err != nil && err.Error() != "EOF" {
|
||||||
fmt.Printf("read response failed: %v\n", err)
|
global.Logger.Debugf("%s read response failed: %v", ty, err)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return string(buf[:n]), nil
|
return string(buf[:n]), nil
|
||||||
|
|||||||
Reference in New Issue
Block a user