1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Merge branch 'develop' into qsdk

This commit is contained in:
suyuan 2022-09-12 01:57:37 +08:00
commit abdbfd047e
163 changed files with 28844 additions and 2415 deletions

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bcm27xx-eeprom
PKG_VERSION:=2fec47bd7f981c9cb21b0fb3fdd4fe07f23f9e3b
PKG_RELEASE:=4
PKG_VERSION:=v2022.04.26-138a1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/raspberrypi/rpi-eeprom/tar.gz/$(PKG_VERSION)?
PKG_HASH:=f54c26ec399801dee7d3d0cc0e969c28878b6f42c982e166c863edb91d2d2a21
PKG_HASH:=7c54839e68f226c5853fb63c8a1539b729d84b2e6bac311a51766c601d10a413
PKG_LICENSE:=BSD-3-Clause Custom
PKG_LICENSE_FILES:=LICENSE
@ -21,7 +21,7 @@ TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define Package/bcm27xx-eeprom
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=bcm27xx-userland +blkid +pciutils +python3-light +coreutils +coreutils-od
DEPENDS:=bcm27xx-userland +blkid +coreutils +coreutils-od +pciutils +python3-light
TITLE:=BCM27xx EEPROM tools
endef
@ -43,6 +43,7 @@ define Package/bcm27xx-eeprom/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-config $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-digest $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-update $(1)/usr/bin
$(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader

View file

@ -0,0 +1,33 @@
From 8376ac74390af0ad736c88615e128b82a75eebc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Fri, 19 Feb 2021 10:54:23 +0100
Subject: [PATCH] rpi-eeprom-update: chmod silent (-f) is not supported
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
rpi-eeprom-update | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/rpi-eeprom-update
+++ b/rpi-eeprom-update
@@ -200,7 +200,7 @@ applyRecoveryUpdate()
|| 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 go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" \
|| die "Failed to set permissions on eeprom update files"
fi
@@ -211,7 +211,7 @@ applyRecoveryUpdate()
|| die "Failed to copy ${VL805_UPDATE_IMAGE} to ${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 go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" \
|| die "Failed to set permissions on eeprom update files"
fi

View file

@ -1,24 +0,0 @@
--- a/rpi-eeprom-update 2020-11-05 21:58:02.247836497 +0100
+++ b/rpi-eeprom-update 2020-11-05 21:58:36.911266307 +0100
@@ -212,8 +212,8 @@
|| 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" \
- || die "Failed to set permissions on eeprom update files"
+ #chmod -f go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" \
+ # || die "Failed to set permissions on eeprom update files"
fi
if [ -n "${VL805_UPDATE_IMAGE}" ]; then
@@ -224,8 +224,8 @@
|| die "Failed to copy ${VL805_UPDATE_IMAGE} to ${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" \
- || die "Failed to set permissions on eeprom update files"
+ #chmod -f go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" \
+ # || die "Failed to set permissions on eeprom update files"
fi
cp -f "${RECOVERY_BIN}" "${BOOTFS}/recovery.bin" \

View file

@ -0,0 +1,22 @@
--- a/rpi-eeprom-config
+++ b/rpi-eeprom-config
@@ -166,8 +166,8 @@ def edit_config(eeprom=None):
"""
Implements something like 'git commit' for editing EEPROM configs.
"""
- # Default to nano if $EDITOR is not defined.
- editor = 'nano'
+ # Default to vi if $EDITOR is not defined.
+ editor = 'vi'
if 'EDITOR' in os.environ:
editor = os.environ['EDITOR']
@@ -428,7 +428,7 @@ Operating modes:
To cancel the pending update run 'sudo rpi-eeprom-update -r'
- The default text editor is nano and may be overridden by setting the 'EDITOR'
+ The default text editor is vi and may be overridden by setting the 'EDITOR'
environment variable and passing '-E' to 'sudo' to preserve the environment.
6. Signing the bootloader config file.

9
contributors/ta264.md Normal file
View file

@ -0,0 +1,9 @@
2022-08-26
I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00.
I furthermore declare that I am authorized and able to make this agreement and sign this declaration.
Signed,
ta264 https://github.com/ta264

113
fast-classifier/Makefile Executable file → Normal file
View file

@ -1,109 +1,10 @@
#
# Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
obj-$(CONFIG_FAST_CLASSIFIER) += fast-classifier.o
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
ifeq ($(SFE_SUPPORT_IPV6),)
SFE_SUPPORT_IPV6=y
endif
ccflags-$(SFE_SUPPORT_IPV6) += -DSFE_SUPPORT_IPV6
PKG_NAME:=fast-classifier
PKG_RELEASE:=3
ccflags-y += -I$(obj)/../shortcut-fe
include $(INCLUDE_DIR)/package.mk
define KernelPackage/fast-classifier/Default
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Support
DEPENDS:=+kmod-ipt-conntrack +kmod-shortcut-fe
TITLE:=Kernel driver for FAST Classifier
FILES:=$(PKG_BUILD_DIR)/fast-classifier.ko
KCONFIG:= \
CONFIG_NF_CONNTRACK_EVENTS=y \
CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \
CONFIG_NF_CONNTRACK_MARK=y \
CONFIG_XFRM=y
CONFLICTS:=kmod-shortcut-fe-drv kmod-shortcut-fe-cm
endef
define KernelPackage/fast-classifier
$(call KernelPackage/fast-classifier/Default)
endef
define KernelPackage/fast-classifier-noload
$(call KernelPackage/fast-classifier/Default)
endef
define KernelPackage/fast-classifier/Default/description
FAST Classifier talks to SFE to make decisions about offloading connections
endef
define KernelPackage/fast-classifier/description
$(call KernelPackage/fast-classifier/Default/description)
endef
define KernelPackage/fast-classifier-noload/description
$(call KernelPackage/fast-classifier/Default/description)
This package does not load fast-classifier at boot by default
endef
define Package/fast-classifier-example
TITLE:=Example user space program for fast-classifier
DEPENDS:=+libnl +kmod-fast-classifier
endef
define Package/fast-classifier-example/description
Example user space program that communicates with fast
classifier kernel module
endef
HAVE_ECM:=$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-standard)
define Build/Compile/kmod
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
$(KERNEL_MAKE_FLAGS) \
$(PKG_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)" \
CONFIG_FAST_CLASSIFIER=m \
EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" \
$(if $(HAVE_ECM),EXTRA_CFLAGS+="-DCONFIG_SFE_ECM" CONFIG_SFE_ECM=y,) \
modules
endef
define Build/Compile/example
$(TARGET_CC) -o $(PKG_BUILD_DIR)/userspace_fast_classifier \
-I $(PKG_BUILD_DIR) \
-I$(STAGING_DIR)/usr/include/libnl \
-I$(STAGING_DIR)/usr/include/libnl3 \
-lnl-genl-3 -lnl-3 \
$(PKG_BUILD_DIR)/nl_classifier_test.c
endef
define Build/Compile
$(Build/Compile/kmod)
$(if $(CONFIG_PACKAGE_fast-classifier-example),$(Build/Compile/example))
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/fast-classifier.h $(1)/usr/include/
endef
define Package/fast-classifier-example/install
$(INSTALL_DIR) $(1)/sbin
$(CP) $(PKG_BUILD_DIR)/userspace_fast_classifier $(1)/sbin/
endef
$(eval $(call KernelPackage,fast-classifier))
#$(eval $(call KernelPackage,fast-classifier-noload))
#$(eval $(call BuildPackage,fast-classifier-example))
obj ?= .

File diff suppressed because it is too large Load diff

View file

