mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-13 02:51:50 +00:00
Add QoS support in wizard
This commit is contained in:
parent
97abaf3d32
commit
902d16b334
2 changed files with 74 additions and 51 deletions
|
@ -9,6 +9,8 @@
|
||||||
local ifaces = sys.net:devices()
|
local ifaces = sys.net:devices()
|
||||||
local ifttyu = nixio.fs.glob("/dev/ttyUSB*")
|
local ifttyu = nixio.fs.glob("/dev/ttyUSB*")
|
||||||
local ifttyc = nixio.fs.glob("/dev/cdc-wdm*")
|
local ifttyc = nixio.fs.glob("/dev/cdc-wdm*")
|
||||||
|
local sqm = luci.sys.exec("opkg list-installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'")
|
||||||
|
local qos = luci.sys.exec("opkg list-installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'")
|
||||||
menuentry = uci:get("openmptcprouter","settings","menu") or "openmptcprouter"
|
menuentry = uci:get("openmptcprouter","settings","menu") or "openmptcprouter"
|
||||||
function device_notvirtual(dev)
|
function device_notvirtual(dev)
|
||||||
if dev:match("^eth.*") or dev:match("^wwan.*") or dev:match("^tun.*") or dev:match("/") then
|
if dev:match("^eth.*") or dev:match("^wwan.*") or dev:match("^tun.*") or dev:match("/") then
|
||||||
|
@ -932,16 +934,39 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<%
|
||||||
|
if sqm == "1" then
|
||||||
|
%>
|
||||||
<div class="cbi-value" data-index="16">
|
<div class="cbi-value" data-index="16">
|
||||||
<label class="cbi-value-title"><%:Enable SQM%></label>
|
<label class="cbi-value-title"><%:Enable SQM%></label>
|
||||||
<div class="cbi-value-field">
|
<div class="cbi-value-field">
|
||||||
<input class="cbi-input-checkbox" type="checkbox" name="cbid.sqm.<%=ifname%>.enabled" value="1" <% if uci:get("sqm",ifname,"enabled") == "1" then %>checked<% end %> />
|
<input class="cbi-input-checkbox" type="checkbox" name="cbid.sqm.<%=ifname%>.enabled" value="1" <% if uci:get("sqm",ifname,"enabled") == "1" then %>checked<% end %> />
|
||||||
<br />
|
<br />
|
||||||
<div class="cbi-value-description">
|
<div class="cbi-value-description">
|
||||||
|
<%:SQM control bufferloat: the undesirable latency that arises when the router buffers too much data.%>
|
||||||
<%:You should disable SQM for LTE or any interfaces with variable speed.%>
|
<%:You should disable SQM for LTE or any interfaces with variable speed.%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<%
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<%
|
||||||
|
if qos == "1" then
|
||||||
|
%>
|
||||||
|
<div class="cbi-value" data-index="16">
|
||||||
|
<label class="cbi-value-title"><%:Enable QoS%></label>
|
||||||
|
<div class="cbi-value-field">
|
||||||
|
<input class="cbi-input-checkbox" type="checkbox" name="cbid.qos.<%=ifname%>.enabled" value="1" <% if uci:get("qos",ifname,"enabled") == "1" then %>checked<% end %> />
|
||||||
|
<br />
|
||||||
|
<div class="cbi-value-description">
|
||||||
|
<%:QoS permit to prioritize any upload traffic.%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%
|
||||||
|
end
|
||||||
|
%>
|
||||||
<div class="cbi-value" data-index="17">
|
<div class="cbi-value" data-index="17">
|
||||||
<label class="cbi-value-title"><%:Download speed (Kb/s)%></label>
|
<label class="cbi-value-title"><%:Download speed (Kb/s)%></label>
|
||||||
<div class="cbi-value-field">
|
<div class="cbi-value-field">
|
||||||
|
|
|
@ -1,58 +1,56 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
if [ "$(uci -q get openmptcprouter.latest_versions)" ]; then
|
if [ -z "$(uci -q get qos.omrvpn)" ]; then
|
||||||
if [ "$(uci -q get qos.wan1)" = "" ]; then
|
uci -q batch <<-EOF >/dev/null
|
||||||
|
delete qos.wan
|
||||||
|
set qos.wan1=interface
|
||||||
|
set qos.wan1.classgroup="Default"
|
||||||
|
set qos.wan1.enabled="0"
|
||||||
|
set qos.wan1.upload="4000"
|
||||||
|
set qos.wan1.download="100000"
|
||||||
|
set qos.wan2=interface
|
||||||
|
set qos.wan2.classgroup="Default"
|
||||||
|
set qos.wan2.enabled="0"
|
||||||
|
set qos.wan2.upload="4000"
|
||||||
|
set qos.wan2.download="100000"
|
||||||
|
set qos.omrvpn=interface
|
||||||
|
set qos.omrvpn.classgroup="Default"
|
||||||
|
set qos.omrvpn.enabled="0"
|
||||||
|
set qos.omrvpn.interface="tun0"
|
||||||
|
set qos.omrvpn.upload="0"
|
||||||
|
set qos.omrvpn.download="0"
|
||||||
|
set qos.omrvpn.qdisc="cake"
|
||||||
|
set qos.omrvpn.script="layer_cake.qos"
|
||||||
|
delete qos.@classify[-1]
|
||||||
|
add qos classify
|
||||||
|
set qos.@classify[-1].target='Express'
|
||||||
|
set qos.@classify[-1].ports='5600'
|
||||||
|
set qos.@classify[-1].comments='SIP'
|
||||||
|
add qos classify
|
||||||
|
set qos.@classify[-1].target='Express'
|
||||||
|
set qos.@classify[-1].portrange='27000-27050'
|
||||||
|
set qos.@classify[-1].proto='udp'
|
||||||
|
set qos.@classify[-1].comments='Steam'
|
||||||
|
commit qos
|
||||||
|
EOF
|
||||||
|
if [ "$(uci -q get network.wan3)" != "" ]; then
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
delete qos.wan
|
set qos.wan3=interface
|
||||||
set qos.wan1=interface
|
set qos.wan3.classgroup="Default"
|
||||||
set qos.wan1.classgroup="Default"
|
set qos.wan3.enabled="0"
|
||||||
set qos.wan1.enabled="0"
|
set qos.wan3.upload="4000"
|
||||||
set qos.wan1.upload="4000"
|
set qos.wan3.download="100000"
|
||||||
set qos.wan1.download="100000"
|
commit qos
|
||||||
set qos.wan2=interface
|
EOF
|
||||||
set qos.wan2.classgroup="Default"
|
fi
|
||||||
set qos.wan2.enabled="0"
|
if [ "$(uci -q get network.wan4)" != "" ]; then
|
||||||
set qos.wan2.upload="4000"
|
uci -q batch <<-EOF >/dev/null
|
||||||
set qos.wan2.download="100000"
|
set qos.wan4=interface
|
||||||
set qos.omrvpn=interface
|
set qos.wan4.classgroup="Default"
|
||||||
set qos.omrvpn.classgroup="Default"
|
set qos.wan4.enabled="0"
|
||||||
set qos.omrvpn.enabled="1"
|
set qos.wan4.upload="4000"
|
||||||
set qos.omrvpn.interface="tun0"
|
set qos.wan4.download="100000"
|
||||||
set qos.omrvpn.upload="0"
|
|
||||||
set qos.omrvpn.download="0"
|
|
||||||
set qos.omrvpn.qdisc="cake"
|
|
||||||
set qos.omrvpn.script="layer_cake.qos"
|
|
||||||
delete qos.@classify[-1]
|
|
||||||
add qos classify
|
|
||||||
set qos.@classify[-1].target='Express'
|
|
||||||
set qos.@classify[-1].ports='5600'
|
|
||||||
set qos.@classify[-1].comments='SIP'
|
|
||||||
add qos classify
|
|
||||||
set qos.@classify[-1].target='Express'
|
|
||||||
set qos.@classify[-1].portrange='27000-27050'
|
|
||||||
set qos.@classify[-1].proto='udp'
|
|
||||||
set qos.@classify[-1].comments='Steam'
|
|
||||||
commit qos
|
commit qos
|
||||||
EOF
|
EOF
|
||||||
if [ "$(uci -q get network.wan3)" != "" ]; then
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
set qos.wan3=interface
|
|
||||||
set qos.wan3.classgroup="Default"
|
|
||||||
set qos.wan3.enabled="0"
|
|
||||||
set qos.wan3.upload="4000"
|
|
||||||
set qos.wan3.download="100000"
|
|
||||||
commit qos
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
if [ "$(uci -q get network.wan4)" != "" ]; then
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
set qos.wan4=interface
|
|
||||||
set qos.wan4.classgroup="Default"
|
|
||||||
set qos.wan4.enabled="0"
|
|
||||||
set qos.wan4.upload="4000"
|
|
||||||
set qos.wan4.download="100000"
|
|
||||||
commit qos
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
rm -f /tmp/luci-indexcache
|
rm -f /tmp/luci-indexcache
|
||||||
|
|
Loading…
Reference in a new issue