1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00

Merge pull request #240 from Ysurac/develop

sync
This commit is contained in:
suyuan 2022-05-29 12:10:32 +08:00 committed by GitHub
commit b616423bb5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 86 additions and 61 deletions

View file

@ -95,7 +95,7 @@ config server 'he'
option udp '1' option udp '1'
option location 'America' option location 'America'
config server 'biznetnetworks.com' config server 'biznetnetworks'
option host 'iperf.biznetnetworks.com' option host 'iperf.biznetnetworks.com'
option ipv4 '1' option ipv4 '1'
option ipv6 '1' option ipv6 '1'

View file

@ -1197,11 +1197,11 @@ function settings_add()
ucic:set("firewall",section[".name"],"auto_helper",sipalg) ucic:set("firewall",section[".name"],"auto_helper",sipalg)
end) end)
if sipalg == "1" then if sipalg == "1" then
luci.sys.call("modprobe nf_conntrack_ip >/dev/null 2>/dev/null") luci.sys.call("modprobe -q nf_conntrack_sip >/dev/null 2>/dev/null")
luci.sys.call("modprobe nf_nat_sip >/dev/null 2>/dev/null") luci.sys.call("modprobe -q nf_nat_sip >/dev/null 2>/dev/null")
else else
luci.sys.call("rmmod nf_nat_sip >/dev/null 2>/dev/null") luci.sys.call("rmmod nf_nat_sip >/dev/null 2>/dev/null")
luci.sys.call("rmmod nf_conntrack_ip >/dev/null 2>/dev/null") luci.sys.call("rmmod nf_conntrack_sip >/dev/null 2>/dev/null")
end end
ucic:save("openmptcprouter") ucic:save("openmptcprouter")

View file

@ -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">

View file

@ -133,6 +133,7 @@ interface_multipath_settings() {
[ -z "$mptcpmintf" ] && mptcpmintf="$config" [ -z "$mptcpmintf" ] && mptcpmintf="$config"
uci -q set network.${config}.defaultroute=0 uci -q set network.${config}.defaultroute=0
uci -q set network.${config}.peerdns=0 uci -q set network.${config}.peerdns=0
echo '' > /etc/resolv.conf 2>&1 >/dev/null
} }
[ "$mode" = "master" ] && { [ "$mode" = "master" ] && {
# Force that only one interface is master # Force that only one interface is master
@ -166,6 +167,7 @@ interface_multipath_settings() {
[ "$config" = "omrvpn" ] && mode="off" [ "$config" = "omrvpn" ] && mode="off"
[ -n "$(ifconfig | grep $iface)" ] || return 0 [ -n "$(ifconfig | grep $iface)" ] || return 0
[ "$(echo $iface | grep _dev)" != "" ] && return 0 [ "$(echo $iface | grep _dev)" != "" ] && return 0
[ "$(echo $iface | grep '^if')" != "" ] && return 0
if [ "$mode" = "master" ]; then if [ "$mode" = "master" ]; then
multipath "$iface" "on" multipath "$iface" "on"
@ -263,7 +265,7 @@ interface_multipath_settings() {
ip route replace $network/$netmask dev $iface scope link metric $id 2>&1 >/dev/null ip route replace $network/$netmask dev $iface scope link metric $id 2>&1 >/dev/null
ip route replace $network/$netmask dev $iface scope link table $id 2>&1 >/dev/null ip route replace $network/$netmask dev $iface scope link table $id 2>&1 >/dev/null
ip route replace default via $gateway dev $iface table $id 2>&1 >/dev/null ip route replace default via $gateway dev $iface table $id 2>&1 >/dev/null
ip route replace default via $gateway dev $iface metric $id 2>&1 >/dev/null [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default via $gateway dev $iface metric $id 2>&1 >/dev/null
#ip route flush $id #ip route flush $id
fi fi
@ -350,7 +352,7 @@ interface_multipath_settings() {
ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id 2>&1 >/dev/null ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id 2>&1 >/dev/null
ip -6 route replace $network6/$netmask6 dev $iface scope link table 6$id 2>&1 >/dev/null ip -6 route replace $network6/$netmask6 dev $iface scope link table 6$id 2>&1 >/dev/null
ip -6 route replace default via $gateway6 dev $iface table 6$id 2>&1 >/dev/null ip -6 route replace default via $gateway6 dev $iface table 6$id 2>&1 >/dev/null
ip -6 route replace default via $gateway6 dev $iface metric 6$id 2>&1 >/dev/null [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default via $gateway6 dev $iface metric 6$id 2>&1 >/dev/null
#ip -6 route flush 6$id 2>&1 >/dev/null #ip -6 route flush 6$id 2>&1 >/dev/null
fi fi

View file

@ -563,7 +563,7 @@ set_server_route() {
fi fi
} }
config_list_foreach $server ip server_route config_list_foreach $server ip server_route
if [ -n "$metric" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$metric" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null
fi fi
} }
@ -601,7 +601,7 @@ set_server_route6() {
fi fi
} }
config_list_foreach $server ip server_route config_list_foreach $server ip server_route
if [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null
fi fi
} }
@ -1164,7 +1164,7 @@ if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
config_foreach set_server_route server config_foreach set_server_route server
fi fi
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then
_log "Interface route not yet set, set route ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" _log "Interface route not yet set, set route ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric)"
ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1 ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1
fi fi
@ -1177,7 +1177,7 @@ if [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; th
elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
config_foreach set_server_route6 server config_foreach set_server_route6 server
fi fi
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then
ip -6 r replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1 ip -6 r replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1
fi fi
fi fi

View file

@ -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