@ -56,6 +56,8 @@ start_instance() {
_log "starting ${PROG_NAME} ${1} instance $*"
host=$(resolveip $host)
if [ "$mode" = "to" ]; then
bind="bind from addr :: port 5000 to addr $host port $port"
else

View file

@ -145,11 +145,11 @@ return view.extend({
o = s.taboption('general', form.Flag, 'masq', _('Masquerading'));
o.editable = true;
o = s.taboption('general', form.Flag, 'fullcone', _('Full Cone'));
o.editable = true;
o.depends('masq', '1');
o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamp'));
o.modalonly = true;
o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamping'));
o.modalonly = true;

View file

@ -37,11 +37,11 @@ msgstr ""
"Prüfung auf transparenten Transport von MPTCP-Paketen zwischen Anschluss und "
"Server."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "Überlauf-Steuerung"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr ""
@ -51,7 +51,7 @@ msgstr ""
msgid "Current:"
msgstr "derzeit:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#, fuzzy
msgid "Default is cubic"
msgstr "Voreinstellung ist 'bbr'"
@ -76,11 +76,11 @@ msgstr "Fehler"
msgid "Established connections"
msgstr "aufgebaute Verbindungen"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr ""
"Datenströme im vollvermaschter Betrieb für die jeweiligen Gegegenstellen-"
@ -105,7 +105,7 @@ msgstr "Ankommend:"
msgid "Interface"
msgstr "Schnittstelle"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "Anschluss-Einstellungen"
@ -150,11 +150,11 @@ msgid "Multipath Debug"
msgstr "Mehrfachausbreitungspfad-Analyse"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "Multipath-TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "Multipath TCP SYN Wiederholungen"
@ -166,11 +166,17 @@ msgstr "Multipath TCP Prüfummen"
msgid "Multipath TCP path-manager"
msgstr "Multipath TCP Pfadkontrolle"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "Multpath TCP Priorisierungskontrolle"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
#, fuzzy
#| msgid "Multipath TCP"
msgid "Multipath TCP version"
msgstr "Multipath-TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "Netlink-Layer"
@ -184,7 +190,7 @@ msgstr ""
"tcp.org/pmwiki.php/Users/ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/"
"Users/ConfigureMPTCP</a> (english)."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "Ein Anschluss muss als 'primär' defininiert werden."
@ -200,7 +206,7 @@ msgstr "Abgehend:"
msgid "Peak:"
msgstr "Spitze:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "Wiederverbindungs-Wartezeit der Vollvermaschungs-Verbindungen"
@ -217,6 +223,12 @@ msgstr "Einstellungen"
msgid "Test"
msgstr "Test"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr "Upstream:"
@ -228,36 +240,36 @@ msgstr "Upstream:"
msgid "Waiting for command to complete..."
msgstr "Warte auf Abschluss der Aufgaben"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "Sicherung"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "Voreinstellung"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "ausschalten"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "aus"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "anschalten"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "an"
@ -295,14 +307,26 @@ msgstr "kBytes/s"
msgid "kbit/s"
msgstr "kBit/s"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "primär"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "ndiff-Ports Verbindungs-Nummer"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""
#~ msgid "BLEST"
#~ msgstr "Blockierungsvorhersage-Betrieb"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-04-30 16:16+0000\n"
"PO-Revision-Date: 2022-08-10 18:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationsmptcp/fr/>\n"
@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.5.2\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775
msgid "(%d minute window, %d second interval)"
@ -38,13 +38,13 @@ msgstr "Bande passante"
msgid "Check if MPTCP between interface and server is working."
msgstr "Vérifiez si MPTCP entre l'interface et le serveur fonctionne."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "Contrôle de la congestion"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr ""
msgstr "Segments consécutifs à envoyer pour round robin"
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314
@ -52,7 +52,7 @@ msgstr ""
msgid "Current:"
msgstr "Actuellement :"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Default is cubic"
msgstr "La valeur par défaut est cubic"
@ -75,11 +75,12 @@ msgstr "Erreur"
msgid "Established connections"
msgstr "Connexions établies"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr ""
"Remplir la fenêtre de congestion de tous les sous-flux pour round robin"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr "Sous-flux Fullmesh pour chaque paire d'adresses IP"
@ -105,7 +106,7 @@ msgstr "Entrant :"
msgid "Interface"
msgstr "Interface"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "Paramètres des interfaces"
@ -150,11 +151,11 @@ msgid "Multipath Debug"
msgstr "Débogage multipath"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "Tentatives Multipath TCP SYN"
@ -166,11 +167,15 @@ msgstr "Somme de contrôle Multipath TCP"
msgid "Multipath TCP path-manager"
msgstr "Gestionnaire de chemins Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "Planificateur Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
msgid "Multipath TCP version"
msgstr "Version de Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "Netlink"
@ -184,7 +189,7 @@ msgstr ""
"php/Users/ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/Users/"
"ConfigureMPTCP</a> pour de l'aide."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "Une interface doit être configuré en temps que maître"
@ -200,7 +205,7 @@ msgstr "Sortant :"
msgid "Peak:"
msgstr "Pointe :"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "Recréer les sous-flux fullmesh après le délai d'expiration"
@ -215,7 +220,15 @@ msgstr "Paramètres"
#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65
msgid "Test"
msgstr "Essai"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
"Le nombre d'intervalles de retransmission au niveau de MPTCP sans trafic et "
"en attente de données sur un sous-flux requis pour le déclarer obsolète"
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
@ -228,36 +241,36 @@ msgstr "Envoie :"
msgid "Waiting for command to complete..."
msgstr "En attente de la réponse de la commande..."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "remplaçant"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "Défaut"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "Désactive"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "Désactivé"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "Active"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "Activé"
@ -295,14 +308,30 @@ msgstr "Ko/s"
msgid "kbit/s"
msgstr "kbit/s"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "maître"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "Nombre de sous-flux ndiffports"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
"spécifie le nombre maximum de sous-options ADD_ADDR acceptées pour chaque "
"connexion MPTCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""
"spécifie le nombre maximum de sous-flux ADD_ADDR acceptées pour chaque "
"connexion MPTCP"
#~ msgid "binder"
#~ msgstr "lier"

View file

@ -35,11 +35,11 @@ msgstr "Larghezza banda"
msgid "Check if MPTCP between interface and server is working."
msgstr "Controlla se MPTCP tra l'interfaccia e il server funziona."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "Controllo della congestione"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr ""
@ -49,7 +49,7 @@ msgstr ""
msgid "Current:"
msgstr "Corrente:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#, fuzzy
msgid "Default is cubic"
msgstr "L&#39;impostazione predefinita è bbr"
@ -74,11 +74,11 @@ msgstr "Errore"
msgid "Established connections"
msgstr "Connessioni stabilite"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr "Flussi secondari fullmesh per ogni coppia di indirizzi IP"
@ -101,7 +101,7 @@ msgstr "In entrata:"
msgid "Interface"
msgstr "Interfaccia"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "Impostazioni delle interfacce"
@ -146,11 +146,11 @@ msgid "Multipath Debug"
msgstr "Debug multipath"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "Multipath TCP SYN riprova"
@ -162,11 +162,17 @@ msgstr "Multipath TCP checksum"
msgid "Multipath TCP path-manager"
msgstr "Multipath TCP path-manager"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "Multipath TCP scheduler"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
#, fuzzy
#| msgid "Multipath TCP"
msgid "Multipath TCP version"
msgstr "Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "Netlink"
@ -177,7 +183,7 @@ msgid ""
"ConfigureMPTCP</a> for help."
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "Un'interfaccia deve essere impostata come master"
@ -193,7 +199,7 @@ msgstr "Upload:"
msgid "Peak:"
msgstr "Picco:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "Ricrea i flussi secondari fullmesh dopo un timeout"
@ -210,6 +216,12 @@ msgstr "Impostazioni"
msgid "Test"
msgstr "Test"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr "Upload:"
@ -221,36 +233,36 @@ msgstr "Upload:"
msgid "Waiting for command to complete..."
msgstr "In attesa del completamento del comando ..."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "backup"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "predefinito"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "disabilita"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "disabilitato"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "Attivare"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "Abilitato"
@ -288,14 +300,26 @@ msgstr "kB/s"
msgid "kbit/s"
msgstr "kbit/s"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "Principale"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "ndiffports subflows number"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""
#~ msgid "BLEST"
#~ msgstr "BLEST"

View file

@ -35,11 +35,11 @@ msgstr "Benda passanta"
msgid "Check if MPTCP between interface and server is working."
msgstr "Verificar se MPTCP entre linterfàcia e lo servidor fonciona."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "Contraròtle de congestion"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr ""
@ -49,7 +49,7 @@ msgstr ""
msgid "Current:"
msgstr "Actualament:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#, fuzzy
msgid "Default is cubic"
msgstr "Per defaut bbr"
@ -74,11 +74,11 @@ msgstr "Error"
msgid "Established connections"
msgstr "Connexions establidas"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr "Jos flux Fullmesh per cada parelh dadreças IP"
@ -101,7 +101,7 @@ msgstr "Dintrant:"
msgid "Interface"
msgstr "Interfàcia"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "Paramètres de las interfàcias"
@ -146,11 +146,11 @@ msgid "Multipath Debug"
msgstr "Desbugatge multipath"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "Ensages Multipath TCP SYN"
@ -162,11 +162,17 @@ msgstr "Sòma de contraròtle Multipath TCP"
msgid "Multipath TCP path-manager"
msgstr "Gestionari dels camins Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "Planificator Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
#, fuzzy
#| msgid "Multipath TCP"
msgid "Multipath TCP version"
msgstr "Multipath TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "Ligam ret"
@ -180,7 +186,7 @@ msgstr ""
"Users/ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/Users/"
"ConfigureMPTCP</a> per dajuda."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "Una interfàcia deu èsser configurada coma principala"
@ -196,7 +202,7 @@ msgstr "Sortent:"
msgid "Peak:"
msgstr "Punta:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "Tornar crear los jos-flus fullmesh aprèp lo relambi dexpiracion"
@ -213,6 +219,12 @@ msgstr "Paramètres"
msgid "Test"
msgstr "Pròva"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr "Mandadís:"
@ -224,36 +236,36 @@ msgstr "Mandadís:"
msgid "Waiting for command to complete..."
msgstr "En espèra duna responsa de la comanda..."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "subordinat"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "Defaut"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "desactivar"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "desactivat"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "Activar"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "Activat"
@ -291,14 +303,26 @@ msgstr "kB/s"
msgid "kbit/s"
msgstr "kbit/s"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "màger"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "Nombre de jos-flux ndiffports"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""
#, fuzzy
#~ msgid "BLEST"
#~ msgstr "BLEST"

View file

@ -36,11 +36,11 @@ msgstr "Пропускная способность"
msgid "Check if MPTCP between interface and server is working."
msgstr "Проверьте, работает ли MPTCP между интерфейсом и сервером."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "Контроль перегрузки"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr "Последовательные сегменты, которые следует отправлять для round-robin"
@ -50,7 +50,7 @@ msgstr "Последовательные сегменты, которые сле
msgid "Current:"
msgstr "Текущая:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Default is cubic"
msgstr "По умолчанию кубический"
@ -73,11 +73,11 @@ msgstr "Ошибка"
msgid "Established connections"
msgstr "Установленные соединения"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr "Заполнение окна перегрузки для всех подпотоков для round-robin"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr "Подпотоки Fullmesh для каждой пары IP-адресов"
@ -102,7 +102,7 @@ msgstr "Входящий:"
msgid "Interface"
msgstr "Интерфейс"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "Настройки интерфейсов"
@ -147,11 +147,11 @@ msgid "Multipath Debug"
msgstr "Многоуровневая отладка"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "Многопоточный TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "Попытки многопоточной TCP SYN"
@ -163,11 +163,17 @@ msgstr "Контрольная сумма многопоточного TCP"
msgid "Multipath TCP path-manager"
msgstr "Многопоточный TCP менеджер"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "Планировщик многопоточного TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
#, fuzzy
#| msgid "Multipath TCP"
msgid "Multipath TCP version"
msgstr "Многопоточный TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "Netlink"
@ -181,7 +187,7 @@ msgstr ""
"Users/ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/Users/"
"ConfigureMPTCP</a> для справки."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "Один интерфейс должен быть установлен как главный"
@ -197,7 +203,7 @@ msgstr "Отправка:"
msgid "Peak:"
msgstr "Пиковое значение:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "Повторно создать подпотоки fullmesh после тайм-аута"
@ -214,6 +220,12 @@ msgstr "Настройки"
msgid "Test"
msgstr "Тест"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr "Отправка:"
@ -225,36 +237,36 @@ msgstr "Отправка:"
msgid "Waiting for command to complete..."
msgstr "Ожидание завершения команды..."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "Резервирование"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "По умолчанию"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "отключить"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "отключить"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "включить"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "Установлено"
@ -292,10 +304,22 @@ msgstr "kB/s"
msgid "kbit/s"
msgstr "kbit/s"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "мастер"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "количество подпотоков ndiffports"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""

View file

@ -26,11 +26,11 @@ msgstr ""
msgid "Check if MPTCP between interface and server is working."
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr ""
@ -40,7 +40,7 @@ msgstr ""
msgid "Current:"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Default is cubic"
msgstr ""
@ -63,11 +63,11 @@ msgstr ""
msgid "Established connections"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr ""
@ -90,7 +90,7 @@ msgstr ""
msgid "Interface"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr ""
@ -135,11 +135,11 @@ msgid "Multipath Debug"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr ""
@ -151,11 +151,15 @@ msgstr ""
msgid "Multipath TCP path-manager"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
msgid "Multipath TCP version"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr ""
@ -166,7 +170,7 @@ msgid ""
"ConfigureMPTCP</a> for help."
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr ""
@ -182,7 +186,7 @@ msgstr ""
msgid "Peak:"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr ""
@ -199,6 +203,12 @@ msgstr ""
msgid "Test"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr ""
@ -210,36 +220,36 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr ""
@ -277,10 +287,22 @@ msgstr ""
msgid "kbit/s"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""

View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-06-02 09:51+0000\n"
"Last-Translator: antrouter <xinyangla@188.com>\n"
"PO-Revision-Date: 2022-08-12 19:29+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"Language-Team: Chinese (Simplified) <http://weblate.openmptcprouter.com/"
"projects/omr/luciapplicationsmptcp/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.6.1\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775
msgid "(%d minute window, %d second interval)"
@ -35,11 +35,11 @@ msgstr "带宽"
msgid "Check if MPTCP between interface and server is working."
msgstr "检查接口和服务器之间的MPTCP是否正常工作."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Congestion Control"
msgstr "阻塞控制"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97
msgid "Consecutive segments that should be sent for round robin"
msgstr "连续轮播应发送的连续段"
@ -49,7 +49,7 @@ msgstr "连续轮播应发送的连续段"
msgid "Current:"
msgstr "实时:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
msgid "Default is cubic"
msgstr "默认设置 cubic"
@ -72,11 +72,11 @@ msgstr "错误"
msgid "Established connections"
msgstr "建立的连接"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91
msgid "Fill the congestion window on all subflows for round robin"
msgstr "在循环的所有子流上填充拥塞窗口"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74
msgid "Fullmesh subflows for each pair of IP addresses"
msgstr "每对IP地址的全网格子流"
@ -89,9 +89,7 @@ msgid ""
"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then "
"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's "
"blocked."
msgstr ""
"如果最后得到“ TCPOptionMPTCPCapable发件人的密钥”则支持MPTCP。unesdoc.unesco.org "
"unesdoc.unesco.org 如果存在“ -TCPOptionMPTCPCapable”则将其阻止。"
msgstr "如果您在末尾获得“TCPOptionMPTCPCapable [...] Sender 's Key” 则支持MPTCP"
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929
msgid "Inbound:"
@ -101,7 +99,7 @@ msgstr "入站:"
msgid "Interface"
msgstr "接口"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104
msgid "Interfaces Settings"
msgstr "网卡设置"
@ -146,11 +144,11 @@ msgid "Multipath Debug"
msgstr "Multipath 调试"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "Multipath TCP"
msgstr "多路径TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42
msgid "Multipath TCP SYN retries"
msgstr "多路径 TCP SYN 重试"
@ -162,11 +160,16 @@ msgstr "多路径TCP校验和"
msgid "Multipath TCP path-manager"
msgstr "多路径TCP路径管理器"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31
msgid "Multipath TCP scheduler"
msgstr "多路径TCP调度程序"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47
#, fuzzy
msgid "Multipath TCP version"
msgstr "多路径TCP"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28
msgid "Netlink"
msgstr "网络链接"
@ -180,7 +183,7 @@ msgstr ""
"ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP4</"
"a> 获取更多的支持."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108
msgid "One interface must be set as master"
msgstr "必须设置一个网卡为主接口"
@ -196,7 +199,7 @@ msgstr "出站:"
msgid "Peak:"
msgstr "峰值:"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
msgid "Re-create fullmesh subflows after a timeout"
msgstr "超时后重新创建全网格子流"
@ -213,6 +216,12 @@ msgstr "设置"
msgid "Test"
msgstr "测试"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69
msgid ""
"The number of MPTCP-level retransmission intervals with no traffic and "
"pending outstanding data on a given subflow required to declare it stale"
msgstr ""
#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914
msgid "Upload:"
msgstr "上传:"
@ -224,36 +233,36 @@ msgstr "上传:"
msgid "Waiting for command to complete..."
msgstr "等待命令完成..."
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112
msgid "backup"
msgstr "备份"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32
msgid "default"
msgstr "默认"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93
msgid "disable"
msgstr "禁用"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110
msgid "disabled"
msgstr "禁用"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92
msgid "enable"
msgstr "启用"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109
msgid "enabled"
msgstr "启用"
@ -291,14 +300,26 @@ msgstr "kB/秒"
msgid "kbit/s"
msgstr "kbit/秒"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111
msgid "master"
msgstr "主"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85
msgid "ndiffports subflows number"
msgstr "ndiffports子流数"
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64
msgid ""
"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP "
"connection"
msgstr ""
#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59
msgid ""
"specifies the maximum number of additional subflows allowed for each MPTCP "
"connection"
msgstr ""
#~ msgid "BLEST"
#~ msgstr "最好的"

View file

@ -223,6 +223,9 @@ return L.view.extend({
o.noinactive = true;
o.nocreate = true;
o = s.option(form.Flag, 'ndpi', _('Enable ndpi'));
o.default = o.enabled;
o = s.option(form.Value, 'note', _('Note'));
o.rmempty = true;

View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-10-02 08:44+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"PO-Revision-Date: 2022-02-21 21:14+0000\n"
"Last-Translator: Deleted User <noreply+28@weblate.org>\n"
"Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationsomr-bypass/it/>\n"
"Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0.4\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166
#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174
@ -32,7 +32,7 @@ msgstr "Domini"
#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171
#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190
msgid "Enabled"
msgstr ""
msgstr "Abilitato"
#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3
msgid "Grant access to ndpi resources"

View file

@ -1,2 +1,2 @@
#!/bin/sh
/etc/init.d/omr-bypass reload_rules
[ -z "$(pgrep -f omr-bypass)" ] && /etc/init.d/omr-bypass reload_rules

View file

@ -334,6 +334,7 @@ _bypass_proto() {
config_get proto $1 proto
config_get intf $1 interface
config_get enabled $1 enabled
config_get ndpi $1 ndpi
[ "$enabled" = "0" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
@ -341,17 +342,19 @@ _bypass_proto() {
[ -z "$intf" ] && intf="all"
[ -z "$proto" ] && return
if [ "$(uci -q get openmptcprouter.settings.ndpi)" != "0" ]; then
if [ "$(uci -q get openmptcprouter.settings.ndpi)" != "0" ] && [ "$ndpi" != "0" ]; then
if [ "$intf" = "all" ]; then
iptables-restore -w --wait=60 --noflush <<-EOF
*mangle
-A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539
-A omr-bypass-dpi -m mark --mark 0x539 -j RETURN
COMMIT
EOF
if [ "$disableipv6" = "0" ]; then
ip6tables-restore -w --wait=60 --noflush <<-EOF
*mangle
-A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539
-A omr-bypass6-dpi -m mark --mark 0x6539 -j RETURN
COMMIT
EOF
fi
@ -359,12 +362,14 @@ _bypass_proto() {
iptables-restore -w --wait=60 --noflush <<-EOF
*mangle
-A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539$intfid
-A omr-bypass-dpi -m mark --mark 0x539$intfid -j RETURN
COMMIT
EOF
if [ "$disableipv6" = "0" ]; then
ip6tables-restore -w --wait=60 --noflush <<-EOF
*mangle
-A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539$intfid
-A omr-bypass6-dpi -m mark --mark 0x6539$intfid -j RETURN
COMMIT
EOF
fi
@ -464,18 +469,32 @@ _intf_rule_v2ray_rules() {
#rule_name=$1
#[ "$rule_name" = "ss_rules" ] && rule_name="def"
rule_name="def"
if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_pre_src)" != "" ] && [ "$(iptables-save | grep v2r | grep omr_dst_bypass_$intf)" = "" ]; then
if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_dst)" != "" ] && [ "$(iptables-save | grep v2r_${rule_name}_dst | grep omr_dst_bypass_$intf)" = "" ]; then
iptables-restore -w --wait=60 --noflush <<-EOF
*nat
-I v2r_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count
-I v2r_${rule_name}_dst 2 -m mark --mark 0x539$count -j RETURN
COMMIT
EOF
fi
if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_local_out)" != "" ] && [ "$(iptables-save | grep v2r_${rule_name}_local_out | grep omr_dst_bypass_$intf)" = "" ]; then
iptables-restore -w --wait=60 --noflush <<-EOF
*nat
-I v2r_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count
-I v2r_${rule_name}_local_out 2 -m mark --mark 0x539$count -j RETURN
COMMIT
EOF
fi
if [ "$(iptables --wait=40 -t nat -L -n | grep v2r_${rule_name}_pre_src)" != "" ] && [ "$(iptables-save | grep v2r_${rule_name}_pre_src | grep omr_dst_bypass_$intf)" = "" ]; then
iptables-restore -w --wait=60 --noflush <<-EOF
*nat
-I v2r_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count
-I v2r_${rule_name}_pre_src 2 -m mark --mark 0x539$count -j RETURN
COMMIT
EOF
fi
if [ "$disableipv6" = "0" ]; then
if [ "$(ip6tables-save | grep omr-bypass6 | grep omr6_dst_bypass_$intf)" = "" ]; then
ip6tables-restore -w --wait=60 --noflush <<-EOF
@ -544,7 +563,9 @@ _intf_rule() {
iptables-restore -w --wait=60 --noflush <<-EOF
*mangle
-I omr-bypass 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count
-I omr-bypass 2 -m mark --mark 0x539$count -j RETURN
-I omr-bypass-local 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count
-I omr-bypass-local 2 -m mark --mark 0x539$count -j RETURN
COMMIT
EOF
fi
@ -602,7 +623,7 @@ _ss_rules_config() {
iptables-restore -w --wait=60 --noflush <<-EOF
*nat
-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}_dst 2 -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
@ -641,7 +662,7 @@ _v2ray_rules_config() {
iptables-restore -w --wait=60 --noflush <<-EOF
*nat
-I v2r_${rule_name}_dst 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539
-I v2r_${rule_name}_dst 1 -m mark --mark 0x539 -j RETURN
-I v2r_${rule_name}_dst 2 -m mark --mark 0x539 -j RETURN
-I v2r_${rule_name}_local_out 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539
-I v2r_${rule_name}_local_out 2 -m mark --mark 0x539 -j RETURN
-I v2r_${rule_name}_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539
@ -699,13 +720,13 @@ start_service() {
iptables-restore -w --wait=60 --noflush <<-EOF
*mangle
:omr-bypass -
-I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass
-A PREROUTING -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
-A OUTPUT -m addrtype ! --dst-type LOCAL -j omr-bypass-local
COMMIT
EOF
if [ "$disableipv6" = "0" ]; then
@ -713,7 +734,7 @@ start_service() {
ip6tables-restore -w --wait=60 --noflush <<-EOF
*mangle
:omr-bypass6 -
-I PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6
-A PREROUTING -j omr-bypass6
COMMIT
EOF
fi
@ -760,11 +781,13 @@ start_service() {
iptables-restore -w --wait=60 --noflush <<-EOF
*mangle
-A omr-bypass -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539
-A omr-bypass -m mark --mark 0x539 -j RETURN
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
-A omr-bypass-local -m mark --mark 0x539 -j RETURN
COMMIT
EOF
fi
@ -777,9 +800,8 @@ start_service() {
iptables-restore -w --wait=60 --noflush <<-EOF
*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
-A INPUT -j omr-bypass-dpi
-A FORWARD -j omr-bypass-dpi
COMMIT
EOF
if [ "$disableipv6" = "0" ]; then
@ -787,9 +809,8 @@ start_service() {
ip6tables-restore -w --wait=60 --noflush <<-EOF
*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
-A INPUT -j omr-bypass6-dpi
-A FORWARD -j omr-bypass6-dpi
COMMIT
EOF
fi

View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-09-21 12:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"PO-Revision-Date: 2022-02-21 21:14+0000\n"
"Last-Translator: Deleted User <noreply+28@weblate.org>\n"
"Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationsomr-dscp/it/>\n"
"Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0.4\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21
#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73
@ -93,7 +93,7 @@ msgstr "Servizi differenziati"
#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29
msgid "Direction"
msgstr ""
msgstr "Direzione"
#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15
msgid "Domain"

View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-09-21 12:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"PO-Revision-Date: 2022-02-20 20:24+0000\n"
"Last-Translator: tiziano <tiziano@suonovivo.com>\n"
"Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationsomr-quota/it/>\n"
"Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0.4\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8
msgid "Add"
@ -24,7 +24,7 @@ msgstr ""
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10
msgid "Interfaces"
msgstr "Interfaccia"
msgstr "Interfacce"
#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33
msgid "Interval between check (s)"

View file

@ -1,18 +1,18 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-09-21 12:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"PO-Revision-Date: 2022-02-20 20:24+0000\n"
"Last-Translator: tiziano <tiziano@suonovivo.com>\n"
"Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationsomr-tracker/it/>\n"
"Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0.4\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8
msgid "Add"
msgstr ""
msgstr "Aggiungi"
#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117
#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192
@ -69,7 +69,7 @@ msgstr ""
#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154
msgid "Interfaces"
msgstr ""
msgstr "Interfacce"
#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9
msgid "Invalid"

View file

@ -584,10 +584,12 @@ function wizard_add()
ucic:set("openmptcprouter",server,"get_config","1")
end
ucic:set("openmptcprouter",server,"master","1")
ucic:set("openmptcprouter",server,"current","1")
ucic:set("openmptcprouter",server,"backup","0")
else
ucic:set("openmptcprouter",server,"get_config","0")
ucic:set("openmptcprouter",server,"master","0")
ucic:set("openmptcprouter",server,"current","0")
ucic:set("openmptcprouter",server,"backup","1")
end
if openmptcprouter_vps_disabled == "1" then
@ -640,7 +642,7 @@ function wizard_add()
ucic:set("v2ray","main","enabled","0")
ucic:foreach("shadowsocks-libev", "server", function(s)
local sectionname = s[".name"]
if sectionname:match("^sss.*") then
if sectionname:match("^sss.*") and ucic:get("shadowsocks-libev",sectionname,"server") ~= "" then
ucic:set("shadowsocks-libev",sectionname,"disabled","0")
end
end)
@ -709,7 +711,7 @@ function wizard_add()
local nbip = 0
for _, ssip in pairs(server_ips) do
ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip)
if default_proxy == "shadowsocks" and serversnb > disablednb then
if default_proxy == "shadowsocks" and serversnb > disablednb and ssip ~= "" then
ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0")
end
nbip = nbip + 1
@ -747,7 +749,7 @@ function wizard_add()
local nbip = 0
for _, ssip in pairs(server_ips) do
ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip)
if default_proxy == "shadowsocks" and serversnb > disablednb then
if default_proxy == "shadowsocks" and serversnb > disablednb and ssip ~= "" then
ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0")
end
nbip = nbip + 1
@ -843,8 +845,8 @@ function wizard_add()
end
else
if serversnb == 0 then
ucic:set("shadowsocks-libev","sss0","disabled",shadowsocks_disable)
ucic:set("shadowsocks-libev","sss1","disabled",shadowsocks_disable)
ucic:set("shadowsocks-libev","sss0","disabled","1")
ucic:set("shadowsocks-libev","sss1","disabled","1")
end
ucic:set("shadowsocks-libev","sss0","key","")
ucic:set("shadowsocks-libev","sss1","key","")
@ -1153,6 +1155,10 @@ function settings_add()
local shadowsocksudp = luci.http.formvalue("shadowsocksudp") or "0"
ucic:set("openmptcprouter","settings","shadowsocksudp",shadowsocksudp)
-- Enable/disable v2ray udp
local shadowsocksudp = luci.http.formvalue("v2rayudp") or "1"
ucic:set("v2ray","main_transparent_proxy","redirect_udp",v2rayudp)
-- Enable/disable nDPI
local ndpi = luci.http.formvalue("ndpi") or "1"
ucic:set("openmptcprouter","settings","ndpi",ndpi)

View file

@ -291,6 +291,12 @@
<input type="checkbox" name="shadowsocksudp" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","settings","shadowsocksudp") == "1" then %>checked<% end %>>
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:When proxy V2Ray is used, use it for UDP%></label>
<div class="cbi-value-field">
<input type="checkbox" name="v2rayudp" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("v2ray","main_transparent_proxy","redirect_udp") == "1" then %>checked<% end %>>
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Disable default gateway%></label>
<div class="cbi-value-field">

View file

@ -514,13 +514,13 @@
<%
end
%>
<div class="cbi-value" id="cbi-network-<%=ifname%>-address" data-depends="[{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;static&#34;},{&#34;cbid.network.<%=ifname%>.type&#34;:&#34;macvlan&#34;}]" data-index="5">
<div class="cbi-value" id="cbi-network-<%=ifname%>-address" data-depends="[{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;static&#34;},{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;other&#34;},{&#34;cbid.network.<%=ifname%>.type&#34;:&#34;macvlan&#34;}]" data-index="5">
<label class="cbi-value-title"><%:IPv4 address%></label>
<div class="cbi-value-field">
<input type="text" id="cbid.network.<%=ifname%>.ipaddr" name="cbid.network.<%=ifname%>.ipaddr" class="cbi-input-text" value="<%=uci:get("network",ifname,"ipaddr")%>" data-type="ip4addr">
</div>
</div>
<div class="cbi-value" id="cbi-network-<%=ifname%>-netmask" data-depends="[{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;static&#34;},{&#34;cbid.network.<%=ifname%>.type&#34;:&#34;macvlan&#34;}]" data-index="6">
<div class="cbi-value" id="cbi-network-<%=ifname%>-netmask" data-depends="[{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;static&#34;},{&#34;cbid.network.<%=ifname%>.proto&#34;:&#34;other&#34;},{&#34;cbid.network.<%=ifname%>.type&#34;:&#34;macvlan&#34;}]" data-index="6">
<label class="cbi-value-title"><%:IPv4 netmask%></label>
<div class="cbi-value-field">
<input type="text" id="cbid.network.<%=ifname%>.netmask" name="cbid.network.<%=ifname%>.netmask" class="cbi-input-text" value="<%=uci:get("network",ifname,"netmask") or "255.255.255.0"%>" data-type="ip4addr">

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -39,7 +39,7 @@ _set_intf_name() {
}
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
[ "$existif" = "1" ] && ip link set ${ifname}tmp name ${INTERFACE} 2>&1 >/dev/null
fi
fi
elif [ -f /dev/${DEVICE_NAME} ] && [ -n "$MODALIAS" ] && [ "$modalias" = "$MODALIAS" ]; then

View file

@ -11,7 +11,7 @@ local jsonc = require "luci.jsonc"
function interface_from_device(dev)
for _, iface in ipairs(net:get_networks()) do
local ifacen = iface:name()
local ifacename = ucic:get("network",ifacen,"ifname")
local ifacename = ucic:get("network",ifacen,"device")
if ifacename == dev then
return ifacen
end
@ -72,7 +72,7 @@ function add_interface(add_interface_ifname)
end
ucic:set("network","wan" .. i,"interface")
ucic:set("network","wan" .. i,"ifname",defif)
ucic:set("network","wan" .. i,"device",defif)
ucic:set("network","wan" .. i,"proto","static")
if ointf ~= "" then
ucic:set("network","wan" .. i,"type","macvlan")
@ -93,8 +93,8 @@ function add_interface(add_interface_ifname)
ucic:set("qos","wan" .. i,"interface")
ucic:set("qos","wan" .. i,"classgroup","Default")
ucic:set("qos","wan" .. i,"enabled","0")
ucic:set("qos","wan" .. i,"upload","4000")
ucic:set("qos","wan" .. i,"download","100000")
ucic:set("qos","wan" .. i,"upload","1000000")
ucic:set("qos","wan" .. i,"download","1000000")
ucic:save("qos")
ucic:commit("qos")
@ -128,7 +128,7 @@ end
function remove_interface(intf)
-- Remove existing interface
local defif = ucic:get("network",intf,"ifname")
local defif = ucic:get("network",intf,"device")
ucic:delete("network",intf)
ucic:delete("network",intf .. "_dev")
ucic:save("network")
@ -163,14 +163,14 @@ function set_interface(intf,proto,ipaddr,netmask,gateway,sqmenabled,downloadspee
ucic:set("qos",intf,"interface")
ucic:set("qos",intf,"classgroup","Default")
ucic:set("qos",intf,"enabled","0")
ucic:set("qos",intf,"upload","4000")
ucic:set("qos",intf,"upload","100000")
ucic:set("qos",intf,"download","100000")
end
if not ucic:get("sqm",intf) ~= "" then
local defif = get_device(intf)
if defif == "" then
defif = ucic:get("network",intf,"ifname") or ""
defif = ucic:get("network",intf,"device") or ""
end
ucic:set("sqm",intf,"queue")
ucic:set("sqm",intf,"interface",defif)
@ -268,7 +268,7 @@ function default_vpn(default_vpn)
ucic:set("network","omrvpn","proto","dhcp")
end
if vpn_intf ~= "" then
ucic:set("network","omrvpn","ifname",vpn_intf)
ucic:set("network","omrvpn","device",vpn_intf)
ucic:save("network")
ucic:commit("network")
end
@ -931,6 +931,11 @@ function interfaces_status()
else
mArray.openmptcprouter["vps_admin"] = false
mArray.openmptcprouter["vps_admin_error_msg"] = "No result"
uci:set("openmptcprouter",s[".name"],"admin_error","1")
mArray.openmptcprouter["vps_admin_error"] = true
uci:delete("openmptcprouter",s[".name"],"token")
uci:save("openmptcprouter",s[".name"])
uci:commit("openmptcprouter",s[".name"])
end
else
mArray.openmptcprouter["vps_admin"] = false
@ -961,7 +966,10 @@ function interfaces_status()
if string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?glorytun(-udp)?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?dsvpn?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?mlvpn?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?openvpn?$'"), "%d+") then
mArray.openmptcprouter["tun_service"] = true
mArray.openmptcprouter["tun_ip"] = get_ip("omrvpn")
local tun_dev = uci:get("network","omrvpn","ifname")
local tun_dev = uci:get("network","omrvpn","device")
if tun_dev == "" then
tun_dev = uci:get("network","omrvpn","ifname")
end
if tun_dev == "" then
tun_dev = get_device("omrvpn")
end
@ -1027,10 +1035,17 @@ function interfaces_status()
end
mArray.openmptcprouter["shadowsocks_enabled"] = true
local ss_server = uci:get("shadowsocks-libev","sss0","disabled") or "0"
local ss_server = "1"
ucic:foreach("shadowsocks-libev", "server", function(s)
local ss_server_disabled = uci:get("shadowsocks-libev",s[".name"],"disabled") or "0"
if ss_server_disabled == "0" then
ss_server = "0"
end
end)
if ss_server == "1" then
mArray.openmptcprouter["shadowsocks_enabled"] = false
end
-- check V2Ray is running
mArray.openmptcprouter["v2ray_service"] = false
if string.find(sys.exec("/usr/bin/pgrep v2ray"), "%d+") then
@ -1139,14 +1154,14 @@ function interfaces_status()
local ifname = get_device(interface)
if ifname == "" or ifname == nil then
ifname = section["ifname"] or ""
ifname = section["device"] or ""
end
--if ifname ~= nil and ifname:match("^tun.*") and interface:match("^ovpn.*") then
--ifname = get_device(interface:sub(5))
--end
duplicateif = false
if ifname ~= "" and ifname ~= nil and not (section["ifname"] ~= nil and section["ifname"]:match("^@.*")) then
if ifname ~= "" and ifname ~= nil and not (section["device"] ~= nil and section["device"]:match("^@.*")) and (proto == "static" or proto == "dhcp") then
if allintf[ifname] then
connectivity = "ERROR"
duplicateif = true
@ -1156,7 +1171,7 @@ function interfaces_status()
end
duplicatemac = false
if mac ~= "" and mac ~= nil and not (section["ifname"] ~= nil and section["ifname"]:match("^@.*")) then
if mac ~= "" and mac ~= nil and not (section["device"] ~= nil and section["device"]:match("^@.*")) and not (ifname ~= nil and ifname:match("%.")) then
if allmac[mac] then
connectivity = "ERROR"
duplicatemac = true
@ -1230,18 +1245,10 @@ function interfaces_status()
-- Detect WAN gateway status
local gw_ping = "UP"
local gw_ping6 = "UP"
if ifname ~= nil and not (ifname:match("^tun.*") or interface:match("^ovpn.*") or interface:match("^wg.*")) then
if proto ~= "dhcpv6" then
gateway = ut.trim(sys.exec("ip -4 r list dev " .. ifname .. " | grep via | grep -v default | grep -v metric | awk '{print $1}' | tr -d '\n'"))
end
if ipv6 == "1" or ipv6 == "auto" then
gateway6 = ut.trim(sys.exec("ip -6 r list dev " .. ifname .. " | grep via | grep -v default | grep -v metric | awk '{print $1}' | tr -d '\n'"))
end
end
if gateway == "" and proto ~= "dhcpv6" then
gateway = get_gateway(interface)
end
if gateway == "" and ifname ~= nil and ifname ~= "" and ipv6 ~= "1" and ipv6 ~= "auto" then
if fs.access("/sys/class/net/" .. ifname) then
gateway = ut.trim(sys.exec("ip -4 r list dev " .. ifname .. " | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d '\n'"))
@ -1250,6 +1257,11 @@ function interfaces_status()
end
end
end
if ifname ~= nil and not (ifname:match("^tun.*") or interface:match("^ovpn.*") or interface:match("^wg.*")) then
if proto ~= "dhcpv6" and gateway == "" then
gateway = ut.trim(sys.exec("ip -4 r list dev " .. ifname .. " | grep via | grep -v default | grep -v metric | awk '{print $1}' | tr -d '\n'"))
end
end
if gateway6 == "" and (ipv6 == "1" or ipv6 == "auto") then
gateway6 = get_gateway6(interface)
end
@ -1261,6 +1273,11 @@ function interfaces_status()
end
end
end
if ifname ~= nil and not (ifname:match("^tun.*") or interface:match("^ovpn.*") or interface:match("^wg.*")) then
if ipv6 == "1" or ipv6 == "auto" and gateway6 == ""then
gateway6 = ut.trim(sys.exec("ip -6 r list dev " .. ifname .. " | grep via | grep -v default | grep -v metric | awk '{print $1}' | tr -d '\n'"))
end
end
local signal = ""
local operator = ""
local phonenumber = ""
@ -1371,7 +1388,8 @@ function interfaces_status()
if adminport == "" then
adminport = "65500"
end
if server_ping == "UP" and uci:get("openmptcprouter", "settings", "disableserverhttptest") ~= "1" and ipaddr ~= "" and adminport ~= "" then
-- httping disable for now, with -l (ssl) timeout is ignored
if false and server_ping == "UP" and uci:get("openmptcprouter", "settings", "disableserverhttptest") ~= "1" and ipaddr ~= "" and adminport ~= "" then
local server_http_result = ""
local server_http_test = ""
if mArray.openmptcprouter["service_addr_ip"] ~= "" then

View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-09-21 12:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"PO-Revision-Date: 2022-02-21 21:14+0000\n"
"Last-Translator: Deleted User <noreply+28@weblate.org>\n"
"Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationssnmpd/it/>\n"
"Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0.4\n"
"X-Generator: Weblate 4.10.1\n"
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82
msgid "Access"
@ -51,13 +51,13 @@ msgstr "Abilitato"
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132
msgid "Exec"
msgstr ""
msgstr "Esegui"
#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6
#: luci-app-snmpd/luasrc/view/snmpd.htm:21
#: luci-app-snmpd/luasrc/view/snmpd.htm:48
msgid "General"
msgstr ""
msgstr "Generale"
#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3
msgid "Grant UCI access for luci-app-snmpd"

0
luci-app-sqm-autorate/Makefile Normal file → Executable file
View file

View file

0
luci-app-sqm-autorate/po/ar/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/bg/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/bn_BD/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ca/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/cs/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/da/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/de/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/el/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/en/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/es/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/fi/sqm.po Normal file → Executable file
View file

12
luci-app-sqm-autorate/po/fr/sqm.po Normal file → Executable file
View file

@ -1,14 +1,14 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-08-08 14:26+0000\n"
"Last-Translator: ButterflyOfFire <ButterflyOfFire@protonmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssqm/fr/>\n"
"PO-Revision-Date: 2022-08-10 18:51+0000\n"
"Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n"
"Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/"
"luciapplicationssqm-autorate/fr/>\n"
"Language: fr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.2-dev\n"
"X-Generator: Weblate 4.10.1\n"
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:183
msgid ""
@ -49,7 +49,7 @@ msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:58
msgid "Enable SQM"
msgstr ""
msgstr "Active SQM"
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:78
msgid "Enable this SQM instance."

0
luci-app-sqm-autorate/po/he/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/hi/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/hu/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/it/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ja/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ko/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/mr/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ms/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/nb_NO/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/pl/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/pt/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/pt_BR/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ro/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/ru/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/sk/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/sv/sqm.po Normal file → Executable file
View file

164
luci-app-sqm-autorate/po/templates/sqm.pot Normal file → Executable file
View file

@ -1,199 +1,265 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:183
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:207
msgid ""
"Advanced option string to pass to the egress queueing disciplines; no error "
"checking, use very carefully."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:180
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:204
msgid ""
"Advanced option string to pass to the ingress queueing disciplines; no error "
"checking, use very carefully."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:72
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:75
msgid "Autorate settings"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:96
msgid "Base download speed (kbit/s) (ingress):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:110
msgid "Base upload speed (kbit/s) (egress):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:72
msgid "Basic Settings"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:100
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:124
msgid ""
"Create log file for this SQM instance under /var/run/sqm/${Interface_name}."
"[start|stop]-sqm.log."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:92
msgid ""
"Download speed (kbit/s) (ingress) set to 0 to selectively disable ingress "
"shaping:"
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:259
msgid "Debug"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:58
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:58
msgid "Enable SQM"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:78
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:90
msgid "Enable SQM autorate"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:79
msgid "Enable this SQM instance."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:148
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:172
msgid ""
"Explicit congestion notification (ECN) status on inbound packets (ingress):"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:154
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:178
msgid ""
"Explicit congestion notification (ECN) status on outbound packets (egress)."
msgstr ""
#: applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json:3
#: luci-app-sqm-autorate/root/usr/share/rpcd/acl.d/luci-app-sqm.json:3
msgid "Grant UCI access for luci-app-sqm"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:168
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:192
msgid "Hard limit on egress queues; leave empty for default."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:164
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:188
msgid "Hard limit on ingress queues; leave empty for default."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:142
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:166
msgid "Ignore DSCP on ingress:"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:89
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:93
msgid "Interface name"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:176
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:200
msgid ""
"Latency target for egress, e.g. 5ms [units: s, ms, or us]; leave empty for "
"automatic selection, put in the word default for the qdisc's default."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:172
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:196
msgid ""
"Latency target for ingress, e.g 5ms [units: s, ms, or us]; leave empty for "
"automatic selection, put in the word default for the qdisc's default."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:74
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:74
msgid "Link Layer Adaptation"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:203
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:227
msgid ""
"Maximal Size for size and rate calculations, tcMTU (byte); needs to be >= "
"interface MTU + overhead:"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:213
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:105
msgid "Maximum download speed (kbit/s):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:119
msgid "Maximum upload speed (kbit/s):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:237
msgid ""
"Minimal packet size, MPU (byte); needs to be > 0 for ethernet size tables:"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:208
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:100
msgid "Minimum download speed (kbit/s):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:114
msgid "Minimum upload speed (kbit/s):"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:136
msgid "Must be set to cake if autorate is used."
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:232
msgid ""
"Number of entries in size/rate tables, TSIZE; for ATM choose TSIZE = (tcMTU "
"+ 1) / 16:"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:193
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:287
msgid "Number of seconds to wait on startup:"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:255
msgid "Output monitoring lines showing cake bandwidth changes"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:251
msgid "Output monitoring lines showing processing stats"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:217
msgid "Per Packet Overhead (byte):"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:73
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:267
msgid "Pingers numbers:"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:73
msgid "Queue Discipline"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:120
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:144
msgid "Queue setup script"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:71
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:71
msgid "Queues"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:112
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:136
msgid ""
"Queuing disciplines useable on this system. After installing a new qdisc, "
"you need to restart the router to see updates!"
msgstr ""
#: applications/luci-app-sqm/root/usr/share/luci/menu.d/luci-app-sqm.json:3
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:263
msgid "Reflector ping interval in seconds:"
msgstr ""
#: luci-app-sqm-autorate/root/usr/share/luci/menu.d/luci-app-sqm.json:3
msgid "SQM QoS"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:199
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:223
msgid ""
"Show Advanced Linklayer Options, (only needed if MTU > 1500). Advanced "
"options will only be used as long as this box is checked."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:133
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:157
msgid ""
"Show and Use Advanced Configuration. Advanced options will only be used as "
"long as this box is checked."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:160
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:184
msgid ""
"Show and Use Dangerous Configuration. Dangerous options will only be used as "
"long as this box is checked."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:64
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:275
msgid "Sleep functionnality"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:64
msgid "Smart Queue Management"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:136
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:160
msgid "Squash DSCP on inbound packets (ingress):"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:83
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:84
msgid ""
"The SQM GUI has just enabled the sqm initscript on your behalf. Remember to "
"disable the sqm initscript manually under System Startup menu in case this "
"change was not wished for."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:48
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:48
msgid ""
"The SQM service seems to be disabled. Please use the button below to "
"activate this service."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:96
msgid ""
"Upload speed (kbit/s) (egress) set to 0 to selectively disable egress "
"shaping:"
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:279
msgid "Threshold in Kbit/s below which dl/ul is considered idle"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:103
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:283
msgid ""
"Time threshold to put pingers to sleep on substained dl/ul achieved rate < "
"idle_threshold"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:127
msgid "Verbosity of SQM's output into the system log."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:187
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:211
msgid "Which link layer to account for:"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:218
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:242
msgid "Which linklayer adaptation mechanism to use; for testing only"
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:65
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:65
msgid ""
"With <abbr title=\"Smart Queue Management\">SQM</abbr> you can enable "
"traffic shaping, better mixing (Fair Queueing), active queue length "
"management (AQM) and prioritisation on one network interface."
msgstr ""
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:107
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:149
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:155
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:188
#: applications/luci-app-sqm/htdocs/luci-static/resources/view/network/sqm.js:219
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:131
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:173
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:179
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:212
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:243
msgid "default"
msgstr ""
#: luci-app-sqm-autorate/htdocs/luci-static/resources/view/network/sqm.js:271
msgid "delay threshold in ms:"
msgstr ""

0
luci-app-sqm-autorate/po/tr/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/uk/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/vi/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/zh_Hans/sqm.po Normal file → Executable file
View file

0
luci-app-sqm-autorate/po/zh_Hant/sqm.po Normal file → Executable file
View file

View file

@ -25,7 +25,7 @@ _launch_autorate() {
# shellcheck disable=SC2086
procd_set_param command /usr/share/sqm-autorate/CAKE-autorate.sh "$1"
# procd_append_param env "OMR_TRACKER_SERVER_HTTP_TEST=$server_http_test"
procd_set_param limits nofile="51200 51200"
procd_set_param limits nofile="512000 512000"
procd_set_param respawn 0 10 0
procd_set_param stderr 1
procd_close_instance

View file

View file

View file

@ -19,7 +19,9 @@ cleanup_and_killall()
echo "Killing all background processes and cleaning up /tmp files."
trap - INT TERM EXIT
kill $monitor_achieved_rates_pid 2> /dev/null
# Initiate termination of ping processes and wait until complete
kill $maintain_pingers_pid 2> /dev/null
wait $maintain_pingers_pid
[[ -d /tmp/CAKE-autorate-${dl_if} ]] && rm -r /tmp/CAKE-autorate-${dl_if}
exit
}
@ -45,35 +47,42 @@ get_next_shaper_rate()
case $load_condition in
# upload Starlink satelite switching compensation, so drop down to minimum rate for upload through switching period
ul*sss)
shaper_rate_kbps=$min_shaper_rate_kbps
;;
# download Starlink satelite switching compensation, so drop down to base rate for download through switching period
dl*sss)
shaper_rate_kbps=$base_shaper_rate_kbps
;;
# bufferbloat detected, so decrease the rate providing not inside bufferbloat refractory period
*delayed)
*bb*)
if (( $t_next_rate_us > ($t_last_bufferbloat_us+$bufferbloat_refractory_period_us) )); then
adjusted_achieved_rate_kbps=$(( ($achieved_rate_kbps*$achieved_rate_adjust_bufferbloat)/1000 ))
adjusted_shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_bufferbloat)/1000 ))
adjusted_achieved_rate_kbps=$(( ($achieved_rate_kbps*$achieved_rate_adjust_down_bufferbloat)/1000 ))
adjusted_shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_down_bufferbloat)/1000 ))
shaper_rate_kbps=$(( $adjusted_achieved_rate_kbps < $adjusted_shaper_rate_kbps ? $adjusted_achieved_rate_kbps : $adjusted_shaper_rate_kbps ))
t_last_bufferbloat_us=${EPOCHREALTIME/./}
fi
;;
# high load, so increase rate providing not inside bufferbloat refractory period
high)
*high*)
if (( $t_next_rate_us > ($t_last_bufferbloat_us+$bufferbloat_refractory_period_us) )); then
shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_load_high)/1000 ))
shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_up_load_high)/1000 ))
fi
;;
# medium load, so just maintain rate as is, i.e. do nothing
medium)
*med*)
:
;;
# low or idle load, so determine whether to decay down towards base rate, decay up towards base rate, or set as base rate
low|idle)
*low*|*idle*)
if (($t_next_rate_us > ($t_last_decay_us+$decay_refractory_period_us) )); then
if (($shaper_rate_kbps > $base_shaper_rate_kbps)); then
decayed_shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_load_low)/1000 ))
decayed_shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_down_load_low)/1000 ))
shaper_rate_kbps=$(( $decayed_shaper_rate_kbps > $base_shaper_rate_kbps ? $decayed_shaper_rate_kbps : $base_shaper_rate_kbps))
elif (($shaper_rate_kbps < $base_shaper_rate_kbps)); then
decayed_shaper_rate_kbps=$(( ((2000-$shaper_rate_adjust_load_low)*$shaper_rate_kbps)/1000 ))
decayed_shaper_rate_kbps=$(( ($shaper_rate_kbps*$shaper_rate_adjust_up_load_low)/1000 ))
shaper_rate_kbps=$(( $decayed_shaper_rate_kbps < $base_shaper_rate_kbps ? $decayed_shaper_rate_kbps : $base_shaper_rate_kbps))
fi
@ -122,7 +131,7 @@ monitor_achieved_rates()
prev_tx_bytes=$tx_bytes
# read in the max_wire_packet_rtt_us
concurrent_read max_wire_packet_rtt_us /tmp/CAKE-autorate-${dl_if}/max_wire_packet_rtt_us
concurrent_read_positive_integer max_wire_packet_rtt_us /tmp/CAKE-autorate-${dl_if}/max_wire_packet_rtt_us
compensated_monitor_achieved_rates_interval_us=$(( (($monitor_achieved_rates_interval_us>(10*$max_wire_packet_rtt_us) )) ? $monitor_achieved_rates_interval_us : $((10*$max_wire_packet_rtt_us)) ))
@ -134,8 +143,8 @@ get_loads()
{
# read in the dl/ul achived rates and determine the loads
concurrent_read dl_achieved_rate_kbps /tmp/CAKE-autorate-${dl_if}/dl_achieved_rate_kbps
concurrent_read ul_achieved_rate_kbps /tmp/CAKE-autorate-${dl_if}/ul_achieved_rate_kbps
concurrent_read_positive_integer dl_achieved_rate_kbps /tmp/CAKE-autorate-${dl_if}/dl_achieved_rate_kbps
concurrent_read_positive_integer ul_achieved_rate_kbps /tmp/CAKE-autorate-${dl_if}/ul_achieved_rate_kbps
dl_load_percent=$(((100*10#${dl_achieved_rate_kbps})/$dl_shaper_rate_kbps))
ul_load_percent=$(((100*10#${ul_achieved_rate_kbps})/$ul_shaper_rate_kbps))
@ -152,14 +161,25 @@ classify_load()
if (( $load_percent > $high_load_thr_percent )); then
load_condition="high"
elif (( $load_percent > $medium_load_thr_percent )); then
load_condition="medium"
load_condition="med"
elif (( $achieved_rate_kbps > $connection_active_thr_kbps )); then
load_condition="low"
else
load_condition="idle"
fi
(($bufferbloat_detected)) && load_condition=$load_condition"_delayed"
(($bufferbloat_detected)) && load_condition=$load_condition"_bb"
if ((sss_compensation)); then
for sss_time_us in "${sss_times_us[@]}"
do
((timestamp_usecs_past_minute=${EPOCHREALTIME/./}%60000000))
if (( ($timestamp_usecs_past_minute > ($sss_time_us-$sss_compensation_pre_duration_us)) && ($timestamp_usecs_past_minute < ($sss_time_us+$sss_compensation_post_duration_us)) )); then
load_condition=$load_condition"_sss"
break
fi
done
fi
}
monitor_reflector_responses()
@ -245,7 +265,7 @@ maintain_pingers()
for ((pinger=0; pinger<$no_pingers; pinger++))
do
reflector_check_time_us=${EPOCHREALTIME/./}
concurrent_read reflector_last_timestamp_us /tmp/CAKE-autorate-${dl_if}/reflector_${pinger}_last_timestamp_us
concurrent_read_positive_integer reflector_last_timestamp_us /tmp/CAKE-autorate-${dl_if}/reflector_${pinger}_last_timestamp_us
declare -n reflector_offences="reflector_${pinger}_offences"
(( ${reflector_offences[$reflector_offences_idx]} )) && ((sum_reflector_offences[$pinger]--))
@ -367,7 +387,7 @@ update_max_wire_packet_compensation()
printf '%s' "$max_wire_packet_rtt_us" > /tmp/CAKE-autorate-${dl_if}/max_wire_packet_rtt_us
}
concurrent_read()
concurrent_read_positive_integer()
{
# in the context of separate processes writing using > and reading form file
# it seems costly calls to the external flock binary can be avoided
@ -376,10 +396,20 @@ concurrent_read()
local -n value=$1
local path=$2
read -r value < $path
while [[ -z $value ]]; do
sleep_us $concurrent_read_interval_us
while true
do
read -r value < $path;
if [[ -z "${value##*[!0-9]*}" ]]; then
if (($debug)); then
read -r caller_output< <(caller)
echo "DEBUG concurrent_read_positive_integer() misfire with the following particulars:"
echo "DEBUG caller="$caller_output"; value="$value"; and path="$path
fi
sleep_us $concurrent_read_positive_integer_interval_us
continue
else
break
fi
done
}
@ -474,10 +504,11 @@ verify_ifs_up
# Convert human readable parameters to values that work with integer arithmetic
printf -v alpha_baseline_increase %.0f\\n "${alpha_baseline_increase}e3"
printf -v alpha_baseline_decrease %.0f\\n "${alpha_baseline_decrease}e3"
printf -v achieved_rate_adjust_bufferbloat %.0f\\n "${achieved_rate_adjust_bufferbloat}e3"
printf -v shaper_rate_adjust_bufferbloat %.0f\\n "${shaper_rate_adjust_bufferbloat}e3"
printf -v shaper_rate_adjust_load_high %.0f\\n "${shaper_rate_adjust_load_high}e3"
printf -v shaper_rate_adjust_load_low %.0f\\n "${shaper_rate_adjust_load_low}e3"
printf -v achieved_rate_adjust_down_bufferbloat %.0f\\n "${achieved_rate_adjust_down_bufferbloat}e3"
printf -v shaper_rate_adjust_down_bufferbloat %.0f\\n "${shaper_rate_adjust_down_bufferbloat}e3"
printf -v shaper_rate_adjust_up_load_high %.0f\\n "${shaper_rate_adjust_up_load_high}e3"
printf -v shaper_rate_adjust_down_load_low %.0f\\n "${shaper_rate_adjust_down_load_low}e3"
printf -v shaper_rate_adjust_up_load_low %.0f\\n "${shaper_rate_adjust_up_load_low}e3"
printf -v high_load_thr_percent %.0f\\n "${high_load_thr}e2"
printf -v medium_load_thr_percent %.0f\\n "${medium_load_thr}e2"
printf -v reflector_ping_interval_us %.0f\\n "${reflector_ping_interval_s}e6"
@ -488,9 +519,16 @@ bufferbloat_refractory_period_us=$(( 1000*$bufferbloat_refractory_period_ms ))
decay_refractory_period_us=$(( 1000*$decay_refractory_period_ms ))
delay_thr_us=$(( 1000*$delay_thr_ms ))
for (( i=0; i<${#sss_times_s[@]}; i++ ));
do
printf -v sss_times_us[i] %.0f\\n "${sss_times_s[i]}e6"
done
printf -v sss_compensation_pre_duration_us %.0f\\n "${sss_compensation_pre_duration_ms}e3"
printf -v sss_compensation_post_duration_us %.0f\\n "${sss_compensation_post_duration_ms}e3"
ping_response_interval_us=$(($reflector_ping_interval_us/$no_pingers))
concurrent_read_interval_us=$(($ping_response_interval_us/4))
concurrent_read_positive_integer_interval_us=$(($ping_response_interval_us/4))
dl_shaper_rate_kbps=$base_dl_shaper_rate_kbps
ul_shaper_rate_kbps=$base_ul_shaper_rate_kbps
@ -533,12 +571,20 @@ monitor_achieved_rates_pid=$!
prev_timestamp=0
if (($debug)); then
if (( $bufferbloat_refractory_period_us <= ($bufferbloat_detection_window*$ping_response_interval_us) )); then
echo "DEBUG Warning: bufferbloat refractory period: " $bufferbloat_refractory_period_us " us."
echo "DEBUG Warning: but expected time to overwrite samples in bufferbloat detection window is: " $(($bufferbloat_detection_window*$ping_response_interval_us)) " us."
echo "DEBUG Warning: Consider increasing bufferbloat refractory period or decreasing bufferbloat detection window."
fi
fi
while true
do
while read -t $global_ping_response_timeout_s -r timestamp reflector seq rtt_baseline_us rtt_us rtt_delta_us
do
t_start_us=${EPOCHREALTIME/./}
if ((($t_start_us - "${timestamp//[[\[\].]}")>500000)); then
if ((($t_start_us - 10#"${timestamp//[[\[\].]}")>500000)); then
(($debug)) && echo "DEBUG processed response from [" $reflector "] that is > 500ms old. Skipping."
continue
fi
@ -556,6 +602,9 @@ do
classify_load $dl_load_percent $dl_achieved_rate_kbps dl_load_condition
classify_load $ul_load_percent $ul_achieved_rate_kbps ul_load_condition
dl_load_condition="dl_"$dl_load_condition
ul_load_condition="ul_"$ul_load_condition
get_next_shaper_rate $min_dl_shaper_rate_kbps $base_dl_shaper_rate_kbps $max_dl_shaper_rate_kbps $dl_achieved_rate_kbps $dl_load_condition $t_start_us t_dl_last_bufferbloat_us t_dl_last_decay_us dl_shaper_rate_kbps
get_next_shaper_rate $min_ul_shaper_rate_kbps $base_ul_shaper_rate_kbps $max_ul_shaper_rate_kbps $ul_achieved_rate_kbps $ul_load_condition $t_start_us t_ul_last_bufferbloat_us t_ul_last_decay_us ul_shaper_rate_kbps
@ -584,8 +633,9 @@ do
ul_shaper_rate_kbps=$min_ul_shaper_rate_kbps
set_shaper_rates
# Kill off ping processes
# Initiate termination of ping processes and wait until complete
kill $maintain_pingers_pid 2> /dev/null
wait $maintain_pingers_pid
# reset idle timer
t_sustained_connection_idle_us=0

View file

View file

@ -70,7 +70,7 @@
<%- if current_omr_version ~= "" and latest_omr_version ~= "" and current_omr_version < latest_omr_version then -%>
<div class="alert-message notice">
<p><%=translatef("你的蚂蚁聚合openmptcprouter of china商业版 版本号 %s 最新 版本号 %s 现在可以升级",current_omr_version,latest_omr_version)%></p>
<div class="right"><a class="btn" href="https://55860.com/serverstatus.php"><%:点击查看最新版本...%></a></div>
<div class="right"><a class="btn" href="https://55860.com/serverstatus.php"><%:点击查看最新版本 请联系客服进行升级...%></a></div>
</div>
<%- end -%>
<div class="alert-message notice">

View file

@ -170,6 +170,7 @@ interface_multipath_settings() {
[ -n "$(ifconfig | grep $iface)" ] || return 0
[ "$(echo $iface | grep _dev)" != "" ] && return 0
[ "$(echo $iface | grep '^if')" != "" ] && return 0
[ "$iface" = "lo" ] && return 0
if [ "$mode" = "master" ]; then
multipath "$iface" "on"
@ -262,8 +263,8 @@ interface_multipath_settings() {
EOF
else
#echo "Add routes for $ipaddr table $id"
[ -n "$ipaddr" ] && ip rule add from $ipaddr table $id pref 0
ip rule add oif $iface table $id pref 0
[ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $id)" ] && ip rule add from $ipaddr table $id pref 0
[ -z "$(ip rule show oif $iface table $id)" ] && ip rule add oif $iface table $id pref 0
ip route replace $network/$netmask dev $iface scope link metric $id 2>&1 >/dev/null
ip route replace $network/$netmask dev $iface scope link table $id 2>&1 >/dev/null
ip route replace default via $gateway dev $iface table $id 2>&1 >/dev/null
@ -389,11 +390,15 @@ set_multipath() {
exist=1
fi
done
[ "$exist" = "0" ] && multipath $iface off
[ "$exist" = "0" ] && {
multipath $iface off
}
done
}
add_route() {
config_get disabled "$1" disabled
[ "$disabled" = "1" ] && return 0
config_get target "$1" target
routeset="$target"
config_get netmask "$1" netmask
@ -417,10 +422,14 @@ add_route() {
[ -n "$(echo $iface | grep '@')" ] && iface=$(ifstatus "$interface" | jsonfilter -q -e '@["device"]')
[ -n "$iface" ] && routeset="$routeset dev $iface"
logger -t "MPTCP" "Add route $routeset"
[ -n "$routeset" ] && ip route replace $routeset 2>&1 >/dev/null
[ -n "$routeset" ] && {
ip route replace ${routeset} 2>&1 >/dev/null
}
}
add_route6() {
config_get disabled "$1" disabled
[ "$disabled" = "1" ] && return 0
config_get target "$1" target
routeset="$target"
config_get gateway "$1" gateway
@ -438,7 +447,9 @@ add_route6() {
[ -n "$(echo $iface | grep '@')" ] && iface=$(ifstatus "$interface" | jsonfilter -q -e '@["device"]')
[ -n "$iface" ] && routeset="$routeset dev $iface"
logger -t "MPTCP" "Add IPv6 route $routeset"
[ -n "$routeset" ] && ip -6 route replace $routeset 2>&1 >/dev/null
[ -n "$routeset" ] && {
ip -6 route replace ${routeset} 2>&1 >/dev/null
}
}
remove() {
@ -484,7 +495,7 @@ start_service() {
config_foreach interface_multipath_settings interface $intf
set_multipath
config_foreach add_route route
config_foreach add_route route6
config_foreach add_route6 route6
# If no master is defined, one interface is defined as master
if [ "$master" = "" ] && [ "$intf" = "" ]; then
intfmaster="$mptcpmintf"

View file

@ -134,7 +134,7 @@ else
ID=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $3}')
IFF=$(ip mptcp endpoint show | grep "dev $DEVICE" | awk '{print $4}')
IP=$(ip a show $DEVICE | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
[ -z "$ID" ] && ID=$(ip mptcp endpoint show | grep "$IP" | awk '{print $3}')
[ -z "$ID" ] && [ -n "$IP" ] && ID=$(ip mptcp endpoint show | grep "$IP" | awk '{print $3}')
RMID=$(ip mptcp endpoint show | grep '::ffff' | awk '{ print $3 }')
[ -n "$RMID" ] && ip mptcp endpoint delete id $RMID 2>&1 >/dev/null
case $TYPE in

View file

@ -644,7 +644,7 @@ del_server_route6() {
else
metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)
fi
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip"] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
[ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1
}
config_list_foreach $server ip remove_route
@ -1218,7 +1218,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$multipath_config" = "on" ] || [ "$mul
serverip=$1
#gtudpst="up"
#[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" != "1" ] && [ "$multipath_config" = "backup" ] && [ "$(pgrep glorytun-udp)" != "" ] && gtudpst="backup"
if [ "$OMR_TRACKER_DEVICE_IP" != "" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ] && [ "$(pgrep glorytun-udp)" != "" ] && [ "$(glorytun-udp path | grep $OMR_TRACKER_DEVICE_IP | grep running)" = "" ] && [ -n "$(resolveip -4 $serverip)" ]; then
if [ "$OMR_TRACKER_DEVICE_IP" != "" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ] && [ "$(pgrep glorytun-udp)" != "" ] && [ "$(glorytun-udp path | grep $OMR_TRACKER_DEVICE_IP | grep running)" = "" ] && [ -n "$(resolveip -4 -t 5 $serverip)" ]; then
serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
if [ "$download" != "0" ] && [ "$download" != "" ] && [ "$upload" != "0" ] && [ "$upload" != "" ]; then
if [ "$(uci -q get glorytun-udp.vpn.rateauto)" = "1" ]; then
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx $((upload*1000/8)) rx $((download*1000/8)) pref 1 > /dev/null 2>&1
@ -1233,7 +1234,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$multipath_config" = "on" ] || [ "$mul
fi
fi
fi
if [ "$OMR_TRACKER_DEVICE_IP6" != "" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ] && [ "$(pgrep glorytun-udp)" != "" ] && [ "$(glorytun-udp path | grep $OMR_TRACKER_DEVICE_IP6 | grep running)" = "" ] && [ -n "$(resolveip -6 $serverip)" ]; then
if [ "$OMR_TRACKER_DEVICE_IP6" != "" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ] && [ "$(pgrep glorytun-udp)" != "" ] && [ "$(glorytun-udp path | grep $OMR_TRACKER_DEVICE_IP6 | grep running)" = "" ] && [ -n "$(resolveip -6 -t 5 $serverip)" ]; then
serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
if [ "$download" != "0" ] && [ "$download" != "" ] && [ "$upload" != "0" ] && [ "$upload" != "" ]; then
if [ "$(uci -q get glorytun-udp.vpn.rateauto)" = "1" ]; then
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx $((upload*1000/8)) rx $((download*1000/8)) pref 1 > /dev/null 2>&1
@ -1252,8 +1254,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$multipath_config" = "on" ] || [ "$mul
# glorytun-udp set dev tun0 kxtimeout 7d > /dev/null 2>&1
# fi
[ "$multipath_config" = "backup" ] && [ "$(pgrep glorytun-udp)" != "" ] && {
[ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$(resolveip -4 $serverip)" ] && glorytun-udp path addr $OMR_TRACKER_DEVICE_IP to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set pref 125 > /dev/null 2>&1
[ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$(resolveip -6 $serverip)" ] && glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set pref 125 > /dev/null 2>&1
[ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$(resolveip -4 -t 5 $serverip)" ] && glorytun-udp path addr $OMR_TRACKER_DEVICE_IP to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set pref 125 > /dev/null 2>&1
[ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$(resolveip -6 -t 5 $serverip)" ] && glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set pref 125 > /dev/null 2>&1
}
}
config_list_foreach $1 ip addpath
@ -1372,11 +1374,13 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
traceboxmtutest() {
omr_tracebox_mtu() {
local serverip=$1
[ "$serverip" != "${1#*[0-9].[0-9]}" ] && serverip=""
[ -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" ] && [ -z "$(echo $omrtracebox | grep error)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox"
}
if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
#if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
if [ -n "$(uci -q get network.$(find_network_device ${OMR_TRACKER_INTERFACE}).mtu)" ]; then
network_device=$(find_network_device ${OMR_TRACKER_INTERFACE})
mtu=""
@ -1421,7 +1425,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
}
if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.latest_versions.lc))) -gt 3600 ]; then
local latestversions="$(curl -6 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
local latestversions="$(curl -6 -s -m 3 https://55860.com/bak/version.json)"
[ -n "$latestversions" ] && {
uci -q set openmptcprouter.latest_versions=latest_versions
uci -q set openmptcprouter.latest_versions.omr=$(echo $latestversions | jsonfilter -q -e '@.omr')
@ -1445,11 +1449,13 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
traceboxmtutest() {
omr_tracebox_mtu() {
local serverip=$1
[ "$serverip" != "${1#*:[0-9a-fA-F]}" ] && serverip=""
[ -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" ] && [ -z "$(echo $omrtracebox | grep error)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mptcp_status="$omrtracebox"
}
if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
#if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$(uci -q get glorytun.vpn.enable)" != "1" ] && [ "$(uci -q get glorytun-udp.vpn.enable)" != "1" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
network_device=$(find_network_device ${OMR_TRACKER_INTERFACE})
if [ -n "$network_device" ] && [ -n "$(uci -q get network.${network_device}.mtu)" ]; then
mtu=$(uci -q get network.$(find_network_device ${OMR_TRACKER_INTERFACE}).mtu)
@ -1459,13 +1465,13 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
}
elif [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && {
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
local mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 $serverip)
[ -n "$mtu" ] && {
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
}
} || {
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
local mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 2606:4700:4700::1111)
[ -n "$mtu" ] && {
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
@ -1617,7 +1623,7 @@ if [ "$(pgrep dsvpn)" = "" ] && [ "$(uci -q get dsvpn.vpn.enable)" = "1" ] && [
/etc/init.d/dsvpn restart 2>&1 >/dev/null
sleep 5
fi
if [ "$(pgrep v2ray)" = "" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ]; then
if [ "$(pgrep -f v2ray)" = "" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ]; then
_log "Can't find V2Ray, restart it..."
/etc/init.d/v2ray restart 2>&1 >/dev/null
sleep 5
@ -1686,9 +1692,10 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then
echo 1 > /sys/bus/pci/rescan
fi
if [ -f /etc/init.d/omr-bypass ] && [ "$(iptables-save | grep omr-bypass)" = "" ] && [ "$(pgrep omr-bypass)" = "" ]; then
if [ -f /etc/init.d/omr-bypass ] && [ "$(iptables-save | grep omr-bypass)" = "" ] && [ "$(pgrep -f omr-bypass)" = "" ]; then
_log "Can't find omr-bypass rules, restart omr-bypass..."
/etc/init.d/omr-bypass 2>&1 >/dev/null
sleep 5
fi
if [ -f /etc/backup/installed_packages.txt ] && [ -n "$(grep overlay /etc/backup/installed_packages.txt)" ]; then
@ -1701,6 +1708,11 @@ if [ "$(pgrep openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprouter
sleep 5
fi
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ] && [ -z $(pgrep -f "autorate.sh ${OMR_TRACKER_INTERFACE}") ]; then
/etc/init.d/sqm-autorate restart >/dev/null 2>&1
sleep 5
fi
#if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || [ -z "$(iptables-save | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]); then
if [ "$(pgrep -f set_vps_firewall)" = "" ] && [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && [ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ]; then
check_server_fw() {

79
ndpi-netfilter2/Makefile Executable file
View file

@ -0,0 +1,79 @@
#
# Based on package from https://github.com/openwrt-develop/ndpi-netfilter/
# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ndpi-netfilter2
PKG_RELEASE:=3
PKG_REV:=b19e6392cf0c7d51c44e076a91fc4db0cbbd6403
PKG_VERSION:=4-$(PKG_REV)
PKG_SOURCE_PROTO:=git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/vel21ripn/nDPI.git
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/iptables-mod-ndpi
SUBMENU:=Firewall
SECTION:=net
CATEGORY:=Network
TITLE:=ndpi successor of OpenDPI
URL:=http://www.ntop.org/products/ndpi/
# DEPENDS:=+iptables +iptables-mod-conntrack-extra +kmod-ipt-ndpi +libpcap
DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap
MAINTAINER:=Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
endef
define Package/iptables-mod-ndpi/description
nDPI is a ntop-maintained superset of the popular OpenDPI library
endef
CONFIGURE_CMD=./autogen.sh
CONFIGURE_ARGS += --with-pic
MAKE_PATH:=ndpi-netfilter
MAKE_FLAGS += \
KERNEL_DIR="$(LINUX_DIR)" \
MODULES_DIR="$(TARGET_MODULES_DIR)" \
ARCH="$(LINUX_KARCH)" \
KERNEL_RELEASE="$(KERNEL_PATCHVER)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
CC="$(TARGET_CC)" \
NDPI_PATH=$(PKG_BUILD_DIR)/ndpi-netfilter
define Build/Compile
(cd $(PKG_BUILD_DIR)/src/lib &&\
gcc -g -O2 -fPIC -DPIC -DNDPI_LIB_COMPILATION -I../../src/include/ -I../../src/lib/third_party/include/ ndpi_network_list_compile.c -o ndpi_network_list_compile &&\
./ndpi_network_list_compile -o ndpi_network_list.c.inc ndpi_network_list_*.yaml)
$(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)/ndpi-netfilter
endef
define Package/iptables-mod-ndpi/install
$(INSTALL_DIR) $(1)/usr/lib/iptables
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ndpi-netfilter/ipt/libxt_ndpi.so $(1)/usr/lib/iptables
endef
define KernelPackage/ipt-ndpi
SUBMENU:=Netfilter Extensions
TITLE:= nDPI net netfilter module
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap
KCONFIG:=CONFIG_NF_CONNTRACK_LABELS=y \
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
FILES:= $(PKG_BUILD_DIR)/ndpi-netfilter/src/xt_ndpi.ko
AUTOLOAD:=$(call AutoProbe,xt_ndpi)
endef
$(eval $(call BuildPackage,iptables-mod-ndpi))
$(eval $(call KernelPackage,ipt-ndpi))

View file

@ -0,0 +1,14 @@
--- a/ndpi-netfilter/src/Makefile 2022-08-03 21:27:52.321058402 +0200
+++ b/ndpi-netfilter/src/Makefile 2022-08-03 21:28:27.572452447 +0200
@@ -5,6 +5,11 @@
ccflags-y += -I${src}/${NDPI_SRC}/include -I${src}/${NDPI_SRC}/lib -I${src}/../libre -I${src}/${NDPI_SRC}/lib/third_party/include
ccflags-y += -DHAVE_CONFIG_H -DNDPI_LIB_COMPILATION -DOPENDPI_NETFILTER_MODULE -DNDPI_DETECTION_SUPPORT_IPV6 -g
ccflags-y += -Wno-declaration-after-statement
+ifeq ($(KERNEL_RELEASE),5.15)
+ifeq ($(ARCH),arm64)
+ ccflags-y += -mno-outline-atomics
+endif
+endif
#ccflags-y += -Wshadow-local
# Needed for pahole
#ccflags-y += -femit-struct-debug-detailed=any

View file

@ -0,0 +1,11 @@
--- a/ndpi-netfilter/src/Makefile 2022-08-03 19:15:39.849630013 +0200
+++ b/ndpi-netfilter/src/Makefile 2022-08-03 19:15:57.481336123 +0200
@@ -13,7 +13,7 @@
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
endif
-ifeq ($(shell grep -qc userid $(KERNEL_DIR)/source/include/linux/skbuff.h),1)
+ifeq ($(shell grep -qc userid $(KERNEL_DIR)/include/linux/skbuff.h),1)
ccflags-y += -DUSE_HACK_USERID=1
endif

View file

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# Copyright (C) 2018-2022 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# shellcheck disable=SC2039
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
@ -29,18 +29,10 @@ set_ipv6_state() {
commit firewall
EOF
if [ "$disable_ipv6" == "1" ]; then
if [ "$disable_ipv6" = "1" ]; then
logger -t "omr-6in4" "Disable IPv6"
uci -q batch <<-EOF >/dev/null
set dhcp.lan.ra_default="0"
set network.lan.ipv6="0"
delete network.lan.ipv6
delete dhcp.lan.dhcpv6
delete dhcp.lan.ra
delete dhcp.lan.ra_default
delete dhcp.lan.ra_management
delete dhcp.lan.ra_preference
unbound.ub_main.protocol='ip4_only'
set unbound.@unbound[-1].protocol='ip4_only'
commit unbound
del_list v2ray.main.inbounds="omr6"
commit v2ray
@ -48,34 +40,19 @@ set_ipv6_state() {
config_load shadowsocks-libev
config_foreach set_shadowsocks_address ss_redir "0.0.0.0"
uci -q batch <<-EOF >/dev/null
commit network
commit dhcp
commit shadowsocks-libev
EOF
[ ! -f /etc/wgetrc ] && cp /etc/wgetrc4 /etc/wgetrc
else
logger -t "omr-6in4" "Enable IPv6"
uci -q batch <<-EOF >/dev/null
set dhcp.lan.dhcpv6="server"
set dhcp.lan.ra="server"
set dhcp.lan.ra_default="1"
set dhcp.lan.ra_preference="high"
set dhcp.lan.ra_management="1"
delete dhcp.lan.ra_flags
add_list dhcp.lan.ra_flags='managed-config'
set dhcp.lan.ra_slaac='1'
add_list dhcp.lan.ra_flags='other-config'
set network.lan.ipv6="1"
set network.lan.delegate="0"
set network.omr6in4.force_link=1
set network.omr6in4.metric=1
delete network.omr6in4.auto
unbound.ub_main.protocol='mixed'
set unbound.@unbound[-1].protocol='mixed'
commit unbound
EOF
if [ "$(network.lan.ip6assign)" = "" ]; then
uci -q set network.lan.ip6assign='60'
fi
if [ "$(uci -q get network.globals.ula_prefix)" = "" ]; then
r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"')
r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
@ -106,12 +83,62 @@ set_ipv6_state() {
fi
}
set_ipv6_state_intf() {
local disable_ipv6="$(uci -q get openmptcprouter.settings.disable_ipv6)"
local intf="$1"
config_get ip4table $intf ip4table
config_get ipv6 $intf ipv6 "0"
if [ "$ip4table" = "lan" ]; then
if [ "$disable_ipv6" = "1" ] && [ "$ipv6" != "0" ]; then
logger -t "omr-6in4" "Disable IPv6 on ${intf}"
uci -q batch <<-EOF >/dev/null
set dhcp.${intf}.ra_default="0"
delete network.${intf}.ipv6
delete dhcp.${intf}.dhcpv6
delete dhcp.${intf}.ra
delete dhcp.${intf}.ra_default
delete dhcp.${intf}.ra_management
delete dhcp.${intf}.ra_preference
commit network
commit dhcp
EOF
elif [ "$disable_ipv6" != "1" ] && [ "$ipv6" != "1" ]; then
logger -t "omr-6in4" "Enable IPv6 on ${intf}"
uci -q batch <<-EOF >/dev/null
set dhcp.${intf}.dhcpv6="server"
set dhcp.${intf}.ra="server"
set dhcp.${intf}.ra_default="1"
set dhcp.${intf}.ra_preference="high"
set dhcp.${intf}.ra_management="1"
delete dhcp.${intf}.ra_flags
add_list dhcp.${intf}.ra_flags='managed-config'
set dhcp.${intf}.ra_slaac='1'
add_list dhcp.${intf}.ra_flags='other-config'
set network.${intf}.ipv6="1"
set network.${intf}.delegate="0"
EOF
if [ "$(uci -q get network.${intf}.ip6assign)" = "" ]; then
uci -q set network.${intf}.ip6assign='60'
fi
uci -q batch <<-EOF >/dev/null
commit network
commit dhcp
EOF
fi
fi
}
start_service() {
[ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get network.lan.ipv6)" != "1" ] && set_ipv6_state
[ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && {
config_load network
config_foreach set_ipv6_state_intf interface
set_ipv6_state
}
[ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "0" ] && {
config_load network
config_foreach set_ipv6_state_intf interface
ifdown omr6in4
/etc/init.d/odhcpd stop
[ -z "$(/etc/init.d/odhcpd status | grep inactive)" ] && /etc/init.d/odhcpd stop
return
}
[ "$(ifstatus omr6in4 | jsonfilter -e '@.up' | tr -d '\n')" != "true" ] && ifup omr6in4

View file

@ -91,6 +91,8 @@ _check_master() {
del openvpn.omr.remote
add_list openvpn.omr.remote=$ip
commit openvpn
set openmptcprouter.vps.current='1'
commit openmptcprouter
EOF
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
@ -99,6 +101,7 @@ _check_master() {
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null
fi
fi
config_load shadowsocks-libev
@ -106,6 +109,10 @@ _check_master() {
count=$((count+1))
else
logger -t "OMR-Tracker-Server" "Master server ${name} down ($ip)"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.vps.current='0'
commit openmptcprouter
EOF
config_load shadowsocks-libev
config_foreach _disable_redir ss_redir
fi
@ -162,6 +169,8 @@ _check_backup() {
del openvpn.omr.remote
add_list openvpn.omr.remote=$ip
commit openvpn
set openmptcprouter.vps.current='1'
commit openmptcprouter
EOF
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
@ -170,6 +179,7 @@ _check_backup() {
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null
fi
sleep $waittest
fi
@ -177,6 +187,10 @@ _check_backup() {
config_foreach _enable_redir ss_redir
count=$((count+1))
else
uci -q batch <<-EOF >/dev/null
set openmptcprouter.vps.current='0'
commit openmptcprouter
EOF
config_load shadowsocks-libev
config_foreach _disable_redir ss_redir
fi

View file

@ -1,19 +1,18 @@
config defaults 'defaults'
option enabled '1'
list hosts '4.2.2.1'
list hosts '8.8.8.8'
list hosts '80.67.169.12'
list hosts '8.8.4.4'
list hosts '9.9.9.9'
list hosts '1.0.0.1'
list hosts '114.114.115.115'
list hosts '1.2.4.8'
list hosts '80.67.169.40'
list hosts '114.114.114.114'
list hosts '1.1.1.1'
list hosts '223.5.5.5'
list hosts '223.6.6.6'
list hosts '210.2.4.8'
list hosts '180.76.76.76'
list hosts '182.254.116.116'
list hosts '114.114.115.115'
list hosts '199.85.126.10'
list hosts '199.85.127.10'
list hosts '199.85.126.20'
list hosts '199.85.127.20'
list hosts '199.85.126.30'
list hosts '199.85.126.30'
list hosts '119.29.29.29'
list hosts '182.254.118.118'
list hosts6 '2606:4700:4700::1111'
list hosts6 '2606:4700:4700::1001'
list hosts6 '2620:fe::fe'
@ -26,37 +25,34 @@ config defaults 'defaults'
option interval_tries '1'
option type 'ping'
option wait_test '0'
option server_http_test '1'
option restart_down '0'
option options ''
option server_http_test '0'
option restart_down '1'
option mail_alert '0'
config proxy 'proxy'
option enabled '1'
list hosts '1.0.0.1'
list hosts '123.58.180.8'
list hosts '123.58.180.7'
list hosts '220.181.72.180'
list hosts '14.18.240.29'
list hosts '61.139.244.3'
list hosts '212.27.48.10'
list hosts '106.11.253.86'
list hosts '140.205.60.46'
list hosts '106.11.172.9'
list hosts '106.11.253.83'
list hosts '106.11.249.99'
list hosts '106.11.248.146'
list hosts '140.205.135.3'
list hosts '113.105.165.19'
list hosts '14.215.167.223'
list hosts '198.27.92.1'
list hosts '151.101.129.164'
list hosts '77.88.55.77'
list hosts '1.1.1.1'
list hosts '74.82.42.42'
list hosts '176.103.130.130'
list hosts '125.39.174.154'
list hosts '42.236.94.154'
list hosts '113.207.102.154'
list hosts '180.163.188.24'
list hosts '115.231.187.140'
list hosts '58.211.137.140'
list hosts '117.34.14.140'
list hosts '125.39.174.140'
list hosts '42.236.94.140'
list hosts '113.207.102.140'
list hosts '49.7.40.106'
list hosts '115.231.187.137'
list hosts '113.207.102.137'
list hosts '59.36.206.4'
list hosts '59.36.206.2'
list hosts '59.36.206.1'
list hosts '59.36.206.3'
option timeout '10'
option tries '3'
option wait_test '0'

View file

@ -0,0 +1,21 @@
#!/bin/sh
PKT_SIZE=1472
INTERFACE="$1"
HOSTNAME="$2"
#count=$(ping -q -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME | grep -cE 'Message too long|100% packet loss')
#count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -c 'Message too long')
count=$(ping -6 -B -w 2 -M do -c 3 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -cE 'Message too long|100% packet loss')
while [ $count -ge 1 ]; do
PKT_SIZE=$((PKT_SIZE - 1))
if [ "$PKT_SIZE" -lt "1252" ]; then
exit 0
fi
#count=$(ping -q -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME | grep -cE 'Message too long|100% packet loss')
#count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -c 'Message too long')
count=$(ping -6 -B -w 2 -M do -c 3 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -cE 'Message too long|100% packet loss')
done
printf "$((PKT_SIZE + 28))"

View file

@ -17,7 +17,7 @@ wireguard_restart() {
}
_getremoteip() {
[ "$(uci -q get openmptcprouter.$1.master)" = "1" ] && {
[ "$(uci -q get openmptcprouter.$1.current)" = "1" ] && {
remoteip=$(uci -q get openmptcprouter.$1.ip | awk '{print $1}')
wg_server_key=$(uci -q get openmptcprouter.$1.wgkey)
}
@ -27,6 +27,10 @@ mptcp_over_vpn() {
local interface=$1
[ -n "$(uci show firewall.zone_wan.network | grep $interface)" ] && nbintf=$(($nbintf+1))
if [ "$(uci -q get openmptcprouter.${interface}.multipathvpn)" = "1" ]; then
remoteip=""
config_load openmptcprouter
config_foreach _getremoteip server
if [ "$(uci -q get network.${interface})" = "" ]; then
uci -q batch <<-EOF >/dev/null
delete openmptcprouter.${interface}
@ -47,12 +51,9 @@ mptcp_over_vpn() {
return
fi
nbintfvpn=$(($nbintfvpn+1))
if [ "$(uci -q get network.ovpn${interface})" = "" ] && [ "$vpn" = "openvpn" ]; then
if ([ "$(uci -q get network.ovpn${interface})" = "" ] || [ "$(uci -q get openvpn.${interface}.remote)" != "${remoteip}" ]) && [ "$vpn" = "openvpn" ]; then
logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}"
id=$(uci -q get network.${interface}.metric)
remoteip=""
config_load openmptcprouter
config_foreach _getremoteip server
localip=$(ubus call network.interface.$interface status | jsonfilter -e '@["ipv4-address"][0].address' | tr -d "\n")
[ -z "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get network.${interface}.multipath)
[ -n "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get openmptcprouter.ovpn${interface}.multipath)
@ -103,7 +104,7 @@ mptcp_over_vpn() {
add_list firewall.zone_vpn.network="ovpn${interface}"
commit firewall
EOF
elif [ "$(uci -q get network.wg${interface})" = "" ] && [ "$vpn" = "wireguard" ]; then
elif ([ "$(uci -q get network.wg${interface})" = "" ] || [ "$(uci -q get network.@wireguard_wg${interface}[0].endpoint_host)" != "$remoteip" ]) && [ "$vpn" = "wireguard" ]; then
logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}"
id=$(uci -q get network.${interface}.metric)
remoteip=""
@ -247,9 +248,14 @@ start_service()
commit glorytun-udp
EOF
fi
elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ]) && [ "$nbintf" != "$nbintfvpn" ]; then
uci -q batch <<-EOF >/dev/null
delete shadowsocks-libev.sss0.disabled
set shadowsocks-libev.ss_rules.server='mptcpovervpn'
set shadowsocks-libev.ss_rules.redir_tcp='all'
EOF
elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ] || [ "$(uci -q get shadowsocks-libev.ss_rules.server)" != "sss0" ]) && [ "$nbintf" != "$nbintfvpn" ]; then
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.sss0.disabled='0'
set shadowsocks-libev.ss_rules.server='sss0'
set glorytun.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')"
set glorytun-udp.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')"
commit glorytun
@ -265,7 +271,7 @@ start_service()
set shadowsocks-libev.mptcpovervpn.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.mptcpovervpn.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.mptcpovervpn.server="10.255.250.1"
delete shadowsocks-libev.mptcpovervpn.disabled
set shadowsocks-libev.mptcpovervpn.disabled='0'
EOF
else
uci -q batch <<-EOF >/dev/null
@ -274,7 +280,7 @@ start_service()
set shadowsocks-libev.mptcpovervpn.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.mptcpovervpn.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.mptcpovervpn.server="10.255.247.1"
delete shadowsocks-libev.mptcpovervpn.disabled
set shadowsocks-libev.mptcpovervpn.disabled='0'
EOF
fi
for c in $(seq 1 $NBCPU); do
@ -297,7 +303,7 @@ start_service()
uci -q batch <<-EOF >/dev/null
commit shadowsocks-libev
EOF
/etc/init.d/shadowsocks restart
/etc/init.d/shadowsocks-libev restart
/etc/init.d/openvpn restart
elif [ "$(uci -q get shadowsocks-libev.hivpn1)" != "" ]; then
for c in $(seq 1 $NBCPU); do
@ -306,9 +312,10 @@ start_service()
EOF
done
uci -q batch <<-EOF >/dev/null
delete shadowsocks-libev.sss0.disabled
set shadowsocks-libev.sss0.disabled='0'
EOF
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.ss_rules.server='sss0'
delete shadowsocks-libev.mptcpovervpn
commit shadowsocks-libev
EOF

View file

@ -271,7 +271,7 @@ _set_ss_server_vps() {
if [ "$current_mptcp" != "$mptcp" ] || [ "$current_obfs_plugin" != "$obfs_plugin" ] || [ "$current_obfs_type" != "$obfs_type" ] || [ "$current_port" != "$port" ] || [ "$current_method" != "$method" ] || [ "$current_key" != "$key" ] || [ "$current_ebpf" != "$ebpf" ] || [ "$current_obfs" != "$obfs" ] || [ "$current_fast_open" != "$fast_open" ] || [ "$current_no_delay" != "$no_delay" ]; then
local settings
settings='{"port": '$port',"method":"'$method'","fast_open":'$fast_open',"reuse_port":true,"no_delay":'$no_delay',"mptcp":'$mptcp',"key":"'$key'","ebpf":'$ebpf',"obfs":'$obfs',"obfs_plugin":"'$obfs_plugin'","obfs_type":"'$obfs_type'"}'
_set_json "shadowsocks" "$settings"
result=$(_set_json "shadowsocks" "$settings")
fi
}
@ -966,7 +966,7 @@ _vps_firewall_redirect_port() {
fi
if [ "$checkfw" = "" ]; then
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "'$target'","ipproto" : "'$family'"}'
_set_json "shorewallopen" "$settings"
result=$(_set_json "shorewallopen" "$settings")
fi
if [ "$family" = "ipv4" ]; then
if [ "$src_dip" = "" ] && [ "$src_ip" = "" ]; then
@ -1036,10 +1036,10 @@ _vps_firewall_redirect_port() {
fi
if [ "$checkfw" = "" ]; then
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'${protoi}'","fwtype" : "ACCEPT","ipproto" : "'$family'","comment" : "V2Ray to '${dest_ip}':'${dest_port}'"}'
_set_json "shorewallopen" "$settings"
result=$(_set_json "shorewallopen" "$settings")
[ -z "$dest_port" ] && dest_port="$src_dport"
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","destip" : "'$dest_ip'","destport" : "'$dest_port'","proto" : "'${protoi}'"}'
_set_json "v2rayredirect" "$settings"
result=$(_set_json "v2rayredirect" "$settings")
fi
if [ "$family" = "ipv4" ]; then
if [ "$src_dip" = "" ] && [ "$src_ip" = "" ]; then
@ -1087,12 +1087,12 @@ _vps_firewall_close_port() {
else
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "'$proto'","fwtype" : "DNAT","comment" : "'$comment'"}'
fi
_set_json "shorewallclose" "$settings"
result=$(_set_json "shorewallclose" "$settings")
[ "$type" = "ACCEPT" ] && {
destip=$(echo $comment | awk '{print $3}' | awk -F: '{print $1}')
destport=$(echo $comment | awk '{print $3}' | awk -F: '{print $2}')
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "'$proto'","destip" : "'$destip'","destport": "'$destport'"}'
_set_json "v2rayunredirect" "$settings"
result=$(_set_json "v2rayunredirect" "$settings")
}
}
done
@ -1115,10 +1115,10 @@ _vps_firewall_close_port() {
else
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "'$proto'","fwtype" : "DNAT","ipproto" : "ipv6","comment" : "'$comment'"}'
fi
_set_json "shorewallclose" "$settings"
result=$(_set_json "shorewallclose" "$settings")
[ "$type" = "ACCEPT" ] && {
settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "'$proto'","comment" : "'$comment'"}'
_set_json "v2rayunredirect" "$settings"
result=$(_set_json "v2rayunredirect" "$settings")
}
}
done
@ -1694,7 +1694,7 @@ _backup_send() {
logger -t "OMR-VPS" "Send backup file to server $servername"
local backupjson
backupjson='{"data": "'$backup_data'","sha256sum": "'$backup_sha256sum'"}'
_set_json "backuppost" "$backupjson"
result=$(_set_json "backuppost" "$backupjson")
uci -q set openmptcprouter.$servername.lastbackup=$(date +%s)
}
}

View file

@ -55,7 +55,7 @@ _disable_openvpnbonding()
{
name=$1
if [ "$(echo $name | grep omr_bonding)" != "" ]; then
uci -q set openvpn.${name}.enabled='0'
uci -q del openvpn.${name}.enabled
uci -q batch <<-EOF >/dev/null
del network.omrvpn.bonding_policy
del network.omrvpn.packets_per_slave

View file

@ -38,9 +38,7 @@ backup_database() {
}
restore_database() {
if [ ! -f $BACKUP_FILE ]; then
logger -t $LOGGER_TAG -p err "cannot restore, backup file does not exist (yet)"
else
if [ -f $BACKUP_FILE ]; then
logger -t $LOGGER_TAG -p info 'restoring database'
[ ! -d $VNSTAT_DIR ] && mkdir $VNSTAT_DIR
/bin/tar -xzf $BACKUP_FILE -C $VNSTAT_DIR

View file

@ -1,6 +1,6 @@
#!/bin/sh
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
if [ "$(uci -q get unbound.@unbound[0].listen_port | grep 5353)" = "" ]; then
if [ "$(uci -q get openmptcprouter.settings.version)" = "" ]; then
if [ "$(uci -q get unbound.@unbound[-1].listen_port | grep 5353)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set unbound.@unbound[-1].listen_port=5353
set unbound.@unbound[-1].protocol="ip4_only"
@ -8,6 +8,11 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
set unbound.@unbound[-1].recursion="aggressive"
set unbound.@unbound[-1].validator='1'
set unbound.@unbound[-1].validator_ntp='1'
del unbound.@unbound[-1].dns64_prefix
del unbound.@unbound[-1].iface_wan
del unbound.@unbound[-1].dhcp4_slaac6
del unbound.@unbound[-1].query_minimize
del unbound.@unbound[-1].query_min_strict
commit unbound
EOF
fi
@ -21,6 +26,13 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
EOF
fi
fi
if [ -z "$(uci -q get unbound.ub_main)" ]; then
uci -q batch <<-EOF >/dev/null
rename unbound.@unbound[-1]=ub_main
commit unbound
EOF
fi
if [ "$(uci -q show dhcp | grep 'use-application-dns.net')" = "" ]; then
uci -q batch <<-EOF >/dev/null
add_list dhcp.@dnsmasq[-1].server="/use-application-dns.net/"
@ -63,6 +75,7 @@ fi
if [ -z "$(uci -q unbound.auth_icann)" ]; then
uci -q batch <<-EOF >/dev/null
del unbound.auth_icann
set unbound.auth_icann=zone
set unbound.auth_icann.fallback='1'
set unbound.auth_icann.url_dir='https://www.internic.net/domain/'
@ -74,6 +87,7 @@ if [ -z "$(uci -q unbound.auth_icann)" ]; then
add_list unbound.auth_icann.zone_name='in-addr.arpa.'
add_list unbound.auth_icann.zone_name='ip6.arpa.'
set unbound.auth_icann.enabled='1'
del unbound.fwd_isp
set unbound.fwd_isp=zone
set unbound.fwd_isp.enabled='0'
set unbound.fwd_isp.fallback='1'
@ -81,6 +95,7 @@ if [ -z "$(uci -q unbound.auth_icann)" ]; then
set unbound.fwd_isp.zone_type='forward_zone'
add_list unbound.fwd_isp.zone_name='isp-bill.example.com.'
add_list unbound.fwd_isp.zone_name='isp-mail.example.net.'
del unbound.fwd_google
set unbound.fwd_google=zone
set unbound.fwd_google.enabled='0'
set unbound.fwd_google.fallback='1'
@ -92,6 +107,7 @@ if [ -z "$(uci -q unbound.auth_icann)" ]; then
add_list unbound.fwd_google.server='2001:4860:4860::8844'
add_list unbound.fwd_google.server='2001:4860:4860::8888'
set unbound.fwd_google.zone_name='.'
del unbound.fwd_cloudflare
set unbound.fwd_cloudflare=zone
set unbound.fwd_cloudflare.enabled='0'
set unbound.fwd_cloudflare.fallback='1'

0
openmptcprouter/files/etc/uci-defaults/1960-omr-qos Executable file → Normal file
View file

View file

@ -45,7 +45,8 @@ if [ "$(uci -q get firewall.zone_vpn)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set firewall.zone_vpn=zone
set firewall.zone_vpn.name=vpn
set firewall.zone_vpn.network=glorytun
add_list firewall.zone_vpn.network=omrvpn
add_list firewall.zone_vpn.network=omr6in4
set firewall.zone_vpn.masq=1
set firewall.zone_vpn.input=REJECT
set firewall.zone_vpn.forward=ACCEPT
@ -76,6 +77,7 @@ if [ "$(uci -q show firewall | grep Allow-All-Ping)" = "" ]; then
set firewall.@rule[-1].dest='*'
set firewall.@rule[-1].src='*'
set firewall.@rule[-1].icmp_type='echo-request'
set firewall.@rule[-1].limit='1000/sec'
commit firewall
EOF
fi
@ -98,6 +100,7 @@ if [ "$(uci -q show firewall | grep Allow-Lan-to-Wan)" = "" ]; then
set firewall.@rule[-1].name='Allow-Lan-to-Wan'
set firewall.@rule[-1].dest='wan'
set firewall.@rule[-1].src='lan'
set firewall.@rule[-1].proto='all'
commit firewall
EOF
fi
@ -148,6 +151,14 @@ if [ "$(uci -q get firewall.gre_tunnel)" = "" ]; then
commit firewall
EOF
fi
if [ "$(uci -q get firewall.ttl)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set firewall.ttl=include
set firewall.ttl.path=/etc/firewall.ttl
set firewall.ttl.reload=1
commit firewall
EOF
fi
if [ "$(uci -q get firewall.fwlantovpn)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set firewall.zone_lan.auto_helper='0'
@ -185,6 +196,7 @@ if [ "$(uci -q get firewall.allowicmpipv6)" = "" ]; then
set firewall.allowicmpipv6.src='wan'
set firewall.allowicmpipv6.name='Allow IPv6 ICMP'
set firewall.allowicmpipv6.family='ipv6'
set firewall.@rule[-1].limit='1000/sec'
set firewall.allowicmpipv6.icmp_type='neighbour-advertisement neighbour-solicitation router-advertisement router-solicitation'
commit firewall
EOF
@ -230,6 +242,16 @@ uci -q batch <<-EOF >/dev/null
set firewall.@include[0].reload='1'
commit firewall
EOF
if [ "$(uci -q get openmptcprouter.settings.sipalg)" != "1" ]; then
uci -q batch <<-EOF >/dev/null
set firewall.zone_lan.auto_helper='0'
set firewall.zone_wan.auto_helper='0'
set firewall.zone_vpn.auto_helper='0'
commit firewall
EOF
rmmod nf_nat_sip 2>&1 >/dev/null
rmmod nf_conntrack_sip 2>&1 >/dev/null
fi
rm -f /tmp/luci-indexcache

View file

@ -10,6 +10,15 @@ if [ "$(uci -q get omr-tracker.omrvpn)" = "" ]; then
set omr-tracker.omrvpn.interval=5
set omr-tracker.omrvpn.mail_alert=0
set omr-tracker.omrvpn.enabled=1
set omr-tracker.omrvpn.wait-test=0
set omr-tracker.omrvpn.server_http_test=1
set omr-tracker.omrvpn.restart_down=0
add_list omr-tracker.omrvpn.hosts='4.2.2.1'
add_list omr-tracker.omrvpn.hosts='8.8.8.8'
add_list omr-tracker.omrvpn.hosts='223.5.5.5'
add_list omr-tracker.omrvpn.hosts='223.6.6.6'
add_list omr-tracker.omrvpn.hosts='114.114.114.114'
add_list omr-tracker.omrvpn.hosts='180.76.76.76'
commit omr-tracker
EOF
fi

View file

@ -38,7 +38,6 @@ if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then
set openvpn.omr.port=65301
set openvpn.omr.cipher=AES-256-CBC
set openvpn.omr.proto=tcp-client
set openvpn.omr.enabled=0
set openvpn.omr.ncp_disable=1
set openvpn.omr.auth_nocache=1
set openvpn.omr.client=1

0
openmptcprouter/files/etc/uci-defaults/2040-omr-sqm Executable file → Normal file
View file

Some files were not shown because too many files have changed in this diff Show more