mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-31 03:45:13 +08:00
🌴 Sync 2026-03-05 23:51:42
This commit is contained in:
1 parent
97c049ed0a
commit
0acff03804
14253 files changed
+3893239
No files matched your search
@@ -0,0 +1,140 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
USE_PROCD=1
|
||||
START=99
|
||||
|
||||
CONF="rustdesk-server"
|
||||
RUNDIR="/var/run/rustdesk-server"
|
||||
WORKDIR="/etc/rustdesk-server"
|
||||
|
||||
start_service() {
|
||||
local auto_fw global_key global_port
|
||||
local hbbr_enabled hbbr_downgrade_start_check hbbr_downgrade_threshold \
|
||||
hbbr_limit_speed hbbr_total_bandwidth hbbr_single_bandwidth
|
||||
local hbbs_enabled hbbs_always_use_relay
|
||||
|
||||
config_load "$CONF"
|
||||
config_get_bool auto_fw "global" "auto_fw" "0"
|
||||
config_get global_key "global" "key" ""
|
||||
config_get global_port "global" "port" "21116"
|
||||
|
||||
config_get_bool hbbr_enabled "hbbr" "enabled" "0"
|
||||
config_get hbbr_downgrade_start_check "hbbr" "downgrade_start_check" ""
|
||||
config_get hbbr_downgrade_threshold "hbbr" "downgrade_threshold" ""
|
||||
config_get hbbr_limit_speed "hbbr" "limit_speed" ""
|
||||
config_get hbbr_total_bandwidth "hbbr" "total_bandwidth" ""
|
||||
config_get hbbr_single_bandwidth "hbbr" "single_bandwidth" ""
|
||||
|
||||
config_get_bool hbbs_enabled "hbbs" "enabled" "0"
|
||||
config_get hbbs_always_use_relay "hbbs" "always_use_relay" ""
|
||||
|
||||
[ "$hbbr_enabled" -eq "1" ] || [ "$hbbs_enabled" -eq "1" ] || return 1
|
||||
|
||||
for dir in "$RUNDIR" "$WORKDIR"; do
|
||||
if [ ! -d "$dir" ] && ! mkdir -p "$dir"; then
|
||||
logger -p daemon.error -t "rustdesk-server" "Failed to create working directory: $dir"
|
||||
return 1
|
||||
fi
|
||||
chown -R rustdesk-server:rustdesk-server "$dir"
|
||||
done
|
||||
|
||||
if [ "$hbbr_enabled" -eq "1" ]; then
|
||||
procd_open_instance "hbbr"
|
||||
procd_set_param command /usr/bin/hbbr
|
||||
|
||||
procd_set_param env \
|
||||
DOWNGRADE_START_CHECK="$hbbr_downgrade_start_check" \
|
||||
DOWNGRADE_THRESHOLD="$hbbr_downgrade_threshold" \
|
||||
KEY="$global_key" \
|
||||
LIMIT_SPEED="$hbbr_limit_speed" \
|
||||
PORT="$global_port" \
|
||||
SINGLE_BANDWIDTH="$hbbr_single_bandwidth" \
|
||||
TOTAL_BANDWIDTH="$hbbr_total_bandwidth"
|
||||
|
||||
procd_add_jail hbbr log procfs sysfs
|
||||
procd_add_jail_mount "/etc/ssl/"
|
||||
procd_add_jail_mount_rw "/etc/rustdesk-server/"
|
||||
procd_add_jail_mount_rw "/var/run/rustdesk-server/"
|
||||
|
||||
procd_set_param respawn
|
||||
procd_set_param user rustdesk-server
|
||||
procd_set_param group rustdesk-server
|
||||
|
||||
if [ "$auto_fw" -eq "1" ]; then
|
||||
hbbr_tcp_ports="$(( global_port + 1 ))"
|
||||
|
||||
procd_open_data
|
||||
json_add_array firewall
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string name "Allow-rustdesk-relay-tcp"
|
||||
json_add_string proto "tcp"
|
||||
json_add_string src "*"
|
||||
json_add_string dest_port "$hbbr_tcp_ports"
|
||||
json_add_string target "ACCEPT"
|
||||
json_close_object
|
||||
json_close_array
|
||||
procd_close_data
|
||||
fi
|
||||
procd_close_instance
|
||||
fi
|
||||
|
||||
if [ "$hbbs_enabled" -eq "1" ]; then
|
||||
procd_open_instance "hbbs"
|
||||
procd_set_param command /usr/bin/hbbs
|
||||
|
||||
procd_set_param env \
|
||||
ALWAYS_USE_RELAY="$hbbs_always_use_relay" \
|
||||
KEY="$global_key" \
|
||||
PORT="$global_port"
|
||||
|
||||
procd_add_jail hbbs log procfs sysfs
|
||||
procd_add_jail_mount "/etc/ssl/"
|
||||
procd_add_jail_mount_rw "/etc/rustdesk-server/"
|
||||
procd_add_jail_mount_rw "/var/run/rustdesk-server/"
|
||||
|
||||
procd_set_param respawn
|
||||
procd_set_param user rustdesk-server
|
||||
procd_set_param group rustdesk-server
|
||||
|
||||
if [ "$auto_fw" -eq "1" ]; then
|
||||
hbbs_tcp_ports="$(( global_port - 1 )) $global_port"
|
||||
hbbs_udp_ports="$global_port"
|
||||
|
||||
procd_open_data
|
||||
json_add_array firewall
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string name "Allow-rustdesk-server-tcp"
|
||||
json_add_string proto "tcp"
|
||||
json_add_string src "*"
|
||||
json_add_string dest_port "$hbbs_tcp_ports"
|
||||
json_add_string target "ACCEPT"
|
||||
json_close_object
|
||||
|
||||
json_add_object ""
|
||||
json_add_string type rule
|
||||
json_add_string name "Allow-rustdesk-server-udp"
|
||||
json_add_string proto "udp"
|
||||
json_add_string src "*"
|
||||
json_add_string dest_port "$hbbs_udp_ports"
|
||||
json_add_string target "ACCEPT"
|
||||
json_close_object
|
||||
json_close_array
|
||||
procd_close_data
|
||||
fi
|
||||
procd_close_instance
|
||||
fi
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
rm -f "$RUNDIR"/hbbr*.log "$RUNDIR"/hbbs*.log
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "$CONF"
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
restart
|
||||
}
|
||||
Reference in new issue
Block a user