diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
index 5de2cda24..f30be2a41 100755
--- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
+++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
@@ -864,6 +864,10 @@ function settings_add()
local disablegwping = luci.http.formvalue("disablegwping") or "0"
ucic:set("openmptcprouter","settings","disablegwping",disablegwping)
+ -- Enable/disable renaming intf
+ local disableintfrename = luci.http.formvalue("disableintfrename") or "0"
+ ucic:set("openmptcprouter","settings","disableintfrename",disableintfrename)
+
-- Enable/disable default gateway
local disabledefaultgw = luci.http.formvalue("disabledefaultgw") or "1"
ucic:set("openmptcprouter","settings","defaultgw",disabledefaultgw)
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm
index 50c4ccce3..5ec0b3c2c 100755
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm
@@ -244,6 +244,16 @@
+
+
+
+
checked<% end %>>
+
+
+ <%:Disable renaming interfaces%>
+
+
+
diff --git a/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename b/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename
index ad256bae9..19fcf1b1e 100755
--- a/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename
+++ b/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename
@@ -58,6 +58,8 @@ _set_intf_name() {
}
}
-config_load network
-config_foreach _set_intf_name interface
-config_foreach _set_intf_name interface
+if [ "$(uci -q get openmptcprouter.settings.disableintfrename)" != "0" ]; then
+ config_load network
+ config_foreach _set_intf_name interface
+ config_foreach _set_intf_name interface
+fi
\ No newline at end of file
diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker
index d2211fcb5..2e7b3d96a 100755
--- a/omr-tracker/files/bin/omr-tracker
+++ b/omr-tracker/files/bin/omr-tracker
@@ -150,8 +150,8 @@ _dns() {
-b "${deviceip}" \
+time="$OMR_TRACKER_TIMEOUT" \
+tries=1 \
- openmptcprouter.com
- ) && echo "$ret" | grep -sq "94.23.252.192" && {
+ one.one.one.one
+ ) && echo "$ret" | grep -sq "1.1.1.1" && {
OMR_TRACKER_LATENCY=$(echo "$ret" | awk '/Query time/{print $4}')
_update_rto "$OMR_TRACKER_LATENCY"
return
diff --git a/omr-tracker/files/bin/omr-tracker-gre b/omr-tracker/files/bin/omr-tracker-gre
new file mode 100755
index 000000000..b169d21d8
--- /dev/null
+++ b/omr-tracker/files/bin/omr-tracker-gre
@@ -0,0 +1,46 @@
+#!/bin/sh
+# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
+
+name=$0
+basename="$(basename $0)"
+
+_log() {
+ logger -p daemon.info -t "${basename}" "$@"
+}
+
+_ping_server() {
+ local host=$1
+ ret=$(ping \
+ -w "$OMR_TRACKER_TIMEOUT" \
+ -c 1 \
+ -q \
+ "${host}"
+ ) && echo "$ret" | grep -sq " 0% packet loss" && {
+ server_ping=true
+ }
+}
+
+_ping_tunnel() {
+ local name=$1
+ config_get gateway $1 gateway
+ config_get ifname $1 ifname
+ config_get disabled $1 disabled
+ [ "$(echo $ifname | grep omrip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
+ _ping_server $gateway
+ }
+}
+
+. /lib/functions.sh
+
+timeout=${OMR_TRACKER_TIMEOUT:-5}
+interval=${OMR_TRACKER_INTERVAL:-10}
+intervaltries=${OMR_TRACKER_INTERVAL_TRIES:-2}
+retry=${OMR_TRACKER_TRIES:-4}
+waittest=${OMR_TRACKER_WAIT_TEST:-0}
+
+while true; do
+ server_ping=false
+ config_load network
+ config_foreach _ping_tunnel interface
+ sleep "${interval}"
+done
diff --git a/omr-tracker/files/etc/init.d/omr-tracker b/omr-tracker/files/etc/init.d/omr-tracker
index e7bf920a7..3612c57ee 100755
--- a/omr-tracker/files/etc/init.d/omr-tracker
+++ b/omr-tracker/files/etc/init.d/omr-tracker
@@ -103,6 +103,28 @@ _launch_server_tracker() {
procd_close_instance
}
+_launch_gre_tracker() {
+ local hosts timeout tries interval interval_tries options type enabled wait_test
+ _validate_section "defaults" "defaults"
+ _validate_section "gre" "gre"
+
+ [ "${enabled}" = "0" ] && return
+ [ -z "${interval_tries}" ] && interval_tries=1
+
+ procd_open_instance
+ # shellcheck disable=SC2086
+ procd_set_param command /bin/omr-tracker-gre "$1" $options
+ procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
+ procd_append_param env "OMR_TRACKER_TRIES=$tries"
+ procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
+ procd_append_param env "OMR_TRACKER_INTERVAL_TRIES=$interval_tries"
+ procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test"
+ procd_set_param limits nofile="51200 51200"
+ procd_set_param respawn 0 10 0
+ procd_set_param stderr 1
+ procd_close_instance
+}
+
_initialize_shadowsocks_tracker() {
local redir_tcp server tracker_server
config_get redir_tcp ss_rules redir_tcp
@@ -199,6 +221,11 @@ _multi_server() {
[ "$backup" = "1" ] && multiserver=true
}
+_gre_tunnel() {
+ config_get proto $1 proto
+ [ "$proto" = "gre" ] && gretunnel=true
+}
+
start_service() {
local ss_disabled
logger -t "omr-tracker" "Launching..."
@@ -224,6 +251,10 @@ start_service() {
config_load openmptcprouter
config_foreach _multi_server server
[ "$multiserver" = true ] && _launch_server_tracker
+ gretunnel=false
+ config_load network
+ config_foreach _gre_tunnel interface
+ [ "$gretunnel" = true ] && _launch_gre_tracker
logger -t "omr-tracker" "Launched"
}