mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-03 05:43:56 +08:00
update 2026-10-29 18:46:39
This commit is contained in:
1 parent
e2f86e09f4
commit
95f76f26d3
5034 files changed
+2043234
No files matched your search
Executable
+69
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=95
|
||||
USE_PROCD=1
|
||||
LOGGER="logger -t [NPC]"
|
||||
|
||||
npc_Path="$(command -v npc)"
|
||||
|
||||
start_service() {
|
||||
if [ -f /usr/local/bin/npc ] ; then
|
||||
${LOGGER} "Moving npc to /usr/bin ..."
|
||||
mv -f /usr/local/bin/npc /usr/bin/npc
|
||||
fi
|
||||
if [ -f /usr/local/bin/npc-update ] ; then
|
||||
${LOGGER} "Moving npc-update to /usr/bin ..."
|
||||
mv -f /usr/local/bin/npc-update /usr/bin/npc-update
|
||||
fi
|
||||
local basic_list="enable server_addr protocol vkey dns extra_args"
|
||||
for i in $(echo $basic_list);do
|
||||
local eval $i="$(uci_get_by_type npc 0 $i)"
|
||||
done;unset i
|
||||
|
||||
if [ "$enable" != "1" ]; then
|
||||
${LOGGER} "NPS Client(NPC) is disabled"
|
||||
return
|
||||
fi
|
||||
|
||||
${LOGGER} "Starting NPS Client(NPC) ..."
|
||||
|
||||
cmd_args=""
|
||||
if ! printf '%s\n' "$extra_args" | grep -q -- '\-server='; then
|
||||
cmd_args="$cmd_args -server=${server_addr}"
|
||||
fi
|
||||
if ! printf '%s\n' "$extra_args" | grep -q -- '\-vkey='; then
|
||||
cmd_args="$cmd_args -vkey=${vkey}"
|
||||
fi
|
||||
if ! printf '%s\n' "$extra_args" | grep -q -- '\-type='; then
|
||||
cmd_args="$cmd_args -type=${protocol}"
|
||||
fi
|
||||
if ! printf '%s\n' "$extra_args" | grep -q -- '\-dns_server='; then
|
||||
cmd_args="$cmd_args -dns_server=${dns}"
|
||||
fi
|
||||
|
||||
[ -n "$extra_args" ] && cmd_args="$cmd_args $extra_args"
|
||||
|
||||
if ! printf '%s\n' "$cmd_args" | grep -q -- '\-log='; then
|
||||
cmd_args="$cmd_args -log=off"
|
||||
fi
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command $npc_Path $cmd_args
|
||||
procd_set_param respawn
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
${LOGGER} "Stopping NPS Client(NPC) ..."
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "npc"
|
||||
}
|
||||
|
||||
uci_get_by_type() {
|
||||
local ret=$(uci get npc.@$1[$2].$3 2>/dev/null)
|
||||
echo ${ret:=$4}
|
||||
}
|
||||
Reference in new issue
Block a user