mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Divide post-tracking script in 3 smaller scripts and move script to omr-tracker package
This commit is contained in:
parent
68277b56e0
commit
ab87b5f536
6 changed files with 314 additions and 270 deletions
65
omr-tracker/files/usr/share/omr/post-tracking.d/022-speedtest
Executable file
65
omr-tracker/files/usr/share/omr/post-tracking.d/022-speedtest
Executable file
|
@ -0,0 +1,65 @@
|
|||
#
|
||||
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# This script launch a speedtest if the option is enabled on the interface
|
||||
|
||||
[ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ -z "$OMR_TRACKER_INTERFACE" ] && exit 0
|
||||
interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
[ "$interface_up" != "true" ] && exit 0
|
||||
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprouter.${OMR_TRACKER_INTERFACE}.testspeed)" = "1" ] && [ -z "$(uci -q get openmptcprouter.${OMR_TRACKER_INTERFACE}.testspeed_lc)" ]; then
|
||||
launch_speedtest() {
|
||||
local server=$1
|
||||
[ "$(uci -q get openmptcprouter.${server}.current)" != "1" ] && return
|
||||
download_speed=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest)
|
||||
download_speed2=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest)
|
||||
download_speed3=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest)
|
||||
[ "$download_speed2" -gt "$download_speed" ] && download_speed=${download_speed2}
|
||||
[ "$download_speed3" -gt "$download_speed" ] && download_speed=${download_speed3}
|
||||
download_speed=$((download_speed*8/1000))
|
||||
if [ -n "$download_speed" ] && [ "$download_speed" != "0" ]; then
|
||||
upload_speed=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest upload)
|
||||
upload_speed2=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest upload)
|
||||
upload_speed3=$(/bin/omr-test-speed-server ${server} ${OMR_TRACKER_DEVICE} fasttest upload)
|
||||
[ "$upload_speed2" -gt "$upload_speed" ] && upload_speed=${upload_speed2}
|
||||
[ "$upload_speed3" -gt "$upload_speed" ] && upload_speed=${upload_speed3}
|
||||
|
||||
# Set Download speed settings
|
||||
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.download=$((download_speed*65/100))
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.max_download=${download_speed}
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.min_download=$((download_speed*10/100))
|
||||
else
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.download=$((download_speed*95/100))
|
||||
fi
|
||||
_log "Calculated ${OMR_TRACKER_INTERFACE} download speed: ${download_speed}"
|
||||
uci -q set network.${OMR_TRACKER_INTERFACE}.downloadspeed=${download_speed}
|
||||
|
||||
# Set Upload speed settings
|
||||
upload_speed=$((upload_speed*8/1000))
|
||||
if [ -n "$upload_speed" ] && [ "$upload_speed" != "0" ]; then
|
||||
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.upload=$((upload_speed*65/100))
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.max_upload=${upload_speed}
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.min_upload=$((upload_speed*10/100))
|
||||
else
|
||||
uci -q set sqm.${OMR_TRACKER_INTERFACE}.upload=$((upload_speed*95/100))
|
||||
fi
|
||||
_log "Calculated ${OMR_TRACKER_INTERFACE} upload speed: ${upload_speed}"
|
||||
uci -q set network.${OMR_TRACKER_INTERFACE}.uploadspeed=${upload_speed}
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.testspeed_lc=$(date +"%s")
|
||||
uci commit network
|
||||
uci commit sqm
|
||||
uci commit openmptcprouter
|
||||
fi
|
||||
fi
|
||||
}
|
||||
config_load openmptcprouter
|
||||
config_foreach launch_speedtest server
|
||||
|
||||
sleep 5
|
||||
fi
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue