mirror of
https://github.com/rustdesk/rustdesk-server.git
synced 2025-07-01 23:35:38 +00:00
initialize spk
This commit is contained in:
parent
a10bb34f6e
commit
fd09533e2b
19
spk/INFO
Executable file
19
spk/INFO
Executable file
@ -0,0 +1,19 @@
|
||||
package="RustDesk Server"
|
||||
version="1.1.3"
|
||||
description="RustDesk是一款可以完全由用户定义的远程桌面软件。您可以使用RustDesk服务器自建中继服务器,先尝试打洞加密直连,不行再由服务器转发。此服务需要三个端口,NAT测试端口:21115(tcp),ID/注册端口:21116(tcp/udp) ,中继端口:21117(tcp)。"
|
||||
displayname="RustDesk服务器"
|
||||
maintainer="CarrieZ Studio"
|
||||
maintainer_url="https://rustdesk.com/zh/"
|
||||
distributor="RustDesk & 裙下孤魂"
|
||||
support_url="https://rustdesk.com/contact/"
|
||||
arch="apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley kvmx64 purley v1000 x86 x86_64"
|
||||
os_min_ver="6.1"
|
||||
reloadui="yes"
|
||||
startable="yes"
|
||||
thirdparty="yes"
|
||||
install_reboot="no"
|
||||
install_dep_packages=""
|
||||
install_conflict_packages=""
|
||||
checksum="b66b5f9f889229092ed76e42b23878e4"
|
||||
extractsize=""
|
||||
checkport="no"
|
BIN
spk/PACKAGE_ICON.PNG
Executable file
BIN
spk/PACKAGE_ICON.PNG
Executable file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
BIN
spk/PACKAGE_ICON_256.PNG
Executable file
BIN
spk/PACKAGE_ICON_256.PNG
Executable file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
34
spk/WIZARD_UIFILES/install_uifile
Executable file
34
spk/WIZARD_UIFILES/install_uifile
Executable file
@ -0,0 +1,34 @@
|
||||
[{
|
||||
"step_title": "Install Settings",
|
||||
"items": [{
|
||||
"type": "textfield",
|
||||
"desc": "RustDesk中继服务器端口",
|
||||
"subitems": [{
|
||||
"key": "hbbr_port",
|
||||
"desc": "TCP",
|
||||
"defaultValue": "21117",
|
||||
"validator": {
|
||||
"allowBlank": false,
|
||||
"regex": {
|
||||
"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])$/",
|
||||
"errorText": "端口号必须为数字"
|
||||
}
|
||||
}
|
||||
}]
|
||||
}, {
|
||||
"type": "textfield",
|
||||
"desc": "RustDesk ID/注册服务器端口",
|
||||
"subitems": [{
|
||||
"key": "hbbs_port",
|
||||
"desc": "ID/注册服务端口TCP/UDP",
|
||||
"defaultValue": "21116",
|
||||
"validator": {
|
||||
"allowBlank": false,
|
||||
"regex": {
|
||||
"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])$/",
|
||||
"errorText": "端口号必须为数字"
|
||||
}
|
||||
}
|
||||
}]
|
||||
}
|
||||
}]
|
30
spk/pubkey
Normal file
30
spk/pubkey
Normal file
@ -0,0 +1,30 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
mQENBFPXh7wBCAClaiu5REwBu9ow0OYam+wWp3PTHIcuy1KAuOJaOoGAPPpJ+df1
|
||||
xvVpql5bMlUWLE6OiWHPdSojrw0T6yx47R5F6rPVyT19+/uKrWpVoLQHu4WZRAIF
|
||||
yhd1ptbClvdJGu3h1YGXsGNCMB4L1Ytbzg3mIatsqJwwY6H0fc88/HbSwnF5xyM2
|
||||
C6r6AzHwVNl0RPYzOrMMaizaYIHEIC0xvOvL94paqPZPfMZ8S2PsiHD8rhpZ46+k
|
||||
pbrpCNgeas7i6ix1I8mT/pGmjhqcPhsT0OK8gqKWfa8ZVltX5fkL6g3M+g6BKsYT
|
||||
Qr+II8wQGX0ZHfFUjqFcPBPekiksixkwbHgPABEBAAG0GVN5bm9sb2d5IEluYy4g
|
||||
KFRpbWVzdGFtcCmJATgEEwECACIFAlPXh7wCGwMGCwkIBwMCBhUIAgkKCwQWAgMB
|
||||
Ah4BAheAAAoJEDjoaiswnoiw2U0H/jIsC7fkF6B1TSYPntmZ/DTAIDPvH5GX3a5O
|
||||
XugCbBpFlLYgbrDf9ZD6iu8lYWwdIYlGiNnIpJ+aw/F6hClc1/sfwBIjW9AtWLWI
|
||||
GPOsrqlcEETcAooCnAV8wsQ6cIBPxQJmZRoQYI71IrY/mXsrFh1MNc3nMoiMC/Hx
|
||||
dKcWFUSVeHE3goWkZ8k68c466blj8nQZ5IKA64qt0s3WkwG2k3bheh5KxFwX4Uyq
|
||||
QWPAHhTzepJvJi5DMMla+JN6+PtDsQXyqWmJy/W0Aes7BvcY1ilnKRQj7P0BvVk5
|
||||
Lv2eBz4tSBb7WvwU+VRHufLSqhJrEnS8RcRPci2+jNXqq3trnwu5AQ0EU9eHvAEI
|
||||
ALugjXKwQqSSecmsOaDtT/3jGIr/xtGX/cNfmhOR7cqrf30E2F+3POjpiQWAApG4
|
||||
twx5tgkv1mOAxpuMYMVb4fbv+mkWYPZvro9+iEqjAUb0ttKdZTUUpb37JNE/3eow
|
||||
ByRiNq92DIpERzzUsqOPVstxnekp03wTCyJzgW+oBaevbujDdGCuOXFXhSKppCBl
|
||||
BLVjffJ1QOnCYIAfCQoe+z7F+AbDTrLIdCg5nc8xmgc4C3JYQtk6MzCakbh4TOOU
|
||||
kMG8Zcm5QEWGB1AXzlrEExTxsZEdxyBR7LtR3r15stCEh9EhixZRYR2jO8xx9A4P
|
||||
RlCPKYAy7yHl4X6NoYyJ02UAEQEAAYkBHwQYAQIACQUCU9eHvAIbDAAKCRA46Gor
|
||||
MJ6IsCDHCACI6bacSQFMIf9zUTs6TIUMQFgs52GD5CzEJ4yXmTcldAs8gEnv01zg
|
||||
sKqSu/MxB8Dox51gesaUrHmX0EBdw37jZSFCE940ErzPEI2zhLzdOwimqXs5+a9H
|
||||
L7xl9wqQI1awubHnYQTb9rnzcphEhdepN+5Qv/K3mguuLffp1GI8Pa6KdKzvttLi
|
||||
qAHRMqq1lPAqr8EmwacUYNQ7DTjz5fEw7+SBkLjB+CJFj4gjOTn8s4DYmWrQjUoS
|
||||
bwXph6pkrn84if8gzY7xJX3+4UGC/U/8O2my2H/XdcmkPkl5shyiDkhb+wDdNqXS
|
||||
d/I7NIpmY3Pgu1sKNwr1dXBEHGez8ooi
|
||||
=n+fM
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
23
spk/scripts/RustDesk_Server.sc
Executable file
23
spk/scripts/RustDesk_Server.sc
Executable file
@ -0,0 +1,23 @@
|
||||
[RustDesk_Server_HBBR]
|
||||
title="RustDesk Server (HBBR_TCP)"
|
||||
desc="RustDesk Server"
|
||||
port_forward="yes"
|
||||
dst.ports="21117/tcp"
|
||||
|
||||
[RustDesk_Server_HBBS_TCP]
|
||||
title="RustDesk Server (HBBS_TCP)"
|
||||
desc="RustDesk Server"
|
||||
port_forward="yes"
|
||||
dst.ports="21116/tcp"
|
||||
|
||||
[RustDesk_Server_HBBS_UDP]
|
||||
title="RustDesk Server (HBBS_UDP)"
|
||||
desc="RustDesk Server"
|
||||
port_forward="yes"
|
||||
dst.ports="21116/udp"
|
||||
|
||||
[RustDesk_Server_NAT_TCP]
|
||||
title="RustDesk Server (NAT_TCP)"
|
||||
desc="RustDesk Server"
|
||||
port_forward="yes"
|
||||
dst.ports="21115/tcp"
|
157
spk/scripts/installer
Executable file
157
spk/scripts/installer
Executable file
@ -0,0 +1,157 @@
|
||||
#!/bin/sh
|
||||
|
||||
PACKAGE_NAME="$SYNOPKG_PKGNAME"
|
||||
PACKAGE_BASE="/var/packages/${PACKAGE_NAME}/target"
|
||||
PACKAGE_SSS="/var/packages/${PACKAGE_NAME}/scripts/start-stop-status"
|
||||
|
||||
SERVICETOOL="/usr/syno/bin/servicetool"
|
||||
GETKEYVALUE="/usr/syno/bin/synogetkeyvalue"
|
||||
SETKEYVALUE="/usr/syno/bin/synosetkeyvalue"
|
||||
FWFILENAME="RustDesk_Server.sc"
|
||||
|
||||
[ "${hbbr_port}" == "" ] && hbbr_port="21117"
|
||||
[ "${hbbs_port}" == "" ] && hbbs_port="21116"
|
||||
nat_port=`expr ${hbbs_port} - 1`
|
||||
|
||||
preinst() {
|
||||
exit 0
|
||||
}
|
||||
|
||||
postinst() {
|
||||
if [ "${SYNOPKG_PKG_STATUS}" == "INSTALL" ]; then
|
||||
# 导入另一个RustDesk服务器数据
|
||||
import_db="false"
|
||||
import_all="false"
|
||||
if [ "${rds_old_import_all}" == "true" ]; then
|
||||
rds_old_import_db="true"
|
||||
import_all="true"
|
||||
elif [ "${rds_import_all}" == "true" ]; then
|
||||
rds_import_db="true"
|
||||
import_all="true"
|
||||
fi
|
||||
if [ "${rds_old_import_db}" == "true" ]; then
|
||||
import_db="true"
|
||||
PACKAGE_IMPORT_DIR="/var/packages/RustDesk_Server"
|
||||
elif [ "${rds_import_db}" == "true" ]; then
|
||||
import_db="true"
|
||||
PACKAGE_IMPORT_DIR="/var/packages/RustDesk Server"
|
||||
fi
|
||||
if [ "${import_db}" == "true" ]; then
|
||||
[ -x "${PACKAGE_IMPORT_DIR}/scripts/start-stop-status" ] \
|
||||
&& SYNOPKG_PKGNAME="RustDesk Server" "${PACKAGE_IMPORT_DIR}/scripts/start-stop-status" stop 2>&1
|
||||
[ -f "${PACKAGE_IMPORT_DIR}/enabled" ] && rm -f "${PACKAGE_IMPORT_DIR}/enabled"
|
||||
[ -d "${PACKAGE_IMPORT_DIR}/target/hbbs.db" ] && cp -prf "${PACKAGE_IMPORT_DIR}/target/hbbs.db" "${PACKAGE_BASE}"
|
||||
fi
|
||||
if [ "${import_all}" == "true" ]; then
|
||||
[ -d "${PACKAGE_IMPORT_DIR}/target/logs" ] && cp -prf "${PACKAGE_IMPORT_DIR}/target/logs" "${PACKAGE_BASE}"
|
||||
fi
|
||||
|
||||
# 添加应用配置
|
||||
sed -i "s/中继端口:21117/中继端口:${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
|
||||
sed -i "s/ID\/注册端口:21116/ID\/注册端口:${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
|
||||
sed -i "s/NAT测试端口:21115/NAT测试端口:${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO"
|
||||
sed -i "s/21117/${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
|
||||
sed -i "s/21116/${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
|
||||
sed -i "s/21115/${nat_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}"
|
||||
sed -i "s/port=[^ ]*/port=${hbbr_port}/g" "${PACKAGE_BASE}/config/hbbr.conf"
|
||||
sed -i "s/port=[^ ]*/port=${hbbs_port}/g" "${PACKAGE_BASE}/config/hbbs.conf"
|
||||
|
||||
# 添加防火墙配置
|
||||
cat "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >"/tmp/${FWFILENAME}"
|
||||
${SERVICETOOL} --install-configure-file --package "/tmp/${FWFILENAME}" >/dev/null
|
||||
rm -f "/tmp/${FWFILENAME}"
|
||||
|
||||
# 设置文件权限
|
||||
chmod -R 755 "${PACKAGE_BASE}"/*
|
||||
chmod -R 755 "/var/packages/${PACKAGE_NAME}/scripts"/*
|
||||
chmod -R 755 "/var/packages/${PACKAGE_NAME}/WIZARD_UIFILES"/*
|
||||
chmod 644 "/var/packages/${PACKAGE_NAME}/INFO"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
preuninst() {
|
||||
# 停用套件
|
||||
"${PACKAGE_SSS}" stop
|
||||
|
||||
# 删除防火墙配置
|
||||
if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then
|
||||
${SERVICETOOL} --remove-configure-file --package "${FWFILENAME}" >/dev/null
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
postuninst() {
|
||||
# 删除不必要的目录...
|
||||
if [ -d "/usr/syno/etc/packages/${PACKAGE_NAME}" ]; then
|
||||
rm -rf "/usr/syno/etc/packages/${PACKAGE_NAME}"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
preupgrade() {
|
||||
# 停用套件
|
||||
"${PACKAGE_SSS}" stop
|
||||
|
||||
# Not working yet...
|
||||
# # 检索旧设置...
|
||||
# hbbr_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbr.conf" port`
|
||||
# hbbs_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbs.conf" port`
|
||||
# sed -i "s/21117/${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/WIZARD_UIFILES/upgrade_uifile"
|
||||
# sed -i "s/21116/${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/WIZARD_UIFILES/upgrade_uifile"
|
||||
## Not working yet...
|
||||
|
||||
# 备份数据文件...
|
||||
if [ -d "${SYNOPKG_PKGDEST}" ]; then
|
||||
DIRS4BACKUP="data logs hbbs.db config"
|
||||
for DIR in $DIRS4BACKUP; do
|
||||
if [ -d "${SYNOPKG_PKGDEST}/${DIR}" ]; then
|
||||
mkdir -p "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}"
|
||||
mv "${SYNOPKG_PKGDEST}/${DIR}"/* "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}"
|
||||
rmdir "${SYNOPKG_PKGDEST}/${DIR}"
|
||||
elif [ -f "${SYNOPKG_PKGDEST}/${DIR}" ]; then
|
||||
mv "${SYNOPKG_PKGDEST}/${DIR}" "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
postupgrade() {
|
||||
# 恢复数据文件...
|
||||
if [ -d "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade" ]; then
|
||||
for DIR in `ls "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade"`
|
||||
do
|
||||
if [ -d "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}" ]; then
|
||||
[ ! -d "${SYNOPKG_PKGDEST}/${DIR}" ] && mkdir "${SYNOPKG_PKGDEST}/${DIR}"
|
||||
mv "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}"/* "${SYNOPKG_PKGDEST}/${DIR}"
|
||||
rmdir "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}"
|
||||
elif [ -f "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}" ]; then
|
||||
mv "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade/${DIR}" "${SYNOPKG_PKGDEST}"
|
||||
fi
|
||||
done
|
||||
rmdir "${SYNOPKG_PKGDEST}/../${PACKAGE_NAME}_upgrade"
|
||||
fi
|
||||
|
||||
# 恢复设置...
|
||||
hbbr_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbr.conf" port` >>/tmp/wakko.txt
|
||||
hbbs_port=`${GETKEYVALUE} "${PACKAGE_BASE}/config/hbbs.conf" port` >>/tmp/wakko.txt
|
||||
nat_port=`expr ${hbbs_port} - 1`
|
||||
sed -i "s/中继端口:21117/中继端口:${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
|
||||
sed -i "s/ID\/注册端口:21116/ID\/注册端口:${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
|
||||
sed -i "s/NAT测试端口:21115/NAT测试端口:${nat_port}/" "/var/packages/${PACKAGE_NAME}/INFO" >>/tmp/wakko.txt
|
||||
sed -i "s/21117/${hbbr_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt
|
||||
sed -i "s/21116/${hbbs_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt
|
||||
sed -i "s/21115/${nat_port}/" "/var/packages/${PACKAGE_NAME}/scripts/${FWFILENAME}" >>/tmp/wakko.txt
|
||||
|
||||
# 设置文件权限
|
||||
chmod -R 755 "/var/packages/${PACKAGE_NAME}/scripts"/*
|
||||
chmod -R 755 "/var/packages/${PACKAGE_NAME}/WIZARD_UIFILES"/*
|
||||
chmod 644 "/var/packages/${PACKAGE_NAME}/INFO"
|
||||
|
||||
exit 0
|
||||
}
|
3
spk/scripts/postinst
Executable file
3
spk/scripts/postinst
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
3
spk/scripts/postuninst
Executable file
3
spk/scripts/postuninst
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
3
spk/scripts/postupgrade
Executable file
3
spk/scripts/postupgrade
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
3
spk/scripts/preinst
Executable file
3
spk/scripts/preinst
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
3
spk/scripts/preuninst
Executable file
3
spk/scripts/preuninst
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
3
spk/scripts/preupgrade
Executable file
3
spk/scripts/preupgrade
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
. "`dirname \"$0\"`/installer"
|
||||
`basename "$0"` >$SYNOPKG_TEMP_LOGFILE
|
156
spk/scripts/start-stop-status
Executable file
156
spk/scripts/start-stop-status
Executable file
@ -0,0 +1,156 @@
|
||||
#!/bin/sh
|
||||
|
||||
|
||||
sError="ERROR: "
|
||||
[ ! -z "$SYNOPKG_PKGNAME" ] && sError="<br />${sError}"
|
||||
TIMEOUT=120
|
||||
PACKAGE_NAME="RustDesk Server"
|
||||
PACKAGE_BASE="/var/packages/${PACKAGE_NAME}/target"
|
||||
HBBR_BIN="${PACKAGE_BASE}/bin/hbbr"
|
||||
HBBR_PORT=`synogetkeyvalue "${PACKAGE_BASE}/config/hbbr.conf" port`
|
||||
HBBR_LOG="${PACKAGE_BASE}/logs/hbbr.log"
|
||||
HBBS_BIN="${PACKAGE_BASE}/bin/hbbs"
|
||||
HBBS_PORT=`synogetkeyvalue "${PACKAGE_BASE}/config/hbbs.conf" port`
|
||||
HBBS_LOG="${PACKAGE_BASE}/logs/hbbs.log"
|
||||
PACKAGE_ENABLED="/var/packages/${PACKAGE_NAME}/enabled"
|
||||
PS_CMD="/bin/ps -w"
|
||||
DSM_MAJORVERSION=`synogetkeyvalue /etc.defaults/VERSION majorversion`
|
||||
if [[ $DSM_MAJORVERSION -gt 5 ]]; then
|
||||
PS_CMD="$PS_CMD -x"
|
||||
fi
|
||||
|
||||
CheckIfDaemonAlive() {
|
||||
local PID="$1"
|
||||
PROCESS_ALIVE="0"
|
||||
[ -z "$PID" ] && return 1
|
||||
|
||||
kill -0 "$PID"
|
||||
[ "0" == "$?" ] && PROCESS_ALIVE="1"
|
||||
}
|
||||
|
||||
running_hbbr() {
|
||||
local PID=$(${PS_CMD} | sed -e 's/^[ \t]*//' | grep -v grep | grep hbbr | grep "${PACKAGE_NAME}" | head -n1 | cut -f1 -d' ')
|
||||
CheckIfDaemonAlive $PID
|
||||
[ "0" == "$PROCESS_ALIVE" ] && return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
running_hbbs() {
|
||||
local PID=$(${PS_CMD} | sed -e 's/^[ \t]*//' | grep -v grep | grep hbbs | grep "${PACKAGE_NAME}" | head -n1 | cut -f1 -d' ')
|
||||
CheckIfDaemonAlive $PID
|
||||
[ "0" == "$PROCESS_ALIVE" ] && return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
start() {
|
||||
[ "$SYNOPKG_TEMP_LOGFILE" == "" ] && SYNOPKG_TEMP_LOGFILE="/var/log/rustdeskserver.start.log"
|
||||
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 &)
|
||||
|
||||
|
||||
i=0
|
||||
while true; do
|
||||
if ! running_hbbr || ! running_hbbs ; then
|
||||
# echo "WAIT: ${i}s of ${TIMEOUT}s"
|
||||
sleep 5s
|
||||
i=$((i+5))
|
||||
else
|
||||
break
|
||||
fi
|
||||
[ $i -ge $TIMEOUT ] && break
|
||||
done
|
||||
|
||||
# 检查hbbr进程状态
|
||||
if ! running_hbbr ; then
|
||||
echo -e "${sError}hbbr进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
stop
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 检查hbbs进程状态
|
||||
if ! running_hbbs ; then
|
||||
echo -e "${sError}hbbs进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
stop
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
[ "$SYNOPKG_TEMP_LOGFILE" == "" ] && SYNOPKG_TEMP_LOGFILE="/var/log/rustdeskserver.stop.log"
|
||||
# 检查hbbr进程状态
|
||||
if running_hbbr ; then
|
||||
local PID=$(${PS_CMD} | sed -e 's/^[ \t]*//' | grep -v grep | grep hbbr | grep "${PACKAGE_NAME}" | head -n1 | cut -f1 -d' ')
|
||||
[ -z "$PID" ] && return 0
|
||||
kill -15 $PID
|
||||
sleep 5s
|
||||
|
||||
# 检查hbbr进程状态
|
||||
if running_hbbr ; then
|
||||
kill -9 $PID
|
||||
sleep 5s
|
||||
if running_hbbr ; then
|
||||
echo "${sError}无法关闭hbbr进程 (pid=$PID)!" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# 检查hbbs进程状态
|
||||
if running_hbbs ; then
|
||||
local PID=$(${PS_CMD} | sed -e 's/^[ \t]*//' | grep -v grep | grep hbbs | grep "${PACKAGE_NAME}" | head -n1 | cut -f1 -d' ')
|
||||
[ -z "$PID" ] && return 0
|
||||
kill -15 $PID
|
||||
sleep 5s
|
||||
|
||||
# 检查hbbs进程状态
|
||||
if running_hbbs ; then
|
||||
kill -9 $PID
|
||||
sleep 5s
|
||||
if running_hbbs ; then
|
||||
echo "${sError}无法关闭hbbs进程 (pid=$PID)!" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
# 启动服务器
|
||||
start
|
||||
exit $?
|
||||
;;
|
||||
stop)
|
||||
# 关闭服务器
|
||||
stop
|
||||
exit $?
|
||||
;;
|
||||
status)
|
||||
# 检查套件开关
|
||||
if [ ! -f "${PACKAGE_ENABLED}" ]; then
|
||||
echo "${sError}套件没有开启" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 检查hbbr进程状态
|
||||
if ! running_hbbr ; then
|
||||
echo "${sError}hbbr进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查hbbs进程状态
|
||||
if ! running_hbbs ; then
|
||||
echo "${sError}hbbs进程已死" | tee -a $SYNOPKG_TEMP_LOGFILE
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
;;
|
||||
log)
|
||||
echo "$PACKAGE_BASE/logs/server.log"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
0
spk/syno_signature.asc
Normal file
0
spk/syno_signature.asc
Normal file
Loading…
x
Reference in New Issue
Block a user