1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 11:01:50 +00:00

Merge pull request #341 from Ysurac/develop

sync
This commit is contained in:
suyuan 2023-08-09 13:32:01 +08:00 committed by GitHub
commit 8b4d73a1c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 18 deletions

View file

@ -24,11 +24,11 @@ _config_autorate() {
config_get min_download "$1" min_download "0" config_get min_download "$1" min_download "0"
config_get download "$1" download "0" config_get download "$1" download "0"
config_get max_download "$1" max_download "0" config_get max_download "$1" max_download "0"
[ "${min_download}" == "0" ] || [ "${max_download}" == "0" ] || [ "${download}" == "0" ] && return [ "${max_download}" == "0" ] || [ "${download}" == "0" ] && return
config_get min_upload "$1" min_upload "0" config_get min_upload "$1" min_upload "0"
config_get upload "$1" upload "0" config_get upload "$1" upload "0"
config_get max_upload "$1" max_upload "0" config_get max_upload "$1" max_upload "0"
[ "${min_upload}" == "0" ] || [ "${max_upload}" == "0" ] || [ "${upload}" == "0" ] && return [ "${max_upload}" == "0" ] || [ "${upload}" == "0" ] && return
# config_get interface "$1" interface # config_get interface "$1" interface
# cp /usr/share/sqm-autorate/cake-autorate_template.sh /usr/share/sqm-autorate/cake-autorate_config.${interface}.sh # cp /usr/share/sqm-autorate/cake-autorate_template.sh /usr/share/sqm-autorate/cake-autorate_config.${interface}.sh
cp /usr/share/sqm-autorate/config_template.sh /usr/share/sqm-autorate/config.$1.sh cp /usr/share/sqm-autorate/config_template.sh /usr/share/sqm-autorate/config.$1.sh

View file

@ -1298,7 +1298,7 @@ fi
_log "Reload MPTCP config for $OMR_TRACKER_DEVICE" _log "Reload MPTCP config for $OMR_TRACKER_DEVICE"
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE"
fi fi
_log "Multipath $OMR_TRACKER_DEVICE switched to $multipath_config" _log "Multipath $OMR_TRACKER_DEVICE switched to $multipath_config (from $multipath_status)"
multipath "$OMR_TRACKER_DEVICE" "$multipath_config" multipath "$OMR_TRACKER_DEVICE" "$multipath_config"
fi fi
} }
@ -1610,13 +1610,20 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
fi fi
if [ "$(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 if [ "$(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
download_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') download_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest)
download_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') download_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest)
download_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') download_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest)
[ "$download_speed2" -gt "$download_speed" ] && download_speed=${download_speed2} [ "$download_speed2" -gt "$download_speed" ] && download_speed=${download_speed2}
[ "$download_speed3" -gt "$download_speed" ] && download_speed=${download_speed3} [ "$download_speed3" -gt "$download_speed" ] && download_speed=${download_speed3}
download_speed=$((download_speed/1000)) download_speed=$((download_speed/1000))
if [ -n "$download_speed" ] && [ "$download_speed" != "0" ]; then if [ -n "$download_speed" ] && [ "$download_speed" != "0" ]; then
upload_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload)
upload_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload)
upload_speed3=$(/bin/omr-test-speed-server vps ${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 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}.download=$((download_speed*65/100))
uci -q set sqm.${OMR_TRACKER_INTERFACE}.max_download=${download_speed} uci -q set sqm.${OMR_TRACKER_INTERFACE}.max_download=${download_speed}
@ -1626,11 +1633,8 @@ if [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprout
fi fi
_log "Calculated ${OMR_TRACKER_INTERFACE} download speed: ${download_speed}" _log "Calculated ${OMR_TRACKER_INTERFACE} download speed: ${download_speed}"
uci -q set network.${OMR_TRACKER_INTERFACE}.downloadspeed=${download_speed} uci -q set network.${OMR_TRACKER_INTERFACE}.downloadspeed=${download_speed}
upload_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n')
upload_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n') # Set Upload speed settings
upload_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n')
[ "$upload_speed2" -gt "$upload_speed" ] && upload_speed=${upload_speed2}
[ "$upload_speed3" -gt "$upload_speed" ] && upload_speed=${upload_speed3}
upload_speed=$((upload_speed/1000)) upload_speed=$((upload_speed/1000))
if [ -n "$upload_speed" ] && [ "$upload_speed" != "0" ]; then if [ -n "$upload_speed" ] && [ "$upload_speed" != "0" ]; then
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then
@ -1645,6 +1649,7 @@ if [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprout
fi fi
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.testspeed_lc=$(date +"%s") uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.testspeed_lc=$(date +"%s")
uci commit network uci commit network
uci commit sqm
uci commit openmptcprouter uci commit openmptcprouter
fi fi
sleep 5 sleep 5
@ -1795,10 +1800,12 @@ if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprout
fi fi
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -z $(pgrep -f "config.${OMR_TRACKER_INTERFACE}") ]; then if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -z $(pgrep -f "config.${OMR_TRACKER_INTERFACE}") ]; then
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_upload)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.upload)" != "0" ]; then
_log "Restart SQM Autorate" _log "Restart SQM Autorate"
/etc/init.d/sqm-autorate restart >/dev/null 2>&1 /etc/init.d/sqm-autorate restart >/dev/null 2>&1
sleep 5 sleep 5
fi fi
fi
#if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || (([ -f /usr/sbin/iptables-legacy-save ] && [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]) || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ])); then #if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || (([ -f /usr/sbin/iptables-legacy-save ] && [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]) || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ])); then
if [ "$(pgrep -f set_vps_firewall)" = "" ] && [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && [ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ]; then if [ "$(pgrep -f set_vps_firewall)" = "" ] && [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && [ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ]; then

View file

@ -43,7 +43,7 @@ trap : HUP INT TERM
if [ -z "$INTERFACE" ]; then if [ -z "$INTERFACE" ]; then
curl -4 -o /dev/null $HOST || echo curl -4 -o /dev/null $HOST || echo
else else
: /etc/init.d/sqm stop $INTERFACE /etc/init.d/sqm stop $INTERFACE
domain=$(echo $HOST | awk -F/ '{print $3}') domain=$(echo $HOST | awk -F/ '{print $3}')
hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ')
if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then
@ -62,5 +62,5 @@ else
ipset del ss_rules_dst_bypass_all $ip ipset del ss_rules_dst_bypass_all $ip
done done
fi fi
: /etc/init.d/sqm start $INTERFACE /etc/init.d/sqm start $INTERFACE
fi fi

View file

@ -13,7 +13,14 @@ MP=false
if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then
trap : HUP INT TERM trap : HUP INT TERM
[ -z "$FASTTEST" ] && echo "Disable SQM bandwidth limit on $INTERFACE" [ -z "$FASTTEST" ] && echo "Disable SQM bandwidth limit on $INTERFACE"
: /etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null [ -n "$(tc qdisc | grep $INTERFACE | grep bandwidth)" ] && {
export SQM_VERBOSITY_MIN=10
export SQM_VERBOSITY_MAX=0
export SQM_SYSLOG=1
/etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null
#tc qdisc delete dev $INTERFACE root 2>&1 >/dev/null
#tc qdisc delete dev ifb4$INTERFACE root 2>&1 >/dev/null
}
[ -z "$FASTTEST" ] && echo "Download test via server ${SERVER}:" [ -z "$FASTTEST" ] && echo "Download test via server ${SERVER}:"
if [ -n "$INTERFACE" ]; then if [ -n "$INTERFACE" ]; then
#if [ "$(multipath ${INTERFACE} | grep default)" ]; then #if [ "$(multipath ${INTERFACE} | grep default)" ]; then
@ -44,5 +51,5 @@ if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then
curl -k -o /dev/null -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo curl -k -o /dev/null -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
fi fi
[ -z "$FASTTEST" ] && echo "Restart SQM on $INTERFACE" [ -z "$FASTTEST" ] && echo "Restart SQM on $INTERFACE"
: /etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null /etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null
fi fi