From d3c87b20a1b3f3b20143bbd660180c5a0a27b3df Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 5 Mar 2021 21:18:29 +0100 Subject: [PATCH 1/4] Update MLVPN --- mlvpn/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mlvpn/Makefile b/mlvpn/Makefile index 6e0cb5e81..f9a356f02 100644 --- a/mlvpn/Makefile +++ b/mlvpn/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mlvpn -PKG_VERSION:=67f9f31d +PKG_VERSION:=2263bab PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/zehome/MLVPN.git -PKG_SOURCE_VERSION:=58418fd847fe833d1e626d4b7d08f0e623756c5c -PKG_SOURCE_DATE:=2020-09-01 +PKG_SOURCE_VERSION:=2263bab7e5f983e1daa33887b53120c12646398f +PKG_SOURCE_DATE:=2020-12-16 #PKG_SOURCE_URL:=https://github.com/markfoodyburton/MLVPN.git #PKG_SOURCE_VERSION:=8f9720978b28c1954f9f229525333547283316d2 #PKG_SOURCE_DATE:=2018-09-03 From c3ff485c060b173ceed06572dc124278885bc9b3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 5 Mar 2021 21:18:56 +0100 Subject: [PATCH 2/4] Compare to null' --- .../htdocs/luci-static/resources/view/network/interfaces.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index c76e02dec..6d8e42582 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -511,7 +511,7 @@ return view.extend({ var new_ifnames = L.toArray(value); - if (value == undefined) + if (value == null) return; old_ifnames.sort(); From 23fb2cf5e55d7ed9073e88b78570c5745ff961e2 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 5 Mar 2021 21:19:49 +0100 Subject: [PATCH 3/4] Add cleartext support for mlvpn --- .../resources/view/services/mlvpn.js | 17 ++++++++++------- .../luasrc/controller/openmptcprouter.lua | 4 ++++ mlvpn/files/etc/init.d/mlvpn | 3 +++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js b/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js index 2d5258047..014232d7a 100644 --- a/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js +++ b/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js @@ -46,8 +46,8 @@ return L.view.extend({ o.rmempty = false; o = s.taboption('general', form.Value, 'firstport', _('First Port')); - o.default = "65201" - o.datatype = "port" + o.default = "65201"; + o.datatype = "port"; o.rmempty = false; o = s.taboption('general', form.Value, 'password', _('Password')); @@ -55,26 +55,29 @@ return L.view.extend({ o.modalonly = true; o = s.taboption('general', form.Value, 'interface_name', _('Interface name')); - o.default = "mlvpn0" - o.placeholder = "mlvpn0" + o.default = "mlvpn0"; + o.placeholder = "mlvpn0"; o.rmempty = false; o.modalonly = true; o = s.taboption('advanced', form.Value, 'timeout', _('Timeout (s)')); o.default = '30'; - o.datatype = "uinteger" + o.datatype = "uinteger"; o.rmempty = false; o.modalonly = true; o = s.taboption('advanced', form.Value, 'reorder_buffer_size', _('Reorder buffer size')); o.default = '128'; - o.datatype = "uinteger" + o.datatype = "uinteger"; o.rmempty = false; o.modalonly = true; + o = s.taboption('advanced', form.Flag, 'cleartext_data', _('Disable encryption')); + o.default = o.disabled; + o = s.taboption('advanced', form.Value, 'loss_tolerance', _('Loss tolerance')); o.default = '50'; - o.datatype = "uinteger" + o.datatype = "uinteger"; o.rmempty = false; o.modalonly = true; diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 77d324ce7..98963fc69 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -649,6 +649,7 @@ function wizard_add() ucic:set("shadowsocks-libev","sss0","method","none") ucic:set("shadowsocks-libev","sss1","method","none") ucic:set("openvpn","omr","cipher","none") + ucic:set("mlvpn","general","cleartext_data","1") ucic:set("v2ray","omrout","s_vmess_user_security","none") ucic:set("v2ray","omrout","s_vless_user_security","none") elseif encryption == "aes-256-gcm" then @@ -657,6 +658,7 @@ function wizard_add() ucic:set("glorytun","vpn","chacha20","0") ucic:set("glorytun-udp","vpn","chacha","0") ucic:set("openvpn","omr","cipher","AES-256-GCM") + ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") elseif encryption == "aes-256-cfb" then @@ -665,6 +667,7 @@ function wizard_add() ucic:set("glorytun","vpn","chacha20","0") ucic:set("glorytun-udp","vpn","chacha","0") ucic:set("openvpn","omr","cipher","AES-256-CFB") + ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") elseif encryption == "chacha20-ietf-poly1305" then @@ -673,6 +676,7 @@ function wizard_add() ucic:set("glorytun","vpn","chacha20","1") ucic:set("glorytun-udp","vpn","chacha","1") ucic:set("openvpn","omr","cipher","AES-256-CBC") + ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","chacha20-poly1305") ucic:set("v2ray","omrout","s_vless_user_security","chacha20-poly1305") end diff --git a/mlvpn/files/etc/init.d/mlvpn b/mlvpn/files/etc/init.d/mlvpn index 3021f143e..6ef4bfdc6 100755 --- a/mlvpn/files/etc/init.d/mlvpn +++ b/mlvpn/files/etc/init.d/mlvpn @@ -40,6 +40,8 @@ start() { password="$(uci -q get mlvpn.general.password)" reorder_buffer_size="$(uci -q get mlvpn.general.reorder_buffer_size)" loss_tolerence="$(uci -q get mlvpn.general.loss_tolerence)" + cleartext_data="$(uci -q get mlvpn.general.cleartext_data)" + [ -z "$cleartext_data" ] && cleartext_data="0" host="$(uci -q get mlvpn.general.host)" firstport="$(uci -q get mlvpn.general.firstport)" @@ -57,6 +59,7 @@ start() { reorder_buffer = yes reorder_buffer_size = ${reorder_buffer_size} loss_tolerence = ${loss_tolerence} + cleartext_data = ${cleartext_data} password = "${password}" mtu = 1452 EOF From a34a7b3215bdba92258331d6f2b49660fe0982bc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 5 Mar 2021 21:20:52 +0100 Subject: [PATCH 4/4] Display on status page that bridge is not a good idea --- .../luasrc/view/openmptcprouter/wanstatus.htm | 6 ++++++ .../root/usr/libexec/rpcd/openmptcprouter | 2 ++ 2 files changed, 8 insertions(+) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm index 4a3421d3b..fe5c85e4a 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm @@ -424,6 +424,7 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm ip6addr=replaceLastNChars(ip6addr,"x",6); } var ifname = mArray.wans[i].ifname; + var iftype = mArray.wans[i].iftype; var whois = mArray.wans[i].whois; var whois6 = mArray.wans[i].whois6; var signal = mArray.wans[i].signal; @@ -596,6 +597,11 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm statusMessage += '<%:Network interface duplicated%>' + '
'; statusMessageClass = "error"; } + if(iftype == "bridge") + { + statusMessage += '<%:Bridge can't have multipath enabled%>' + '
'; + statusMessageClass = "error"; + } if(duplicatemac) { statusMessage += '<%:Network interface MAC address duplicated%>' + '
'; diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter index 2a31616dc..4a9a7a21f 100755 --- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter +++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter @@ -1119,6 +1119,7 @@ function interfaces_status() local proto = section["proto"] or "" local ipv6 = section["ipv6"] or "0" local mac = section ["macaddr"] or "" + local itype = section ["type"] or "" --if not ipaddr or not gateway then return end -- Don't show if0 in the overview @@ -1479,6 +1480,7 @@ function interfaces_status() rx = rx, tx = tx, zonewan = zonewan, + iftype = itype, } if ifname ~= nil and ifname:match("^tun.*") then table.insert(mArray.tunnels, data);