From 89d547a3d082d7a71c7c8c546692ae9d527b4499 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 10:03:05 +0200 Subject: [PATCH 01/22] Fix omr bypass --- luci-app-omr-bypass/root/etc/init.d/omr-bypass | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 064d4fd1f..c07e3cfc8 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -289,7 +289,7 @@ _bypass_proto() { _intf_rule_ss_rules() { rule_name=$1 - [ "$rule_name" = "ss_rules" ] && rule_name="default" + [ "$rule_name" = "ss_rules" ] && rule_name="def" if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_$intf)" = "" ]; then iptables-restore -w --wait=60 --noflush <<-EOF *nat @@ -411,7 +411,7 @@ _bypass_omr_server() { _ss_rules_config() { rule_name=$1 - [ "$rule_name" = "ss_rules" ] && rule_name="default" + [ "$rule_name" = "ss_rules" ] && rule_name="def" if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then iptables-restore -w --wait=60 --noflush <<-EOF *nat @@ -431,7 +431,7 @@ _ss_rules_config() { COMMIT EOF fi - if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_default_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_all)" = "" ]; then + if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_all)" = "" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *nat -I ss_rules6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_all dst -j RETURN @@ -473,6 +473,7 @@ start_service() { *mangle :omr-bypass - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass + -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass COMMIT EOF if [ "$disableipv6" != "1" ]; then @@ -481,6 +482,7 @@ start_service() { *mangle :omr-bypass6 - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6 + -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6 COMMIT EOF fi @@ -537,6 +539,7 @@ start_service() { *mangle :omr-bypass-dpi - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi + -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass-dpi COMMIT EOF @@ -546,6 +549,7 @@ start_service() { *mangle :omr-bypass6-dpi - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi + -A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass6-dpi COMMIT EOF From 42c38a1314788f6b0162ec2f9720c140b69dc661 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 10:05:15 +0200 Subject: [PATCH 02/22] Force IPv4 for Wget --- openmptcprouter/files/etc/wgetrc | 1 + 1 file changed, 1 insertion(+) diff --git a/openmptcprouter/files/etc/wgetrc b/openmptcprouter/files/etc/wgetrc index 9543debcf..ff5e4e91d 100644 --- a/openmptcprouter/files/etc/wgetrc +++ b/openmptcprouter/files/etc/wgetrc @@ -1 +1,2 @@ inet4_only = on +prefer_family = IPv4 From 9f1c6d2b7b5cd57c8f22cdd750f09ede7f838e32 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 10:06:25 +0200 Subject: [PATCH 03/22] Update RPI eeprom --- bcm27xx-eeprom/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcm27xx-eeprom/Makefile b/bcm27xx-eeprom/Makefile index 580ea78c3..363e8effb 100644 --- a/bcm27xx-eeprom/Makefile +++ b/bcm27xx-eeprom/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bcm27xx-eeprom -PKG_VERSION:=ad18a5b468f787ed37ab62e0a699dabeaa580e27 +PKG_VERSION:=1a44b1330805663c292de8ce818065bbe9f2e130 PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/raspberrypi/rpi-eeprom/tar.gz/$(PKG_VERSION)? -PKG_HASH:=2f77ef84d34f77208e4caf90aa65bbbaa6234ee58ffe9c23a819d44c25a631b4 +PKG_HASH:=d18573a4026578ed20cd7e3ac7df029dbef7fd271729a60cd80abae2235eca25 PKG_LICENSE:=BSD-3-Clause Custom PKG_LICENSE_FILES:=LICENSE From 0ee13b08663b9ec3d0aa51f05afb9900337175ee Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 10:09:28 +0200 Subject: [PATCH 04/22] Fixes when interfaces set as backup --- .../usr/share/omr/post-tracking.d/post-tracking | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 819d17188..2631c65fa 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -5,6 +5,8 @@ set_route() { local multipath_config_route interface_gw interface_if INTERFACE=$1 PREVINTERFACE=$2 + SETDEFAULT=$3 + [ -z "$SETDEFAULT" ] && SETDEFAULT="yes" multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') @@ -24,8 +26,8 @@ set_route() { fi if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" - ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true - ip route replace default via $interface_gw dev $interface_if table 991337 + [ "$SETDEFAULT" = "yes" ] && ip route replace default scope global nexthop via $interface_gw dev $interface_if + ip route replace default via $interface_gw dev $interface_if table 991337 && SETROUTE=true fi fi } @@ -82,7 +84,6 @@ set_routes_intf() { fi #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then - nbintf=$((nbintf+1)) if [ "$multipath_config_route" = "master" ]; then weight=10 else @@ -95,6 +96,7 @@ set_routes_intf() { routesintfbackup="$routesintfbackup nexthop via $interface_gw dev $interface_if weight $weight" fi else + nbintf=$((nbintf+1)) if [ -z "$routesintf" ]; then routesintf="nexthop via $interface_gw dev $interface_if weight $weight" else @@ -314,6 +316,9 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then if ([ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then config_load network config_foreach set_route interface $OMR_TRACKER_INTERFACE + elif [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath)" = "master" ]; then + config_load network + config_foreach set_route interface $OMR_TRACKER_INTERFACE "no" fi mail_alert="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.mail_alert)" [ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)" @@ -588,7 +593,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($( } fi local serverip=$(uci -q get shadowsocks-libev.sss0.server) - [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep tracebox)" = "" ] && { + [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep tracebox)" = "" ] && [ "$(uci -q get openmptcprouter.settings.tracebox)" != "0" ] && { omrtracebox="$(omr-tracebox-mptcp $serverip $OMR_TRACKER_DEVICE)" [ -n "$omrtracebox" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox" } From 7394a11f78d1e71a066ea2c8e669d8e03d9b00dc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 12:54:38 +0200 Subject: [PATCH 05/22] Remove wireguard by default --- openmptcprouter-full/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 28ee1e6e0..4ba67580b 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -55,7 +55,6 @@ MY_DEPENDS := \ iputils-ping \ tracebox \ !TARGET_mvebu:luci-proto-3g \ - luci-proto-wireguard \ !TARGET_mvebu:comgt-ncm !TARGET_mvebu:luci-proto-ncm \ !TARGET_mvebu:luci-proto-modemmanager \ !TARGET_mvebu:luci-proto-ppp \ @@ -79,7 +78,7 @@ MY_DEPENDS := \ !TARGET_mvebu:kmod-usb-net-huawei-cdc-ncm !TARGET_mvebu:kmod-usb-net-rndis !TARGET_mvebu:kmod-usb-net-cdc-ether !TARGET_mvebu:kmod-usb-net-ipheth !TARGET_mvebu:usbmuxd \ kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \ !TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \ - wireguard luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss mptcpd iptraf-ng \ + luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss mptcpd iptraf-ng \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute # luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status # luci-proto-bonding luci-app-statistics luci-proto-gre From d68778eadc4d7f0d5de596466cd855f24e9ded34 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Aug 2020 14:56:48 +0200 Subject: [PATCH 06/22] Fix bcm eeprom patches --- ...1-rpi-eeprom-update-OpenWrt-defaults.patch | 3 ++- ...rpi-eeprom-config-switch-to-Python-3.patch | 21 ------------------- 2 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 bcm27xx-eeprom/patches/0002-rpi-eeprom-config-switch-to-Python-3.patch diff --git a/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch index 2f923bc43..a9c8faac7 100644 --- a/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch +++ b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch @@ -14,7 +14,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/rpi-eeprom-update +++ b/rpi-eeprom-update -@@ -24,14 +24,14 @@ else +@@ -24,15 +24,15 @@ else fi # May be used to select beta or stable releases instead of the default critical updates. @@ -29,6 +29,7 @@ Signed-off-by: Álvaro Fernández Rojas BOOTFS=${BOOTFS:-/boot} -VCMAILBOX=${VCMAILBOX:-/opt/vc/bin/vcmailbox} +VCMAILBOX=${VCMAILBOX:-/usr/bin/vcmailbox} + CM4_ENABLE_RPI_EEPROM_UPDATE=${CM4_ENABLE_RPI_EEPROM_UPDATE:-0} EXIT_SUCCESS=0 EXIT_UPDATE_REQUIRED=1 diff --git a/bcm27xx-eeprom/patches/0002-rpi-eeprom-config-switch-to-Python-3.patch b/bcm27xx-eeprom/patches/0002-rpi-eeprom-config-switch-to-Python-3.patch deleted file mode 100644 index fc2c894d8..000000000 --- a/bcm27xx-eeprom/patches/0002-rpi-eeprom-config-switch-to-Python-3.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 869a29ec65a0985670a259f4820df4fafc22c971 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Wed, 25 Mar 2020 10:14:34 +0100 -Subject: [PATCH] rpi-eeprom-config: switch to Python 3 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Álvaro Fernández Rojas ---- - rpi-eeprom-config | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/rpi-eeprom-config -+++ b/rpi-eeprom-config -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - - # rpi-eeprom-config - # Utility for reading and writing the configuration file in the From c1bcff99c659d26fc7515881f343d96acf9133c0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Aug 2020 09:20:16 +0200 Subject: [PATCH 07/22] Fix vcm eeprom --- .../0004-rpi-eeprom-update-remove-chmod.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 bcm27xx-eeprom/patches/0004-rpi-eeprom-update-remove-chmod.patch diff --git a/bcm27xx-eeprom/patches/0004-rpi-eeprom-update-remove-chmod.patch b/bcm27xx-eeprom/patches/0004-rpi-eeprom-update-remove-chmod.patch new file mode 100644 index 000000000..00c204805 --- /dev/null +++ b/bcm27xx-eeprom/patches/0004-rpi-eeprom-update-remove-chmod.patch @@ -0,0 +1,20 @@ +--- a/rpi-eeprom-update 2020-08-23 10:36:21.892002253 +0200 ++++ b/rpi-eeprom-update 2020-08-23 10:36:41.819672745 +0200 +@@ -166,7 +166,7 @@ + || die "Failed to copy ${TMP_EEPROM_IMAGE} to ${BOOTFS}" + + # For NFS mounts ensure that the files are readable to the TFTP user +- chmod -f go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" ++ #chmod -f go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" + fi + + if [ -n "${VL805_UPDATE_IMAGE}" ]; then +@@ -175,7 +175,7 @@ + cp -f "${VL805_UPDATE_IMAGE}" "${BOOTFS}/vl805.bin" + + # For NFS mounts ensure that the files are readable to the TFTP user +- chmod -f go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" ++ #chmod -f go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" + fi + + cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \ From 3627014d7763cb06fa73c495db5e2df302a3bc40 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Aug 2020 09:21:46 +0200 Subject: [PATCH 08/22] Fix omr-bypass --- .../root/etc/init.d/omr-bypass | 95 ++++++++++++++----- .../files/shadowsocks-libev.init | 2 +- shadowsocks-libev/files/ss-rules | 74 +++++++-------- shadowsocks-libev/files/ss-rules6 | 74 +++++++-------- 4 files changed, 144 insertions(+), 101 deletions(-) diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index c07e3cfc8..804356886 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -135,6 +135,11 @@ _bypass_lan_ip() { -A omr-bypass -s $ip -j MARK --set-mark 0x539 COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local -s $ip -j MARK --set-mark 0x539 + COMMIT + EOF elif [ "$valid_ip6" = "ok" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -149,6 +154,11 @@ _bypass_lan_ip() { -A omr-bypass -s $ip -j MARK --set-mark 0x539$intfid COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local -s $ip -j MARK --set-mark 0x539$intfid + COMMIT + EOF elif [ "$valid_ip6" = "ok" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -176,6 +186,11 @@ _bypass_dest_port() { -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539 COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local --protocol $proto --destination-port $dport -j MARK --set-mark 0x539 + COMMIT + EOF if [ "$disableipv6" != "1" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -189,6 +204,11 @@ _bypass_dest_port() { -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539$intfid COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local --protocol $proto --destination-port $dport -j MARK --set-mark 0x539$intfid + COMMIT + EOF if [ "$disableipv6" != "1" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -216,6 +236,11 @@ _bypass_src_port() { -A omr-bypass --protocol $proto --source-port $sport -j MARK --set-mark 0x539 COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local --protocol $proto --source-port $sport -j MARK --set-mark 0x539 + COMMIT + EOF if [ "$disableipv6" != "1" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -229,6 +254,11 @@ _bypass_src_port() { -A omr-bypass --protocol $proto --source-port $sport -j MARK --set-mark 0x539$intfid COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local --protocol $proto --source-port $sport -j MARK --set-mark 0x539$intfid + COMMIT + EOF if [ "$disableipv6" != "1" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *mangle @@ -290,14 +320,15 @@ _bypass_proto() { _intf_rule_ss_rules() { rule_name=$1 [ "$rule_name" = "ss_rules" ] && rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_$intf)" = "" ]; then + if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_$intf)" = "" ]; then iptables-restore -w --wait=60 --noflush <<-EOF *nat - -I ss_rules_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j RETURN - -I ss_rules_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j RETURN - -I ss_rules_${rule_name}_local_out 2 -m mark --mark 0x539$count -j RETURN - -I ss_rules_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I ss_rules_${rule_name}_pre_src 2 -m mark --mark 0x539$count -j RETURN + -I ssr_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count + -I ssr_${rule_name}_dst 1 -m mark --mark 0x539$count -j RETURN + -I ssr_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count + -I ssr_${rule_name}_local_out 2 -m mark --mark 0x539$count -j RETURN + -I ssr_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count + -I ssr_${rule_name}_pre_src 2 -m mark --mark 0x539$count -j RETURN COMMIT EOF fi @@ -309,14 +340,15 @@ _intf_rule_ss_rules() { COMMIT EOF fi - if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_$intf)" = "" ]; then + if [ "$(ip6tables --wait=40 -t nat -L | grep ssr6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_$intf)" = "" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *nat - -I ss_rules6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_$intf dst -j RETURN - -I ss_rules6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_$intf dst -j RETURN - -I ss_rules6_${rule_name}_local_out 2 -m mark --mark 0x6539$count -j RETURN - -I ss_rules6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I ss_rules6_${rule_name}_pre_src 2 -m mark --mark 0x6539$count -j RETURN + -I ssr6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count + -I ssr6_${rule_name}_dst 1 -m mark --mark 0x6539$count -j RETURN + -I ssr6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count + -I ssr6_${rule_name}_local_out 2 -m mark --mark 0x6539$count -j RETURN + -I ssr6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count + -I ssr6_${rule_name}_pre_src 2 -m mark --mark 0x6539$count -j RETURN COMMIT EOF fi @@ -412,14 +444,15 @@ _bypass_omr_server() { _ss_rules_config() { rule_name=$1 [ "$rule_name" = "ss_rules" ] && rule_name="def" - if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then + if [ "$(iptables --wait=40 -t nat -L -n | grep ssr_${rule_name}_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then iptables-restore -w --wait=60 --noflush <<-EOF *nat - -I ss_rules_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_all dst -j RETURN - -I ss_rules_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_all dst -j RETURN - -I ss_rules_${rule_name}_local_out 2 -m mark --mark 0x539 -j RETURN - -I ss_rules_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I ss_rules_${rule_name}_pre_src 2 -m mark --mark 0x539 -j RETURN + -I ssr_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 + -I ssr_${rule_name}_dst 1 -m mark --mark 0x539 -j RETURN + -I ssr_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 + -I ssr_${rule_name}_local_out 2 -m mark --mark 0x539 -j RETURN + -I ssr_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 + -I ssr_${rule_name}_pre_src 2 -m mark --mark 0x539 -j RETURN COMMIT EOF fi @@ -431,14 +464,15 @@ _ss_rules_config() { COMMIT EOF fi - if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_all)" = "" ]; then + if [ "$(ip6tables --wait=40 -t nat -L | grep ssr6_${rule_name}_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_all)" = "" ]; then ip6tables-restore -w --wait=60 --noflush <<-EOF *nat - -I ss_rules6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_all dst -j RETURN - -I ss_rules6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_all dst -j RETURN - -I ss_rules6_${rule_name}_local_out 2 -m mark --mark 0x6539 -j RETURN - -I ss_rules6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I ss_rules6_${rule_name}_pre_src 2 -m mark --mark 0x6539 -j RETURN + -I ssr6_${rule_name}_dst 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 + -I ssr6_${rule_name}_dst 1 -m mark --mark 0x6539 -j RETURN + -I ssr6_${rule_name}_local_out 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 + -I ssr6_${rule_name}_local_out 2 -m mark --mark 0x6539 -j RETURN + -I ssr6_${rule_name}_pre_src 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 + -I ssr6_${rule_name}_pre_src 2 -m mark --mark 0x6539 -j RETURN COMMIT EOF fi @@ -473,7 +507,12 @@ start_service() { *mangle :omr-bypass - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass - -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass + COMMIT + EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + :omr-bypass-local - + -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-local COMMIT EOF if [ "$disableipv6" != "1" ]; then @@ -482,7 +521,6 @@ start_service() { *mangle :omr-bypass6 - -I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6 - -I OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass6 COMMIT EOF fi @@ -529,6 +567,11 @@ start_service() { -A omr-bypass -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 COMMIT EOF + iptables-restore -w --wait=60 --noflush <<-EOF + *mangle + -A omr-bypass-local -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 + COMMIT + EOF fi config_load shadowsocks-libev diff --git a/shadowsocks-libev/files/shadowsocks-libev.init b/shadowsocks-libev/files/shadowsocks-libev.init index c9d10b176..d9fc50d2c 100644 --- a/shadowsocks-libev/files/shadowsocks-libev.init +++ b/shadowsocks-libev/files/shadowsocks-libev.init @@ -290,7 +290,7 @@ stop_service() { } rules_exist() { - [ -n "$(iptables -t nat -L -n | grep ss_rules)" ] && return 0 + [ -n "$(iptables -t nat -L -n | grep ssr)" ] && return 0 return 1 } diff --git a/shadowsocks-libev/files/ss-rules b/shadowsocks-libev/files/ss-rules index 0599958a2..d0cd133a1 100755 --- a/shadowsocks-libev/files/ss-rules +++ b/shadowsocks-libev/files/ss-rules @@ -122,7 +122,7 @@ ss_rules_parse_args() { ss_rules_flush() { local setname - iptables-save --counters | grep -v ss_rules_ | iptables-restore -w --counters + iptables-save --counters | grep -v ssr_ | iptables-restore -w --counters while ip rule del fwmark 1 lookup 100 2>/dev/null; do true; done ip route flush table 100 || true for setname in $(ipset -n list | grep "ss_rules_"); do @@ -181,20 +181,20 @@ ss_rules_iptchains_init_tcp() { ss_rules_iptchains_init_ nat tcp case "$o_local_default" in - checkdst) local_target=ss_rules_${rule}_dst ;; - forward) local_target=ss_rules_${rule}_forward ;; + checkdst) local_target=ssr_${rule}_dst ;; + forward) local_target=ssr_${rule}_forward ;; bypass|*) return 0;; esac iptables-restore -w --noflush <<-EOF *nat - :ss_rules_${rule}_local_out - - -I OUTPUT 1 -p tcp -j ss_rules_${rule}_local_out - -A ss_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass dst -j RETURN - -A ss_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass_all dst -j RETURN - -A ss_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass_ dst -j RETURN - -A ss_rules_${rule}_local_out -m mark --mark 0x539 -j RETURN - -A ss_rules_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" + :ssr_${rule}_local_out - + -I OUTPUT 1 -p tcp -j ssr_${rule}_local_out + -A ssr_${rule}_local_out -m set --match-set ss_rules_dst_bypass dst -j RETURN + -A ssr_${rule}_local_out -m set --match-set ss_rules_dst_bypass_all dst -j RETURN + -A ssr_${rule}_local_out -m set --match-set ss_rules_dst_bypass_ dst -j RETURN + -A ssr_${rule}_local_out -m mark --mark 0x539 -j RETURN + -A ssr_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" COMMIT EOF } @@ -213,7 +213,7 @@ ss_rules_iptchains_init_() { case "$proto" in tcp) - forward_rules="-A ss_rules_${rule}_forward -p tcp -j REDIRECT --to-ports $o_redir_tcp_port" + forward_rules="-A ssr_${rule}_forward -p tcp -j REDIRECT --to-ports $o_redir_tcp_port" if [ -n "$o_dst_forward_recentrst" ]; then recentrst_mangle_rules=" *mangle @@ -221,48 +221,48 @@ ss_rules_iptchains_init_() { COMMIT " recentrst_addset_rules=" - -A ss_rules_${rule}_dst -m recent --name ss_rules_recentrst --rcheck --rdest --seconds 3 --hitcount 3 -j SET --add-set ss_rules_dst_forward_recentrst_ dst --exist - -A ss_rules_${rule}_dst -m set --match-set ss_rules_dst_forward_recentrst_ dst -j ss_rules_${rule}_forward + -A ssr_${rule}_dst -m recent --name ss_rules_recentrst --rcheck --rdest --seconds 3 --hitcount 3 -j SET --add-set ss_rules_dst_forward_recentrst_ dst --exist + -A ssr_${rule}_dst -m set --match-set ss_rules_dst_forward_recentrst_ dst -j ssr_${rule}_forward " fi ;; udp) ip rule add fwmark 1 lookup 100 ip route add local default dev lo table 100 - forward_rules="-A ss_rules_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01" + forward_rules="-A ssr_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01" ;; esac case "$o_src_default" in - forward) src_default_target=ss_rules_${rule}_forward ;; - checkdst) src_default_target=ss_rules_${rule}_dst ;; + forward) src_default_target=ssr_${rule}_forward ;; + checkdst) src_default_target=ssr_${rule}_dst ;; bypass|*) src_default_target=RETURN ;; esac case "$o_dst_default" in - forward) dst_default_target=ss_rules_${rule}_forward ;; + forward) dst_default_target=ssr_${rule}_forward ;; bypass|*) dst_default_target=RETURN ;; esac sed -e '/^\s*$/d' -e 's/^\s\+//' <<-EOF | iptables-restore -w --noflush *$table - :ss_rules_${rule}_pre_src - - :ss_rules_${rule}_src - - :ss_rules_${rule}_dst - - :ss_rules_${rule}_forward - + :ssr_${rule}_pre_src - + :ssr_${rule}_src - + :ssr_${rule}_dst - + :ssr_${rule}_forward - $(ss_rules_iptchains_mkprerules "$proto") - -A ss_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_ dst -j RETURN - -A ss_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j MARK --set-mark 0x539 - -A ss_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j RETURN - -A ss_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass dst -j RETURN - -A ss_rules_${rule}_pre_src -m mark --mark 0x539 -j RETURN - -A ss_rules_${rule}_dst -m set --match-set ss_rules_dst_bypass_all dst -j RETURN - -A ss_rules_${rule}_dst -m set --match-set ss_rules_dst_bypass dst -j RETURN - -A ss_rules_${rule}_pre_src -p $proto $o_ipt_extra -j ss_rules_${rule}_src - -A ss_rules_${rule}_src -m set --match-set ss_rules_src_bypass src -j RETURN - -A ss_rules_${rule}_src -m set --match-set ss_rules_src_forward src -j ss_rules_${rule}_forward - -A ss_rules_${rule}_src -m set --match-set ss_rules_src_checkdst src -j ss_rules_${rule}_dst - -A ss_rules_${rule}_src -j $src_default_target -m comment --comment "src_default: $o_src_default" - -A ss_rules_${rule}_dst -m set --match-set ss_rules_dst_forward dst -j ss_rules_${rule}_forward + -A ssr_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_ dst -j RETURN + -A ssr_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j MARK --set-mark 0x539 + -A ssr_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j RETURN + -A ssr_${rule}_pre_src -m set --match-set ss_rules_dst_bypass dst -j RETURN + -A ssr_${rule}_pre_src -m mark --mark 0x539 -j RETURN + -A ssr_${rule}_dst -m set --match-set ss_rules_dst_bypass_all dst -j RETURN + -A ssr_${rule}_dst -m set --match-set ss_rules_dst_bypass dst -j RETURN + -A ssr_${rule}_pre_src -p $proto $o_ipt_extra -j ssr_${rule}_src + -A ssr_${rule}_src -m set --match-set ss_rules_src_bypass src -j RETURN + -A ssr_${rule}_src -m set --match-set ss_rules_src_forward src -j ssr_${rule}_forward + -A ssr_${rule}_src -m set --match-set ss_rules_src_checkdst src -j ssr_${rule}_dst + -A ssr_${rule}_src -j $src_default_target -m comment --comment "src_default: $o_src_default" + -A ssr_${rule}_dst -m set --match-set ss_rules_dst_forward dst -j ssr_${rule}_forward $recentrst_addset_rules - -A ss_rules_${rule}_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default" + -A ssr_${rule}_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default" $forward_rules COMMIT $recentrst_mangle_rules @@ -273,11 +273,11 @@ ss_rules_iptchains_mkprerules() { local proto="$1" if [ -z "$o_ifnames" ]; then - echo "-I PREROUTING 1 -p $proto -j ss_rules_${rule}_pre_src" + echo "-I PREROUTING 1 -p $proto -j ssr_${rule}_pre_src" else echo $o_ifnames \ | tr ' ' '\n' \ - | sed "s/.*/-I PREROUTING 1 -i \\0 -p $proto -j ss_rules_${rule}_pre_src/" + | sed "s/.*/-I PREROUTING 1 -i \\0 -p $proto -j ssr_${rule}_pre_src/" fi } diff --git a/shadowsocks-libev/files/ss-rules6 b/shadowsocks-libev/files/ss-rules6 index 6ac5ce3c9..729f496c3 100755 --- a/shadowsocks-libev/files/ss-rules6 +++ b/shadowsocks-libev/files/ss-rules6 @@ -105,7 +105,7 @@ ss_rules6_parse_args() { ss_rules6_flush() { local setname - ip6tables-save --counters | grep -v ss_rules6_ | ip6tables-restore -w --counters + ip6tables-save --counters | grep -v ssr6_ | ip6tables-restore -w --counters while ip -f inet6 rule del fwmark 1 lookup 100 2>/dev/null; do true; done ip -f inet6 route flush table 100 || true for setname in $(ipset -n list | grep "ss_rules6_"); do @@ -165,20 +165,20 @@ ss_rules6_iptchains_init_tcp() { ss_rules6_iptchains_init_ nat tcp case "$o_local_default" in - checkdst) local_target=ss_rules6_${rule}_dst ;; - forward) local_target=ss_rules6_${rule}_forward ;; + checkdst) local_target=ssr6_${rule}_dst ;; + forward) local_target=ssr6_${rule}_forward ;; bypass|*) return 0;; esac ip6tables-restore -w --noflush <<-EOF *nat - :ss_rules6_${rule}_local_out - - -I OUTPUT 1 -p tcp -j ss_rules6_${rule}_local_out - -A ss_rules6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass dst -j RETURN - -A ss_rules6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN - -A ss_rules6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_ dst -j RETURN - -A ss_rules6_${rule}_local_out -m mark --mark 0x6539 -j RETURN - -A ss_rules6_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" + :ssr6_${rule}_local_out - + -I OUTPUT 1 -p tcp -j ssr6_${rule}_local_out + -A ssr6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass dst -j RETURN + -A ssr6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN + -A ssr6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_ dst -j RETURN + -A ssr6_${rule}_local_out -m mark --mark 0x6539 -j RETURN + -A ssr6_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" COMMIT EOF } @@ -197,7 +197,7 @@ ss_rules6_iptchains_init_() { case "$proto" in tcp) - forward_rules="-A ss_rules6_${rule}_forward -p tcp -j REDIRECT --to-ports $o_redir_tcp_port" + forward_rules="-A ssr6_${rule}_forward -p tcp -j REDIRECT --to-ports $o_redir_tcp_port" if [ -n "$o_dst_forward_recentrst" ]; then recentrst_mangle_rules=" *mangle @@ -205,48 +205,48 @@ ss_rules6_iptchains_init_() { COMMIT " recentrst_addset_rules=" - -A ss_rules6_${rule}_dst -m recent --name ss_rules6_recentrst --rcheck --rdest --seconds 3 --hitcount 3 -j SET --add-set ss_rules6_dst_forward_recrst_ dst --exist - -A ss_rules6_${rule}_dst -m set --match-set ss_rules6_dst_forward_recrst_ dst -j ss_rules6_${rule}_forward + -A ssr6_${rule}_dst -m recent --name ss_rules6_recentrst --rcheck --rdest --seconds 3 --hitcount 3 -j SET --add-set ss_rules6_dst_forward_recrst_ dst --exist + -A ssr6_${rule}_dst -m set --match-set ss_rules6_dst_forward_recrst_ dst -j ssr6_${rule}_forward " fi ;; udp) ip -f inet6 rule add fwmark 1 lookup 100 ip -f inet6 route add local default dev lo table 100 - forward_rules="-A ss_rules6_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01" + forward_rules="-A ssr6_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01" ;; esac case "$o_src_default" in - forward) src_default_target=ss_rules6_${rule}_forward ;; - checkdst) src_default_target=ss_rules6_${rule}_dst ;; + forward) src_default_target=ssr6_${rule}_forward ;; + checkdst) src_default_target=ssr6_${rule}_dst ;; bypass|*) src_default_target=RETURN ;; esac case "$o_dst_default" in - forward) dst_default_target=ss_rules6_${rule}_forward ;; + forward) dst_default_target=ssr6_${rule}_forward ;; bypass|*) dst_default_target=RETURN ;; esac sed -e '/^\s*$/d' -e 's/^\s\+//' <<-EOF | ip6tables-restore -w --noflush *$table - :ss_rules6_${rule}_pre_src - - :ss_rules6_${rule}_src - - :ss_rules6_${rule}_dst - - :ss_rules6_${rule}_forward - + :ssr6_${rule}_pre_src - + :ssr6_${rule}_src - + :ssr6_${rule}_dst - + :ssr6_${rule}_forward - $(ss_rules6_iptchains_mkprerules "$proto") - -A ss_rules6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_ dst -j RETURN - -A ss_rules6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -A ss_rules6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN - -A ss_rules6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass dst -j RETURN - -A ss_rules6_${rule}_pre_src -m mark --mark 0x6539 -j RETURN - -A ss_rules6_${rule}_dst -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN - -A ss_rules6_${rule}_dst -m set --match-set ss_rules6_dst_bypass dst -j RETURN - -A ss_rules6_${rule}_pre_src -p $proto $o_ipt_extra -j ss_rules6_${rule}_src - -A ss_rules6_${rule}_src -m set --match-set ss_rules6_src_bypass src -j RETURN - -A ss_rules6_${rule}_src -m set --match-set ss_rules6_src_forward src -j ss_rules6_${rule}_forward - -A ss_rules6_${rule}_src -m set --match-set ss_rules6_src_checkdst src -j ss_rules6_${rule}_dst - -A ss_rules6_${rule}_src -j $src_default_target -m comment --comment "src_default: $o_src_default" - -A ss_rules6_${rule}_dst -m set --match-set ss_rules6_dst_forward dst -j ss_rules6_${rule}_forward + -A ssr6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_ dst -j RETURN + -A ssr6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_all dst -j MARK --set-mark 0x6539 + -A ssr6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN + -A ssr6_${rule}_pre_src -m set --match-set ss_rules6_dst_bypass dst -j RETURN + -A ssr6_${rule}_pre_src -m mark --mark 0x6539 -j RETURN + -A ssr6_${rule}_dst -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN + -A ssr6_${rule}_dst -m set --match-set ss_rules6_dst_bypass dst -j RETURN + -A ssr6_${rule}_pre_src -p $proto $o_ipt_extra -j ssr6_${rule}_src + -A ssr6_${rule}_src -m set --match-set ss_rules6_src_bypass src -j RETURN + -A ssr6_${rule}_src -m set --match-set ss_rules6_src_forward src -j ssr6_${rule}_forward + -A ssr6_${rule}_src -m set --match-set ss_rules6_src_checkdst src -j ssr6_${rule}_dst + -A ssr6_${rule}_src -j $src_default_target -m comment --comment "src_default: $o_src_default" + -A ssr6_${rule}_dst -m set --match-set ss_rules6_dst_forward dst -j ssr6_${rule}_forward $recentrst_addset_rules - -A ss_rules6_${rule}_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default" + -A ssr6_${rule}_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default" $forward_rules COMMIT $recentrst_mangle_rules @@ -257,11 +257,11 @@ ss_rules6_iptchains_mkprerules() { local proto="$1" if [ -z "$o_ifnames" ]; then - echo "-I PREROUTING 1 -p $proto -j ss_rules6_${rule}_pre_src" + echo "-I PREROUTING 1 -p $proto -j ssr6_${rule}_pre_src" else echo $o_ifnames \ | tr ' ' '\n' \ - | sed "s/.*/-I PREROUTING 1 -i \\0 -p $proto -j ss_rules6_${rule}_pre_src/" + | sed "s/.*/-I PREROUTING 1 -i \\0 -p $proto -j ssr6_${rule}_pre_src/" fi } From 0bcf2090ecbb1dbf79c6225d48d79653c9fe5e3a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Aug 2020 09:23:16 +0200 Subject: [PATCH 09/22] Increase modem delay --- openmptcprouter/files/etc/uci-defaults/2090-omr-wwan | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2090-omr-wwan b/openmptcprouter/files/etc/uci-defaults/2090-omr-wwan index f5e17afa7..42d8f2555 100755 --- a/openmptcprouter/files/etc/uci-defaults/2090-omr-wwan +++ b/openmptcprouter/files/etc/uci-defaults/2090-omr-wwan @@ -3,8 +3,9 @@ if [ "$(grep usbmode /etc/rc.local)" = "" ]; then sed -i 's:exit 0::g' /etc/rc.local cat <<-EOF >> /etc/rc.local + /bin/sleep 5 /sbin/usbmode -l - /bin/sleep 2 + /bin/sleep 3 /sbin/usbmode -s exit 0 EOF From ae8782fdfafa3b63017e35fd2794de6a21b90994 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Aug 2020 09:24:56 +0200 Subject: [PATCH 10/22] Fix when empty wan IP in the wizard --- .../luasrc/controller/openmptcprouter.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index de58350a4..1078051d6 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -221,9 +221,15 @@ function wizard_add() ucic:set("network",intf,"proto",proto) end ucic:set("network",intf,"label",label) - ucic:set("network",intf,"ipaddr",ipaddr) - ucic:set("network",intf,"netmask",netmask) - ucic:set("network",intf,"gateway",gateway) + if ipaddr ~= "" then + ucic:set("network",intf,"ipaddr",ipaddr) + ucic:set("network",intf,"netmask",netmask) + ucic:set("network",intf,"gateway",gateway) + else + ucic:set("network",intf,"ipaddr","") + ucic:set("network",intf,"netmask","") + ucic:set("network",intf,"gateway","") + end ucic:delete("openmptcprouter",intf,"lc") ucic:save("openmptcprouter") From 296af67c77c07b14258fe24603fa639d9c37f3bc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 26 Oct 2020 13:48:13 +0100 Subject: [PATCH 11/22] Fix github actions --- .github/workflows/main.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e85491615..5730f182a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,13 +44,7 @@ jobs: GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} run: | git clone --depth 1 $REPO_URL omr - cd omr - if [ "$SOURCE_NAME" != "Test-Github-Actions" ] && [ "$SOURCE_NAME" != "develop" ]; then - git fetch - git checkout master - else - git checkout develop - fi + [ "$SOURCE_NAME" != "develop" ] && { cd omr && pwd && git fetch && git checkout master } || { cd omr && git checkout develop } git pull pwd - name: Build toolchain From 5b09977ac4198086357cc312d2f8487c9e32881a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 26 Oct 2020 13:55:09 +0100 Subject: [PATCH 12/22] Fix github actions --- .github/workflows/main.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5730f182a..8ebdbeb63 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,8 +43,16 @@ jobs: SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} run: | - git clone --depth 1 $REPO_URL omr - [ "$SOURCE_NAME" != "develop" ] && { cd omr && pwd && git fetch && git checkout master } || { cd omr && git checkout develop } + git clone $REPO_URL omr + if [ "$SOURCE_NAME" != "develop" ]; then + cd omr + pwd + git fetch + git checkout master + else + cd omr + git checkout develop + fi git pull pwd - name: Build toolchain From 543cab8d20984b5c646dfb9c66d8ad167efd0811 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 4 Jan 2021 10:58:42 +0100 Subject: [PATCH 13/22] Install BBRv2 package on AMR64 (really) --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index d3b617dd3..defb4d7b4 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -78,7 +78,7 @@ MY_DEPENDS := \ !TARGET_mvebu:kmod-usb-net-huawei-cdc-ncm !TARGET_mvebu:kmod-usb-net-rndis !TARGET_mvebu:kmod-usb-net-cdc-ether !TARGET_mvebu:kmod-usb-net-ipheth !TARGET_mvebu:usbmuxd \ kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \ !TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \ - luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang (TARGET_x86_64||TARGET_aarch64):kmod-tcp-bbr2 iptables-mod-ipopt igmpproxy ss iptraf-ng \ + luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang (TARGET_x86_64||aarch64):kmod-tcp-bbr2 iptables-mod-ipopt igmpproxy ss iptraf-ng \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode luci-app-packet-capture kmod-bonding luci-proto-bonding # luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status From 2960b6b5d7ce3e1436fbb0ddd88d836404315d44 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 4 Jan 2021 10:59:07 +0100 Subject: [PATCH 14/22] Force ubus path fix --- luci-app-openmptcprouter/root/etc/init.d/openmptcprouter | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter index 63d4d3a3a..2348fa8b0 100755 --- a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter @@ -104,6 +104,15 @@ start_service() { # remove sysctl already defined in /etc/sysctl.d/ sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' -e '/tcp_syn_retries/d' -e '/tcp_fastopen/d' -e '/tcp_retries2/d' -e '/tcp_retries1/d' -e '/ip_default_ttl/d' /etc/sysctl.conf sed -i -e '/tcp_fin_timeout/d' -e '/tcp_keepalive_time/d' -e '/nf_conntrack_max/d' -e '/tcp_syn_retries/d' -e '/tcp_fastopen/d' -e '/tcp_retries2/d' -e '/tcp_retries1/d' -e '/ip_default_ttl/d' /etc/sysctl.d/10-default.conf + + if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then + uci -q batch <<-EOF >/dev/null + set rpcd.@rpcd[0].socket='/var/run/ubus/ubus.sock' + commit rpcd + EOF + /etc/init.d/rpcd restart 2>&1 >/dev/null + fi + } reload_service() { From 517b93f4362b32de8eb9e75907f6e5d69f62762e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 4 Jan 2021 11:00:19 +0100 Subject: [PATCH 15/22] Fix omr-update --- omr-update/files/etc/init.d/omr-update | 1 + .../files/etc/uci-defaults/000-omr-update | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 openmptcprouter/files/etc/uci-defaults/000-omr-update diff --git a/omr-update/files/etc/init.d/omr-update b/omr-update/files/etc/init.d/omr-update index 6f79dae88..59c131e95 100755 --- a/omr-update/files/etc/init.d/omr-update +++ b/omr-update/files/etc/init.d/omr-update @@ -16,6 +16,7 @@ boot() { [ -n "$files" ] && { mkdir -p /usr/share/omr-update if [ "$(grep rom /etc/mtab)" = "" ]; then + rm /usr/share/omr-update/* cp /etc/uci-defaults/* /usr/share/omr-update fi uci -q set openmptcprouter.settings=settings diff --git a/openmptcprouter/files/etc/uci-defaults/000-omr-update b/openmptcprouter/files/etc/uci-defaults/000-omr-update new file mode 100755 index 000000000..6e16cc6b0 --- /dev/null +++ b/openmptcprouter/files/etc/uci-defaults/000-omr-update @@ -0,0 +1,18 @@ +#!/bin/sh + +cd /etc/uci-defaults || exit 0 +source /etc/os-release + +OMRVERSION=$(echo $VERSION | sed 's/v//') +files="$(ls /etc/uci-defaults/)" +[ -n "$files" ] && { + mkdir -p /usr/share/omr-update + if [ "$(grep rom /etc/mtab)" = "" ]; then + rm /usr/share/omr-update/* + cp /etc/uci-defaults/* /usr/share/omr-update + fi + uci -q set openmptcprouter.settings=settings + uci -q set openmptcprouter.settings.version=${OMRVERSION} + uci -q commit +} +exit 0 From e092f1b2d1a40e15b4bf6923420e2770711884db Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 4 Jan 2021 16:40:03 +0100 Subject: [PATCH 16/22] Start omr-update after boot script --- omr-update/files/etc/init.d/omr-update | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-update/files/etc/init.d/omr-update b/omr-update/files/etc/init.d/omr-update index 59c131e95..d69c779f8 100755 --- a/omr-update/files/etc/init.d/omr-update +++ b/omr-update/files/etc/init.d/omr-update @@ -2,7 +2,7 @@ # Copyright (C) 2018 Ycarus (Yannick Chabanois) # Released under GPL 3. See LICENSE for the full terms. -START=1 +START=11 STOP=98 boot() { From 956dbdaffb80d61393b4ec8e4c87c03b574854dd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Jan 2021 07:57:34 +0100 Subject: [PATCH 17/22] Fix glorytun tcp interface --- .../luci-static/resources/view/services/glorytun-tcp.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js index c8929e0fb..4b336e339 100644 --- a/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js +++ b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js @@ -32,7 +32,6 @@ return L.view.extend({ s.tab('advanced', _('Advanced Settings')); o = s.taboption('general', form.Flag, 'enable', _('Enabled')); - o.default = o.enabled; o = s.taboption('general',form.Value, 'label', _('Label')); o.rmempty = true; @@ -65,11 +64,9 @@ return L.view.extend({ o.rmempty = false; o = s.taboption('advanced', form.Flag, 'mptcp', _('MPTCP')); - o.default = o.enabled; o.modalonly = true; o = s.taboption('advanced', form.Flag, 'chacha20', _('chacha'), _('Force fallback cipher')); - o.default = o.enabled; o.modalonly = true; o = s.taboption('advanced', form.Value, 'timeout', _('Timeout')); @@ -78,7 +75,6 @@ return L.view.extend({ o.modalonly = true; o = s.taboption('advanced', form.Flag, 'multiqueue', _('Multiqueue')); - o.default = o.enabled; o.rmempty = false; o.modalonly = true; From c0f4def8eab723641fc6601228dbd9cf5a80f269 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Jan 2021 07:57:46 +0100 Subject: [PATCH 18/22] Fix glorytun udp interface --- .../htdocs/luci-static/resources/view/services/glorytun-udp.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js b/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js index 762332468..b14b4fb4a 100644 --- a/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js +++ b/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js @@ -40,7 +40,6 @@ return L.view.extend({ s.tab('advanced', _('Advanced Settings')); o = s.taboption('general', form.Flag, 'enable', _('Enabled')); - o.default = o.enabled; o = s.taboption('general',form.Value, 'label', _('Label')); o.rmempty = true; @@ -74,11 +73,9 @@ return L.view.extend({ o.rmempty = false; o = s.taboption('advanced', form.Flag, 'persist', _('Persist'), _('Keep the tunnel device after exiting')); - o.default = o.enabled; o.modalonly = true; o = s.taboption('advanced', form.Flag, 'chacha', _('chacha'), _('Force fallback cipher')); - o.default = o.enabled; o.modalonly = true; o = s.taboption('advanced', form.Value, 'kxtimeout', _('Key rotation timeout')); From dd7a0481de39d667ada71f43c8982ec4dd4cd023 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Jan 2021 07:58:03 +0100 Subject: [PATCH 19/22] Fix omr rename in some case --- .../root/etc/hotplug.d/net/99-omr-rename | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) 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 19fcf1b1e..02d204117 100644 --- a/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename +++ b/luci-app-openmptcprouter/root/etc/hotplug.d/net/99-omr-rename @@ -27,14 +27,14 @@ _set_intf_name() { if [ "$modalias" = "$chk_modalias" ] && [ "$INTERFACE" != "$ifname" ]; then logger -t "OMR-Rename" "Rename ${INTERFACE} to ${ifname}" existif=0 - ip link set ${INTERFACE} down + ip link set ${INTERFACE} down 2>&1 >/dev/null [ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && { - ip link set ${ifname} name ${ifname}tmp + ip link set ${ifname} name ${ifname}tmp 2>&1 >/dev/null existif=1 } - ip link set ${INTERFACE} name ${ifname} - ip link set ${ifname} up - [ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE} + ip link set ${INTERFACE} name ${ifname} 2>&1 >/dev/null + ip link set ${ifname} up 2>&1 >/dev/null + [ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE} 2>&1 >/dev/null fi fi elif [ -f /dev/${DEVICE_NAME} ] && [ -n "$MODALIAS" ] && [ "$modalias" = "$MODALIAS" ]; then @@ -46,15 +46,15 @@ _set_intf_name() { } [ -z "$modalias" ] && [ -n "$device" ] && [ -n "$ifname" ] && [ "/sys${DEVPATH}" = "$device" ] && [ "$INTERFACE" != "$ifname" ] && { logger -t "OMR-Rename" "Rename ${INTERFACE} to ${ifname}" - ip link set ${INTERFACE} down + ip link set ${INTERFACE} down 2>&1 >/dev/null existif=0 [ "$(ip link show ${ifname} 2>/dev/null)" != "" ] && { - ip link set ${ifname} name ${ifname}tmp + ip link set ${ifname} name ${ifname}tmp 2>&1 >/dev/null existif=1 } - ip link set ${INTERFACE} name ${ifname} - ip link set ${ifname} up - [ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE} + ip link set ${INTERFACE} name ${ifname} 2>&1 >/dev/null + ip link set ${ifname} up 2>&1 >/dev/null + [ "$existif" = "1" ] && ip link set ${ifname}tmp ${$INTERFACE} 2>&1 >/dev/null } } From 296dde429b8cfac954cbaf7d9e63894472b02a91 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 6 Jan 2021 14:24:18 +0100 Subject: [PATCH 20/22] Change some luci-app-openmptcprouter strings --- .../luasrc/view/openmptcprouter/settings.htm | 6 +- .../po/templates/openmptcprouter.pot | 689 +++++++++--------- 2 files changed, 355 insertions(+), 340 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 5ec0b3c2c..c23724f44 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -17,9 +17,9 @@ %>
-

<%:Update VPS%>

+

<%:Update server%>

-
<%:Update remotly the server to latest version when needed.%> <%:Beta%>
+
<%:Update remotly servers to latest version and reboot them.%> <%:Beta%>
@@ -40,7 +40,7 @@

<%:Advanced Settings%>

- <%:VPS settings%> + <%:Server settings%> <% uci:foreach("openmptcprouter","server", function(s) servername = s[".name"] diff --git a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot index 44d2aae48..4daf598a7 100644 --- a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot +++ b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot @@ -1,41 +1,41 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:255 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:256 msgid "A Dead Simple VPN is a TCP VPN that can replace Glorytun TCP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:250 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:252 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:251 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:253 msgid "A Dead Simple VPN key" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:72 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:73 msgid "API username to retrieve personnalized settings from the server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:650 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:654 msgid "APN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:117 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:118 msgid "Add a new server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:819 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:827 msgid "Add an interface" msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:19 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:39 +#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:18 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:41 msgid "Advanced Settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:124 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:125 msgid "Advanced settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:329 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 msgid "" "All VPN available here can do aggregation over MPTCP or using own internal " "method." @@ -45,250 +45,262 @@ msgstr "" msgid "All router settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:224 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:225 msgid "" "An Advanced Encryption Standard (AES) instruction set is integrated in the " "processor." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:680 msgid "Authentication Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:714 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:726 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:718 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:734 msgid "Backup" msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:22 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:8 +#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:21 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:10 msgid "Backup on server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:292 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310 msgid "Balancing" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:20 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:22 msgid "Beta" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:288 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:296 msgid "Big time difference between the server and the router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:474 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:478 msgid "Bridge" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:235 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:236 msgid "By default VPN is used for any traffic that is not TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:169 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:170 msgid "" "By default proxy is used for any traffic that is TCP (and UDP for V2Ray)." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:681 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:685 msgid "CHAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:252 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:257 msgid "Can\\'t access and use server part" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:275 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:283 msgid "Can\\'t contact Server Admin Script" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:268 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:273 msgid "Can\\'t get public IP address from ShadowSocks" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:265 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:276 +msgid "Can\\'t get public IP address from V2Ray" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:270 msgid "Can\\'t ping server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:478 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:482 msgid "" "Choose MacVLAN if you want to create a virtual interface based on a physical " "interface." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:412 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:498 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:544 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:502 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:548 msgid "Choose physical interface." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:122 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:123 msgid "Common server settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:130 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:135 msgid "Core temp:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:364 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:368 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:513 msgid "DHCP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:183 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:188 msgid "DNS issue: can\\'t resolve hostname" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:276 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:294 msgid "Debug" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:171 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:172 msgid "Default Proxy" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:285 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:286 msgid "Default VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:51 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:453 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:52 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:457 msgid "Delete" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:576 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:603 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:624 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:580 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:607 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:628 msgid "Device" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:201 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:203 msgid "Disable TCP Fast Open" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:206 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:208 msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:246 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:264 msgid "Disable default gateway" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:251 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:269 msgid "Disable default gateway, no internet if VPS are down" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:191 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:193 msgid "Disable external check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:236 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:238 msgid "Disable gateway ping" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:241 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:243 msgid "Disable gateway ping status check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:271 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:248 +msgid "Disable interfaces auto rename" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289 msgid "Disable multipath test using tracebox" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:61 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:63 msgid "" "Disable ports redirection defined in firewall from server to this router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:105 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:253 +msgid "Disable renaming interfaces" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:106 msgid "Disable server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:256 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:274 msgid "Disable server ping" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:261 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279 msgid "Disable server ping status check" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:266 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:284 msgid "Disable tracebox test" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:712 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:724 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:716 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:732 msgid "Disabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:770 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:778 msgid "Download speed (Kb/s)" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:290 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:308 msgid "Dynamic change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:185 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:147 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:187 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:148 msgid "Enable IPv6" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:760 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:768 msgid "Enable SQM" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:77 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:79 msgid "Enable ShadowSocks Obfuscating" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:211 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:213 msgid "Enable TCP Low Latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:281 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299 msgid "Enable debug logs" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:711 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:723 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:715 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:731 msgid "Enabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:207 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:208 msgid "Encryption" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:228 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:229 msgid "Encryption method is used for Shadowsocks, V2Ray, Glorytun and OpenVPN." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:171 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:176 msgid "Filesystem is readonly" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:139 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:140 msgid "Force retrieve all keys from server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:134 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:135 msgid "Force retrieve settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:670 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:674 msgid "GPRS only" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:496 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:657 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:504 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:665 msgid "Gateway DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:243 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244 msgid "Glorytun TCP is used by default for UDP and ICMP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:238 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:240 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:239 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:241 msgid "Glorytun key" msgstr "" @@ -296,763 +308,766 @@ msgstr "" msgid "Grant UCI access for luci-app-openmptcprouter" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:128 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:130 msgid "How often TCP sends out keepalive messages when keepalive is enabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:179 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:181 msgid "IPv4 IP default TTL" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:133 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:135 msgid "IPv4 TCP FIN timeout" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:173 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:175 msgid "IPv4 TCP Fast Open" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:123 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:125 msgid "IPv4 TCP Keepalive time" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:143 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:145 msgid "IPv4 TCP SYN retries" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:153 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:155 msgid "IPv4 TCP SYN retries1" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:163 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:165 msgid "IPv4 TCP SYN retries2" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:420 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:550 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:424 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:554 msgid "IPv4 address" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:566 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:570 msgid "IPv4 gateway" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:426 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:430 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:564 msgid "IPv4 netmask" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:157 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:158 msgid "IPv6 Prefix" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:536 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:697 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:544 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:705 msgid "IPv6 route received" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:145 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:146 msgid "IPv6 settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:204 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:209 msgid "IPv6 tunnel DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:328 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:336 msgid "IPv6:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:439 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:443 msgid "Interfaces settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:192 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:202 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:243 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:255 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:267 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:279 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:193 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:203 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:244 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:256 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:268 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:280 msgid "Key is retrieved from server API by default." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:82 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:83 msgid "" "Key to configure and retrieve others keys from Server and to set server " "settings from OpenMPTCProuter." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:337 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:341 msgid "LAN interfaces settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:668 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:672 msgid "LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:348 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:459 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:352 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463 msgid "Label" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:354 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:464 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:358 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:468 msgid "Label for the interface" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:20 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:22 msgid "Last available backup on server:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:119 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:305 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:124 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:313 msgid "Latest available version" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:125 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:311 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:130 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:319 msgid "Load:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:267 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:268 msgid "MLVPN can replace Glorytun with connections with same latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:262 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:264 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:263 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:265 msgid "MLVPN password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:284 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:292 msgid "MPTCP is not enabled on the server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:322 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:330 msgid "MPTCP may not be enabled on the server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:750 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:758 msgid "MPTCP over VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:473 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:477 msgid "MacVLAN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:713 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:725 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:717 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:733 msgid "Master" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:286 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304 msgid "Master interface selection" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:308 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:326 msgid "Maximum scaling CPU frequency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:302 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:320 msgid "Minimum scaling CPU frequency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:665 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:669 msgid "Modem default" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:703 msgid "Modem init timeout" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:514 msgid "ModemManager" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:175 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:180 msgid "More than one default VPN is enabled" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:708 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:712 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:728 msgid "Multipath TCP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:519 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:525 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:680 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:686 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:527 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:533 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:688 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:694 msgid "Multipath current state is" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:514 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:675 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:522 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:683 msgid "Multipath master already defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:499 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:660 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:507 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:668 msgid "Multipath seems to be blocked on the connection" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:511 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:515 msgid "NCM" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:679 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:683 msgid "NONE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:531 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:692 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:539 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:700 msgid "Network interface duplicated" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:792 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:794 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:800 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:802 msgid "Network overview" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:120 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:122 msgid "Networks settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:489 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:650 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:497 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:658 msgid "No IP defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:207 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:212 msgid "No IPv6 access" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:503 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:664 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:511 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:672 msgid "No Server ping response after 1 second" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:271 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:279 msgid "No WAN IP address detected in less than 1 second" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:24 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:26 msgid "No available backup on server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:291 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:309 msgid "No change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:712 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:720 msgid "No data" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:493 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:654 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:501 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:662 msgid "No gateway defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:243 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:244 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:248 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:249 msgid "No output" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:248 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:253 msgid "No server IP address, No WAN IP address" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:261 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:266 msgid "No server defined" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:213 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:214 msgid "None" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:472 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:476 msgid "Normal" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:148 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:150 msgid "" "Number of times initial SYNs for an active TCP connection attempt will be " "retransmitted." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:87 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:89 msgid "Obfuscating plugin" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:106 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:108 msgid "Obfuscating type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:82 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:84 msgid "Obfuscating will be enabled on both side" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:307 msgid "On wizard change" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:181 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:182 msgid "Only ShadowSocks is supported with server multiple IPs for now." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:96 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:722 +msgid "" +"Only one interface must be set as \"Master\", this should be the most stable " +"interface." +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:97 msgid "Only one server can be master, else all servers are set as backup." msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:14 #: luci-app-openmptcprouter/root/usr/share/luci/menu.d/luci-app-openmptcprouter.json:3 msgid "OpenMPTCProuter" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:329 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 msgid "OpenVPN can't be used in multi VPS configuration." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:216 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:218 msgid "Optimize for latency instead of bandwidth" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:365 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:514 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:369 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:518 msgid "Other" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:223 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:225 msgid "Other settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:680 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:684 msgid "PAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:682 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:686 msgid "PAP/CHAP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:693 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:697 msgid "PAP/CHAP password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:687 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:691 msgid "PAP/CHAP username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:656 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:660 msgid "PIN code" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:512 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:516 msgid "PPPoE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:377 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:483 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:523 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:381 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:487 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:527 msgid "Physical interface" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:666 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:670 msgid "Prefer LTE" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671 msgid "Prefer UMTS" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:359 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:363 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508 msgid "Protocol" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:194 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:199 msgid "Proxy is DISABLED" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:168 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:169 msgid "Proxy settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:333 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:341 msgid "Proxy traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:513 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:517 msgid "QMI" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:50 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:52 msgid "Redirects all ports from server to this router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:30 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:32 msgid "Restore backup" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:132 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:133 msgid "Retrieve settings from server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:334 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:828 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:352 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:836 msgid "Save & Apply" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:231 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:233 msgid "Save vnstats statistics on disk" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:226 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:228 msgid "Save vnstats stats" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:314 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:332 msgid "Scaling governor" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:822 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:830 msgid "Select the device you want to base the interface on." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:31 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm:33 msgid "Send backup" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:57 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:59 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:58 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:60 msgid "Server IP" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:61 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:62 msgid "Server IP will be set for proxy and VPN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:77 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:79 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:78 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:80 msgid "Server key" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:41 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:43 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:42 msgid "Server settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:67 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:69 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:68 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:70 msgid "Server username" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:666 msgid "Service Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:559 msgid "Set an IP in the same network as the modem" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:571 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:575 msgid "Set here IP of the modem" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:91 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:92 msgid "Set server as master" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:180 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:181 msgid "" "Set the default Proxy used for TCP when ShadowSocks is enabled, for TCP and " "UDP when V2Ray is enabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:329 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:333 msgid "" "Set the default VPN used for ICMP (and UDP if proxy used is shadowsocks), " "for all traffic if proxy is disabled." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:780 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:788 msgid "" "Set value between 80-95% of max download speed link. 0 to disable SQM/QoS." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:796 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:804 msgid "" "Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS." msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:15 +#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:14 msgid "Settings Wizard" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:153 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:158 msgid "ShadowSocks is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:192 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:193 msgid "ShadowSocks is used for TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:187 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:189 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:188 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:190 msgid "ShadowSocks key" msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:24 +#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:23 msgid "Show all settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:363 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:367 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:512 msgid "Static address" msgstr "" -#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:17 +#: luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua:16 msgid "Status" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:299 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:317 msgid "Systems settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:138 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:140 msgid "" "The length of time an orphaned (no longer referenced by any application) " "connection will remain in the FIN_WAIT_2 state before it is aborted at the " "local end." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:226 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:227 msgid "" "There is no Advanced Encryption Standard (AES) instruction set integrated in " "the processor, you should use chacha20." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:158 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:160 msgid "" "This value influences the time, after which TCP decides, that something is " "wrong due to unacknowledged RTO retransmissions, and reports this suspicion " "to the network layer." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:168 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:170 msgid "" "This value influences the timeout of an alive TCP connection, when RTO " "retransmissions remain unacknowledged." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:343 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:351 msgid "Total traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:469 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:473 msgid "Type" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:279 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:280 msgid "UBOND can replace Glorytun with connections with same latency" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:274 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:276 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:275 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:277 msgid "UBOND password" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:669 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:673 msgid "UMTS/GPRS" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:27 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:29 msgid "Update" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:18 -msgid "Update VPS" +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:22 +msgid "Update remotly servers to latest version and reboot them." msgstr "" #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:20 -msgid "Update remotly the server to latest version when needed." -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:22 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:24 msgid "Update server" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:786 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:794 msgid "Upload speed (Kb/s)" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:136 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:317 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:141 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:325 msgid "Uptime:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:775 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:791 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:783 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:799 msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:165 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:170 msgid "V2Ray is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:202 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:203 msgid "V2Ray is used for TCP and UDP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:199 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:200 msgid "V2Ray user" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:197 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:198 msgid "V2Ray user id" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:179 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:184 msgid "VPN is not running" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:234 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:235 msgid "VPN settings" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:338 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:346 msgid "VPN traffic:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:198 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:203 msgid "VPN tunnel DOWN" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:41 -msgid "VPS settings" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:298 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:306 msgid "Version" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:507 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:668 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:515 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:676 msgid "Wan IP and gateway are identical" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:196 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:198 msgid "" "When enable check are done on external sites to get each WAN IP and the IP " "used to go outside." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:39 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:258 +msgid "When proxy shadowsocks is used, use it for UDP if proxy down" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:40 msgid "Wizard" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:75 #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:80 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:85 msgid "You" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:755 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:763 msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:369 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373 msgid "You can use DHCP if you have multiple real ethernet ports." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:518 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:522 msgid "" "You can use DHCP if you have multiple real ethernet ports. Select other if " "you want to use another protocol available in Network Interfaces page." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:162 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:163 msgid "You can use a public IPv6 prefix only if you set only one server." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:440 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:444 msgid "You must disable DHCP on your modems and set IP in different networks." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:152 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:153 msgid "You should disable IPv6 here if server doesn't provide IPv6." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:765 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:773 msgid "You should disable SQM for LTE or any interfaces with variable speed." msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:56 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:58 msgid "You shouldn't do that and you should redirect only needed ports" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:78 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:83 msgid "Your IP was not leased by this router" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:144 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:149 msgid "address:" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:675 msgid "auto" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:156 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:161 msgid "empty key" msgstr "" -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:439 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:630 -msgid "ip address:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:451 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:642 -msgid "latency:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:455 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:646 -msgid "mtu:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:543 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:699 -msgid "multipath:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:459 -msgid "operator:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:217 -msgid "other" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:463 -msgid "phone number:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:145 -msgid "range:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:467 -msgid "state:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:546 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:702 -msgid "traffic control:" -msgstr "" - -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:443 -#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:634 -msgid "wan address:" -msgstr "" - #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:447 #: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:638 +msgid "ip address:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:459 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:650 +msgid "latency:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:463 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:654 +msgid "mtu:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:551 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:707 +msgid "multipath:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:467 +msgid "operator:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:218 +msgid "other" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:471 +msgid "phone number:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:150 +msgid "range:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:475 +msgid "state:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:554 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:710 +msgid "traffic control:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:451 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:642 +msgid "wan address:" +msgstr "" + +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:455 +#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:646 msgid "whois:" msgstr "" From d4fae6f54a595efd9d4ac71a4dc929b46d200e9c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 6 Jan 2021 14:24:47 +0100 Subject: [PATCH 21/22] Alphabetical order for TCP Congestion control --- luci-app-mptcp/luasrc/model/cbi/mptcp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua index 5c32389fb..a69f69e3e 100644 --- a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua +++ b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua @@ -38,7 +38,7 @@ local mtcpsyn = s:option(Value, "mptcp_syn_retries", translate("Multipath TCP SY mtcpsyn.datatype = "uinteger" mtcpsyn.rmempty = false local congestion = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is bbr")) -local availablecong = sys.exec("sysctl net.ipv4.tcp_available_congestion_control | awk -F'= ' '{print $NF}'") +local availablecong = sys.exec("sysctl -n net.ipv4.tcp_available_congestion_control | xargs -n1 | sort | xargs") for cong in string.gmatch(availablecong, "[^%s]+") do congestion:value(cong, translate(cong)) end From 1fe72710b373b41c83480c26d2450fc87334967a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 6 Jan 2021 14:25:43 +0100 Subject: [PATCH 22/22] Fix for VPS update and some rpcd changes --- .../root/usr/libexec/rpcd/openmptcprouter | 124 ++++++++++-------- 1 file changed, 67 insertions(+), 57 deletions(-) diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter index 5df98b004..633b47394 100755 --- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter +++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter @@ -116,14 +116,14 @@ function add_interface(add_interface_ifname) ucic:save("sqm") ucic:commit("sqm") - luci.sys.call("uci -q add_list vnstat.@vnstat[-1].interface=" .. wanif) - luci.sys.call("uci -q commit vnstat") + sys.exec("uci -q add_list vnstat.@vnstat[-1].interface=" .. wanif) + sys.exec("uci -q commit vnstat") -- Dirty way to add new interface to firewall... - luci.sys.call("uci -q add_list firewall.@zone[1].network=wan" .. i) - luci.sys.call("uci -q commit firewall") + sys.exec("uci -q add_list firewall.@zone[1].network=wan" .. i) + sys.exec("uci -q commit firewall") - luci.sys.call("/etc/init.d/macvlan restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/macvlan restart >/dev/null 2>/dev/null") end function remove_interface(intf) @@ -140,11 +140,11 @@ function remove_interface(intf) ucic:save("qos") ucic:commit("qos") if defif ~= nil and defif ~= "" then - luci.sys.call("uci -q del_list vnstat.@vnstat[-1].interface=" .. defif) + sys.exec("uci -q del_list vnstat.@vnstat[-1].interface=" .. defif) end - luci.sys.call("uci -q commit vnstat") - luci.sys.call("uci -q del_list firewall.@zone[1].network=" .. intf) - luci.sys.call("uci -q commit firewall") + sys.exec("uci -q commit vnstat") + sys.exec("uci -q del_list firewall.@zone[1].network=" .. intf) + sys.exec("uci -q commit firewall") end function set_interface(intf,proto,ipaddr,netmask,gateway,sqmenabled,downloadspeed,uploadspeed) @@ -321,24 +321,30 @@ function server_settings(server,server_ip,openmptcprouter_vps_key) ucic:set("openmptcprouter",server,"ip",server_ip) ucic:set("openmptcprouter",server,"port","65500") ucic:save("openmptcprouter") - ucic:set("shadowsocks-libev","sss0","server",server_ip) - ucic:set("glorytun","vpn","host",server_ip) - ucic:set("dsvpn","vpn","host",server_ip) - ucic:set("mlvpn","general","host",server_ip) - luci.sys.call("uci -q del openvpn.omr.remote") - luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) - ucic:set("qos","serverin","srchost",server_ip) - ucic:set("qos","serverout","dsthost",server_ip) - ucic:save("qos") - ucic:commit("qos") - ucic:save("mlvpn") - ucic:commit("mlvpn") - ucic:save("dsvpn") - ucic:commit("dsvpn") - ucic:save("glorytun") - ucic:commit("glorytun") - ucic:save("shadowsocks-libev") - ucic:commit("shadowsocks-libev") + if ucic:get("openmptcprouter",server,"master") == "1" then + ucic:set("shadowsocks-libev","sss0","server",server_ip) + ucic:set("glorytun","vpn","host",server_ip) + ucic:set("dsvpn","vpn","host",server_ip) + ucic:set("mlvpn","general","host",server_ip) + sys.exec("uci -q del openvpn.omr.remote") + sys.exec("uci -q add_list openvpn.omr.remote=" .. server_ip) + ucic:set("qos","serverin","srchost",server_ip) + ucic:set("qos","serverout","dsthost",server_ip) + ucic:set("v2ray","omrout","s_vmess_address",server_ip) + ucic:set("v2ray","omrout","s_vless_address",server_ip) + ucic:save("qos") + ucic:commit("qos") + ucic:save("mlvpn") + ucic:commit("mlvpn") + ucic:save("dsvpn") + ucic:commit("dsvpn") + ucic:save("v2ray") + ucic:commit("v2ray") + ucic:save("glorytun") + ucic:commit("glorytun") + ucic:save("shadowsocks-libev") + ucic:commit("shadowsocks-libev") + end end function set_shadowsocks(shadowsocks_key) @@ -404,18 +410,22 @@ end function restart_all() -- Restart all - luci.sys.call("(env -i /bin/ubus call network reload) >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/mptcp restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") - os.execute("sleep 2") - luci.sys.call("/etc/init.d/v2ray restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/glorytun restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null") - --luci.sys.call("/etc/init.d/mlvpn restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/openvpn restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/omr-tracker restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/macvlan restart >/dev/null 2>/dev/null") + sys.exec("(env -i /bin/ubus call network reload) >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/omr-tracker stop >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/mptcp restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/glorytun restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/mlvpn restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/openvpn restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/openvpnbonding restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/dsvpn restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/omr-tracker start >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/vnstat restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/v2ray restart >/dev/null 2>/dev/null") end function redirectports(server,redirect_ports) @@ -425,26 +435,26 @@ end function tcpkeepalivetime(tcp_keepalive_time) -- Set tcp_keepalive_time - luci.sys.exec("sysctl -w net.ipv4.tcp_keepalive_time=%s" % tcp_keepalive_time) - luci.sys.exec("sed -i 's:^net.ipv4.tcp_keepalive_time=[0-9]*:net.ipv4.tcp_keepalive_time=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_keepalive_time) + sys.exec("sysctl -w net.ipv4.tcp_keepalive_time=%s" % tcp_keepalive_time) + sys.exec("sed -i 's:^net.ipv4.tcp_keepalive_time=[0-9]*:net.ipv4.tcp_keepalive_time=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_keepalive_time) end function tcpfintimeout(tcp_fin_timeout) -- Set tcp_fin_timeout - luci.sys.exec("sysctl -w net.ipv4.tcp_fin_timeout=%s" % tcp_fin_timeout) - luci.sys.exec("sed -i 's:^net.ipv4.tcp_fin_timeout=[0-9]*:net.ipv4.tcp_fin_timeout=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_fin_timeout) + sys.exec("sysctl -w net.ipv4.tcp_fin_timeout=%s" % tcp_fin_timeout) + sys.exec("sed -i 's:^net.ipv4.tcp_fin_timeout=[0-9]*:net.ipv4.tcp_fin_timeout=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_fin_timeout) end function tcpsynretries(tcp_syn_retries) -- Set tcp_syn_retries - luci.sys.exec("sysctl -w net.ipv4.tcp_syn_retries=%s" % tcp_syn_retries) - luci.sys.exec("sed -i 's:^net.ipv4.tcp_syn_retries=[0-9]*:net.ipv4.tcp_syn_retries=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_syn_retries) + sys.exec("sysctl -w net.ipv4.tcp_syn_retries=%s" % tcp_syn_retries) + sys.exec("sed -i 's:^net.ipv4.tcp_syn_retries=[0-9]*:net.ipv4.tcp_syn_retries=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_syn_retries) end function tcpfastopen(tcp_fastopen) -- Set tcp_fastopen - luci.sys.exec("sysctl -w net.ipv4.tcp_fastopen=%s" % tcp_fastopen) - luci.sys.exec("sed -i 's:^net.ipv4.tcp_fastopen=[0-3]*:net.ipv4.tcp_fastopen=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_fastopen) + sys.exec("sysctl -w net.ipv4.tcp_fastopen=%s" % tcp_fastopen) + sys.exec("sed -i 's:^net.ipv4.tcp_fastopen=[0-3]*:net.ipv4.tcp_fastopen=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_fastopen) end function disableipv6(disable_ipv6) @@ -452,7 +462,7 @@ function disableipv6(disable_ipv6) ucic:set("openmptcprouter","settings","disable_ipv6",disable_ipv6) ucic:save("openmptcprouter") ucic:commit("openmptcprouter") - luci.sys.call("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") + sys.exec("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") end function externalcheck(externalcheck) @@ -463,7 +473,7 @@ end function savevnstat(savevnstat) -- Enable/disable save vnstat - luci.sys.exec("uci -q set vnstat.@vnstat[0].backup=%s" % savevnstat) + sys.exec("uci -q set vnstat.@vnstat[0].backup=%s" % savevnstat) ucic:commit("vnstat") end @@ -522,17 +532,17 @@ end function update_vps() -- Update VPS - ucic:foreach("openmptcprouter", "server", function(s) - local serverip = ucic:get("openmptcprouter",s[".name"],"ip") - local adminport = ucic:get("openmptcprouter",s[".name"],"port") or "65500" - local token = ucic:get("openmptcprouter",s[".name"],"token") or "" + local vpsgettoken = sys.exec("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") + ucic:foreach("openmptcprouter", "server", function(section) + local servername = section[".name"] + local serverip = section["ip"] or "" + local adminport = section["port"] or "65500" + local token = section["token"] or "" if token ~= "" then - sys.exec('curl -4 --max-time 20 -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ":" .. adminport .. "/update") - luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") - luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/status")) - return + local updatevps = sys.exec('curl -4 --max-time 20 -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ":" .. adminport .. "/update") end end) + local vpsgettoken = sys.exec("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") end function get_ip(interface)