rustdesk лет назад: 4
Родитель
Сommit
600fcfbe3b
4 измененных файлов с 45 добавлено и 32 удалено
  1. 2 2
      spk/INFO
  2. 22 15
      spk/WIZARD_UIFILES/install_uifile
  3. 11 6
      spk/scripts/installer
  4. 10 9
      spk/scripts/start-stop-status

+ 2 - 2
spk/INFO

@@ -1,7 +1,7 @@
1 1
 package="RustDesk Server"
2 2
 version="1.1.3"
3
-description="RustDesk是一款可以完全由用户定义的远程桌面软件。您可以使用RustDesk服务器自建中继服务器,先尝试打洞加密直连,不行再由服务器转发。此服务需要三个端口,NAT测试端口:21115(tcp),ID/注册端口:21116(tcp/udp) ,中继端口:21117(tcp)。"
4
-displayname="RustDesk服务器"
3
+description="RustDesk is a remote desktop software allowing your own rendezvous/relay server. It attempts to make direct connect via TCP hole punch first, and then forward via relay server if direct connection fails. 4 ports are used: NAT test port: 21115(tcp), ID/rendezvous port: 21116(tcp/udp), relay port: 21117(tcp). Key: ()"
4
+displayname="RustDesk Rendezvous/Relay Server"
5 5
 maintainer="CarrieZ Studio"
6 6
 maintainer_url="https://rustdesk.com/zh/"
7 7
 distributor="RustDesk & 裙下孤魂"

+ 22 - 15
spk/WIZARD_UIFILES/install_uifile

@@ -2,33 +2,40 @@
2 2
     "step_title": "Install Settings",
3 3
     "items": [{
4 4
         "type": "textfield",
5
-        "desc": "RustDesk中继服务器端口",
5
+        "desc": "Listening Ports",
6 6
         "subitems": [{
7
-            "key": "hbbr_port",
8
-            "desc": "TCP",
9
-            "defaultValue": "21117",
7
+            "key": "hbbs_port",
8
+            "desc": "RustDesk ID Server Port",
9
+            "defaultValue": "21116",
10 10
             "validator": {
11 11
                 "allowBlank": false,
12 12
                 "regex": {
13 13
                     "expr": "/^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/",
14
-                    "errorText": "端口号必须为数字"
14
+                    "errorText": "Digit number only"
15 15
                 }
16 16
             }
17
-        }]
18
-    }, {
19
-        "type": "textfield",
20
-        "desc": "RustDesk ID/注册服务器端口",
21
-        "subitems": [{
22
-            "key": "hbbs_port",
23
-            "desc": "ID/注册服务端口TCP/UDP",
24
-            "defaultValue": "21116",
17
+        }, {
18
+            "key": "hbbr_port",
19
+            "desc": "RustDesk Relay Server Port",
20
+            "defaultValue": "21117",
25 21
             "validator": {
26 22
                 "allowBlank": false,
27 23
                 "regex": {
28 24
                     "expr": "/^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/",
29
-                    "errorText": "端口号必须为数字"
25
+                    "errorText": "Digit number only"
30 26
                 }
31 27
             }
32 28
         }]
33
-    }
29
+    },{
30
+        "type": "textfield",
31
+        "desc": "Only allow the client with the same key",
32
+        "subitems": [{
33
+            "key": "key",
34
+            "desc": "Key",
35
+            "defaultValue": "21117",
36
+            "validator": {
37
+                "allowBlank": True,
38
+            }
34 39
         }]
40
+    }]
41
+    }]

+ 11 - 6
spk/scripts/installer

@@ -11,6 +11,7 @@ FWFILENAME="RustDesk_Server.sc"
11 11
 
12 12
 [ "${hbbr_port}" == "" ]  && hbbr_port="21117"
13 13
 [ "${hbbs_port}" == "" ]  && hbbs_port="21116"
14
+[ "${key}" == "" ]  && key=""
14 15
 nat_port=`expr ${hbbs_port} - 1`
15 16
 
