From fe63f7300683287c6a0b3e245778d01f255d2d85 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 May 2024 12:54:54 +0200 Subject: [PATCH 1/5] Fix OMR-Tracker server --- omr-tracker/files/bin/omr-tracker-server | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index c0043ccab..373ecb6bc 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -156,7 +156,7 @@ _check_master() { #_check_server $serverip $port _check_server_intf $serverip $port [ "$server_ping" = true ] && { - oneserverup=1 + oneserverup="1" } countips=$((countips+1)) set_ip @@ -278,7 +278,7 @@ _check_master() { # EOF # config_foreach _enable_redir ss_redir #fi - if [ "$oneserverup" != "0" ]; then + if [ "$oneserverup" = "0" ]; then uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='0' commit openmptcprouter @@ -322,7 +322,9 @@ _check_backup() { #_ping_server $serverip #_check_server $serverip $port _check_server_intf $serverip $port - [ "$server_ping" = true ] && return + [ "$server_ping" = true ] && { + oneserverup="1" + } countips=$((countips+1)) } set_ip() { @@ -446,7 +448,7 @@ _check_backup() { # EOF # config_foreach _enable_redir ss_redir #fi - if [ "$oneserverup" != "0" ]; then + if [ "$oneserverup" = "0" ]; then uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='0' commit openmptcprouter From 257d61f7f48015493ee3205c35cff651e73e03fc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 May 2024 18:20:50 +0200 Subject: [PATCH 2/5] Fix when server have IPv4 and IPv6 to use both with Shadowsocks --- omr-tracker/files/bin/omr-tracker-server | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index 373ecb6bc..d83ccfc64 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -172,6 +172,16 @@ _check_master() { set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server=$ip EOF + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi if [ "$count" -eq "0" ]; then config_load openmptcprouter config_foreach _disable_current server @@ -218,6 +228,7 @@ _check_master() { config_foreach _enable_redir ss_redir "shadowsocks-libev" config_load shadowsocks-rust config_foreach _enable_redir ss_redir "shadowsocks-rust" + OMR_TRACKER_STATUS_MSG="Answer to ping and to API check" mail_alert="$(uci -q get omr-tracker.server.mail_alert)" #[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)" @@ -338,6 +349,17 @@ _check_backup() { set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server=$ip EOF + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi + if [ "$count" -eq "0" ]; then config_load openmptcprouter config_foreach _disable_current server From 7759d8834c74c3922d5fe538a8dddefbfc981e85 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 May 2024 18:25:24 +0200 Subject: [PATCH 3/5] Fix Shadowsocks-rust default config --- shadowsocks-rust/files/shadowsocks-rust.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shadowsocks-rust/files/shadowsocks-rust.config b/shadowsocks-rust/files/shadowsocks-rust.config index b131b7a12..47a10cfc4 100644 --- a/shadowsocks-rust/files/shadowsocks-rust.config +++ b/shadowsocks-rust/files/shadowsocks-rust.config @@ -15,7 +15,7 @@ config ss_redir hi1 config ss_redir hi2 option server 'sss1' option local_address '::' - option local_port '1100' + option local_port '1101' option mode 'tcp_and_udp' option timeout '1000' option fast_open 0 @@ -28,7 +28,7 @@ config ss_redir hi2 config ss_rules 'ss_rules' option disabled 0 - option redir_tcp 'hi1' + option redir_tcp 'all' option src_default 'forward' option dst_default 'forward' option local_default 'forward' From 217babea978dd66a0963542981e02a36cd20d5ea Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 May 2024 18:25:57 +0200 Subject: [PATCH 4/5] Check modem status before interface up/down or restart modem --- .../share/omr/post-tracking.d/001-post-tracking | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking index 0cf696354..70d037cd8 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking @@ -749,9 +749,20 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)" if [ -n "$(echo $modeminfo | grep $device)" ]; then modemfind="1" - if [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep failed)" ] && [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then - _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." - /usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null + if [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep failed)" ]; then + if [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then + _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." + /usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null + sleep 30 + fi + elif [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep connected)" ] || [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep enabled)" ]; then + # [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then + _log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface" + _log "Set $OMR_TRACKER_INTERFACE down" + ifdown $OMR_TRACKER_INTERFACE + sleep 5 + _log "Set $OMR_TRACKER_INTERFACE up" + ifup $OMR_TRACKER_INTERFACE sleep 30 fi fi From 95a2a5fb9192e6f086b526f5d27c097bafc31ceb Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 May 2024 23:21:17 +0200 Subject: [PATCH 5/5] Update ModemManager --- modemmanager/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modemmanager/Makefile b/modemmanager/Makefile index d3a0405cb..f7d78f154 100644 --- a/modemmanager/Makefile +++ b/modemmanager/Makefile @@ -8,7 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager -PKG_SOURCE_VERSION:=1.23.6-dev +#PKG_SOURCE_VERSION:=1.23.6-dev +PKG_SOURCE_VERSION:=1e26e16168d4815a48ab77610e1c282dfc345567 PKG_RELEASE:=20 PKG_SOURCE_PROTO:=git