1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
openmptcprouter-feeds/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate

62 lines
1.7 KiB
Text
Raw Normal View History

2022-06-16 17:28:25 +00:00
#!/bin/sh /etc/rc.common
# shellcheck disable=SC2039
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
# Copyright (C) 2018-2022 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# Released under GPL 3. See LICENSE for the full terms.
# shellcheck disable=SC2034
{
START=90
STOP=10
USE_PROCD=1
}
. /usr/lib/unbound/iptools.sh
. /lib/functions/network.sh
2023-03-28 18:26:02 +00:00
_config_autorate() {
logger -t "SQM-autorate" "Set config for $1"
2022-06-16 17:28:25 +00:00
config_get enabled "$1" enabled
[ "${enabled}" != "1" ] && return
config_get autorate "$1" autorate
[ "${autorate}" != "1" ] && return
2023-07-06 06:47:58 +00:00
config_get min_download "$1" min_download "0"
config_get download "$1" download "0"
config_get max_download "$1" max_download "0"
[ "${min_download}" == "0" ] || [ "${max_download}" == "0" ] || [ "${download}" == "0" ] && return
2023-07-06 06:47:58 +00:00
config_get min_upload "$1" min_upload "0"
config_get upload "$1" upload "0"
config_get max_upload "$1" max_upload "0"
[ "${min_upload}" == "0" ] || [ "${max_upload}" == "0" ] || [ "${upload}" == "0" ] && return
2023-06-01 17:54:32 +00:00
# config_get interface "$1" interface
# cp /usr/share/sqm-autorate/cake-autorate_template.sh /usr/share/sqm-autorate/cake-autorate_config.${interface}.sh
2023-07-07 18:02:40 +00:00
cp /usr/share/sqm-autorate/config_template.sh /usr/share/sqm-autorate/config.$1.sh
2023-03-28 18:26:02 +00:00
}
2023-03-28 18:26:02 +00:00
_launch_autorate() {
logger -t "SQM-autorate" "Launch..."
2022-06-16 17:28:25 +00:00
procd_open_instance
# shellcheck disable=SC2086
2023-07-07 18:02:40 +00:00
procd_set_param command /usr/share/sqm-autorate/launcher.sh
2022-06-16 17:28:25 +00:00
procd_set_param limits nofile="51200 51200"
procd_set_param respawn 0 10 0
procd_set_param stderr 1
procd_close_instance
}
start_service() {
2023-07-07 18:02:40 +00:00
rm -f /usr/share/sqm-autorate/config.*.sh
2022-06-16 17:28:25 +00:00
config_load sqm
2023-03-28 18:26:02 +00:00
config_foreach _config_autorate queue
_launch_autorate
}
reload_service() {
stop
start
2022-06-16 17:28:25 +00:00
}
2023-03-28 18:26:02 +00:00
service_triggers() {
procd_add_reload_trigger sqm
}