16 17
 preinst() {
@@ -47,14 +48,16 @@ postinst() {
47 48
         fi
48 49
 
49 50
         # 添加应用配置
50
-        sed -i "s/中继端口:21117/中继端口:${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
51
-        sed -i "s/ID\/注册端口:21116/ID\/注册端口:${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
52
-        sed -i "s/NAT测试端口:21115/NAT测试端口:${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
51
+				sed -i "s/relay port: 21117/relay port: ${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
52
+				sed -i "s/ID\/rendezvous port: 21116/ID\/rendezvous port: ${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
53
+				sed -i "s/NAT test port: 21115/NAT test port: ${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
54
+        sed -i "s/Key: ()/Key: (${key})/" "/var/packages/${PACKAGE_NAME}/INFO"
53 55
         sed -i "s/21117/${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
54 56
         sed -i "s/21116/${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
55 57
         sed -i "s/21115/${nat_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
56 58
         sed -i "s/port=[^ ]*/port=${hbbr_port}/g" "${PACKAGE_BASE}/config/hbbr.conf"
57 59
         sed -i "s/port=[^ ]*/port=${hbbs_port}/g" "${PACKAGE_BASE}/config/hbbs.conf"
60
+        sed -i "s/key=[^ ]*/key=${key}/g" "${PACKAGE_BASE}/config/hbbs.conf"
58 61
 
59 62
         # 添加防火墙配置
60 63
         cat "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >"/tmp/${FWFILENAME}"
@@ -141,9 +144,11 @@ postupgrade() {
141 144
     hbbr_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbr.conf" port` >>/tmp/wakko.txt
142 145
     hbbs_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbs.conf" port` >>/tmp/wakko.txt
143 146
     nat_port=`expr ${hbbs_port} - 1`
144
-    sed -i "s/中继端口:21117/中继端口:${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
145
-    sed -i "s/ID\/注册端口:21116/ID\/注册端口:${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
146
-    sed -i "s/NAT测试端口:21115/NAT测试端口:${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
147
+    key=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbs.conf" key` >>/tmp/wakko.txt
148
+    sed -i "s/relay port: 21117/relay port: ${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
149
+    sed -i "s/ID\/rendezvous port: 21116/ID\/rendezvous port: ${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
150
+    sed -i "s/NAT test port: 21115/NAT test port: ${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
151
+    sed -i "s/Key: ()/Key: (${key})/" "/var/packages/${PACKAGE_NAME}/INFO"
147 152
     sed -i "s/21117/${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt
148 153
     sed -i "s/21116/${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt
149 154
     sed -i "s/21115/${nat_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt

+ 10 - 9
spk/scripts/start-stop-status

@@ -8,10 +8,11 @@ PACKAGE_NAME="RustDesk Server"
8 8
 PACKAGE_BASE="/var/packages/${PACKAGE_NAME}/target"
9 9
 HBBR_BIN="${PACKAGE_BASE}/bin/hbbr"
10 10
 HBBR_PORT=`synogetkeyvalue "${PACKAGE_BASE}/config/hbbr.conf" port`
11
-HBBR_LOG="${PACKAGE_BASE}/logs/hbbr.log"
11
+HBBR_LOG="/var/log/hbbr.log"
12 12
 HBBS_BIN="${PACKAGE_BASE}/bin/hbbs"
13 13
 HBBS_PORT=`synogetkeyvalue "${PACKAGE_BASE}/config/hbbs.conf" port`
14
-HBBS_LOG="${PACKAGE_BASE}/logs/hbbs.log"
14
+KEY=`synogetkeyvalue "${PACKAGE_BASE}/config/hbbs.conf" key`
15
+HBBS_LOG="/var/log/hbbs.log"
15 16
 PACKAGE_ENABLED="/var/packages/${PACKAGE_NAME}/enabled"
16 17
 PS_CMD="/bin/ps -w"
17 18
 DSM_MAJORVERSION=`synogetkeyvalue /etc.defaults/VERSION majorversion`
@@ -44,7 +45,7 @@ running_hbbs() {
44 45
 
45 46
 start() {  
46 47
     [ "$SYNOPKG_TEMP_LOGFILE" == "" ] && SYNOPKG_TEMP_LOGFILE="/var/log/rustdeskserver.start.log"
47
-    LANG=C cd "$PACKAGE_BASE" && (nohup "$HBBR_BIN" -p $HBBR_PORT > "$HBBR_LOG" 2>&1 &) && (nohup "$HBBS_BIN" -r 127.0.0.1 -p $HBBS_PORT > "$HBBS_LOG" 2>&1 &)
48
+    LANG=C cd "$PACKAGE_BASE" && (nohup "$HBBR_BIN" -p $HBBR_PORT -k "$KEY" > "$HBBR_LOG" 2>&1 &) && (nohup "$HBBS_BIN" -p $HBBS_PORT -k "$KEY" > "$HBBS_LOG" 2>&1 &)
48 49
 
49 50
 
50 51
     i=0
@@ -61,14 +62,14 @@ start() {
61 62
 
62 63
     # 检查hbbr进程状态
63 64
     if ! running_hbbr ; then
64
-        echo -e "${sError}hbbr进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
65
+        echo -e "${sError}hbbr process not running" | tee -a $SYNOPKG_TEMP_LOGFILE
65 66
         stop
66 67
         return 1
67 68
     fi
68 69
 
69 70
     # 检查hbbs进程状态
70 71
     if ! running_hbbs ; then
71
-        echo -e "${sError}hbbs进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
72
+        echo -e "${sError}hbbs process not running" | tee -a $SYNOPKG_TEMP_LOGFILE
72 73
         stop
73 74
         return 1
74 75
     fi
@@ -90,7 +91,7 @@ stop() {
90 91
             kill -9 $PID
91 92
             sleep 5s
92 93
             if running_hbbr ; then
93
-                echo "${sError}无法关闭hbbr进程 (pid=$PID)!" | tee -a $SYNOPKG_TEMP_LOGFILE
94
+                echo "${sError}Failed to kill hbbr process(pid=$PID)!" | tee -a $SYNOPKG_TEMP_LOGFILE
94 95
                 return 1
95 96
             fi
96 97
         fi
@@ -131,19 +132,19 @@ case $1 in
131 132
     status)
132 133
         # 检查套件开关
133 134
         if [ ! -f "${PACKAGE_ENABLED}" ]; then
134
-            echo "${sError}套件没有开启" | tee -a $SYNOPKG_TEMP_LOGFILE
135
+            echo "${sError}package not started" | tee -a $SYNOPKG_TEMP_LOGFILE
135 136
             exit 0
136 137
         fi
137 138
 
138 139
         # 检查hbbr进程状态
139 140
         if ! running_hbbr ; then
140
-            echo "${sError}hbbr进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
141
+            echo "${sError}hbbr process killed" | tee -a $SYNOPKG_TEMP_LOGFILE
141 142
             exit 1
142 143
         fi
143 144
 
144 145
         # 检查hbbs进程状态
145 146
         if ! running_hbbs ; then
146
-            echo "${sError}hbbs进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
147
+            echo "${sError}hbbs process killed" | tee -a $SYNOPKG_TEMP_LOGFILE
147 148
             exit 1
148 149
         fi
149 150