From b362091628ac2ace4c9a883a69d7caa7622d197c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Jul 2023 21:40:19 +0200 Subject: [PATCH 1/3] Fix MPTCP menu display on kernel 6.1 --- luci-app-mptcp/luasrc/model/cbi/mptcp.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua index 7d2e8ffaf..efa878923 100644 --- a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua +++ b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua @@ -22,7 +22,7 @@ o = s:option(ListValue, "mptcp_path_manager", translate("Multipath TCP path-mana o:value("default", translate("default")) o:value("fullmesh", "fullmesh") --if tonumber(uname.release:sub(1,4)) <= 5.15 then -if uname.release:sub(1,4) ~= "5.15" or uname.release:sub(1,1) ~= "6" then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then o:value("ndiffports", "ndiffports") o:value("binder", "binder") if uname.release:sub(1,4) ~= "4.14" then @@ -32,7 +32,7 @@ end o = s:option(ListValue, "mptcp_scheduler", translate("Multipath TCP scheduler")) o:value("default", translate("default")) -- if tonumber(uname.release:sub(1,4)) <= 5.15 then -if uname.release:sub(1,4) ~= "5.15" or uname.release:sub(1,1) ~= "6" then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then o:value("roundrobin", "round-robin") o:value("redundant", "redundant") if uname.release:sub(1,4) ~= "4.14" then @@ -41,13 +41,13 @@ if uname.release:sub(1,4) ~= "5.15" or uname.release:sub(1,1) ~= "6" then end end -- if tonumber(uname.release:sub(1,4)) <= 5.15 then -if uname.release:sub(1,4) ~= "5.15" or uname.release:sub(1,1) ~= "6" then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then o = s:option(Value, "mptcp_syn_retries", translate("Multipath TCP SYN retries")) o.datatype = "uinteger" o.rmempty = false end -- if tonumber(uname.release:sub(1,4)) <= 5.15 then -if uname.release:sub(1,4) ~= "5.15" or uname.release:sub(1,1) ~= "6" then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then o = s:option(ListValue, "mptcp_version", translate("Multipath TCP version")) o:value(0, translate("0")) o:value(1, translate("1")) From 1b02c5f1749ab6c7b8e6be5e5ebdc87ab7a0950a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Jul 2023 21:40:54 +0200 Subject: [PATCH 2/3] Fix firewall redirection with destination IP --- .../files/etc/init.d/openmptcprouter-vps | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index db37d8045..8bb124ac0 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -956,6 +956,18 @@ _vps_firewall_redirect_port() { [ -n "$src_dip" ] && { comment=" to $src_dip" $IPTABLESSAVE --counters | sed "s:-d $src_dip/32::g" | $IPTABLESRESTORE -w + [ -f /usr/sbin/nft ] && { + rule=$(nft -a list table inet fw4 | grep -m1 "ip daddr $src_dip") + [ -n "$rule" ] && { + handle=$(echo $rule | awk '{ print $NF }') + nft replace rule inet fw4 dstnat_lan handle ${handle} $(echo $rule | awk '{ sub(" comment.*$",""); print }' | sed "s/ip daddr ${src_dip}//") 2>&1 >/dev/null + } + rule=$(nft -a list table inet fw4 | grep -m1 "ip daddr $src_dip") + [ -n "$rule" ] && { + handle=$(echo $rule | awk '{ print $NF }') + nft replace rule inet fw4 dstnat_vpn handle $handle $(echo $rule | awk '{ sub(" comment.*$",""); print }' | sed "s/ip daddr ${src_dip}/meta nfproto ipv4/") 2>&1 >/dev/null + } + } } [ -n "$src_ip" ] && comment=" from $src_ip" if [ "$target" = "ACCEPT" ]; then @@ -1038,6 +1050,18 @@ _vps_firewall_redirect_port() { [ -n "$src_dip" ] && { comment=" to $src_dip" $IPTABLESSAVE --counters | sed "s:-d $src_dip/32::g" | $IPTABLESRESTORE -w + [ -f /usr/sbin/nft ] && { + rule=$(nft -a list table inet fw4 | grep -m1 "ip daddr $src_dip") + [ -n "$rule" ] && { + handle=$(echo $rule | awk '{ print $NF }') + nft replace rule inet fw4 dstnat_lan handle ${handle} $(echo $rule | awk '{ sub(" comment.*$",""); print }' | sed "s/ip daddr ${src_dip}//") 2>&1 >/dev/null + } + rule=$(nft -a list table inet fw4 | grep -m1 "ip daddr $src_dip") + [ -n "$rule" ] && { + handle=$(echo $rule | awk '{ print $NF }') + nft replace rule inet fw4 dstnat_vpn handle $handle $(echo $rule | awk '{ sub(" comment.*$",""); print }' | sed "s/ip daddr ${src_dip}/meta nfproto ipv4/") 2>&1 >/dev/null + } + } } [ -n "$src_ip" ] && comment=" from $src_ip" checkfw=$(echo "$vpsfwlist" | grep "# OMR $username open router $src_dport port ${protoi}${comment} --- V2Ray to ${dest_ip}:${dest_port}") From 6365cfcc8082ac0310139dbc312dc1d71eeb5dcc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sun, 23 Jul 2023 08:17:43 +0200 Subject: [PATCH 3/3] Fix tun0 mtu --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index b571574d9..23e00009c 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -145,11 +145,11 @@ if [ "$(uci -q get glorytun-udp.vpn.key)" = "" ] && [ "$(uci -q get glorytun.vpn uci -q commit glorytun-udp fi -if [ "$(uci -q get network.tun0.metric)" = "1200" ] || [ -z "$(uci -q get network.tun0.metric)" ]; then +if [ "$(uci -q get network.tun0.mtu)" = "1200" ] || [ -z "$(uci -q get network.tun0.mtu)" ]; then uci -q batch <<-EOF >/dev/null set network.tun0=device set network.tun0.name='tun0' - set network.tun0.metric=9000 + set network.tun0.mtu=9000 commit network EOF fi