diff --git a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot
index 7f144d9cc..65bd5e101 100644
--- a/luci-app-openmptcprouter/po/templates/openmptcprouter.pot
+++ b/luci-app-openmptcprouter/po/templates/openmptcprouter.pot
@@ -14,7 +14,7 @@ msgstr ""
msgid "API username to retrieve personnalized settings from the server."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:639
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:646
msgid "APN"
msgstr ""
@@ -22,7 +22,7 @@ msgstr ""
msgid "Add a new server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:790
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:815
msgid "Add an interface"
msgstr ""
@@ -51,11 +51,12 @@ msgid ""
"processor."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:665
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:672
msgid "Authentication Type"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:700
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:710
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:722
msgid "Backup"
msgstr ""
@@ -64,7 +65,7 @@ msgstr ""
msgid "Backup on server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:282
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:288
msgid "Balancing"
msgstr ""
@@ -76,7 +77,7 @@ msgstr ""
msgid "Big time difference between the server and the router"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:463
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:470
msgid "Bridge"
msgstr ""
@@ -89,7 +90,7 @@ msgid ""
"By default proxy is used for any traffic that is TCP (and UDP for V2Ray)."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:670
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:677
msgid "CHAP"
msgstr ""
@@ -109,15 +110,15 @@ msgstr ""
msgid "Can\\'t ping server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:467
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:474
msgid ""
"Choose MacVLAN if you want to create a virtual interface based on a physical "
"interface."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:404
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:487
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:533
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:408
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:494
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:540
msgid "Choose physical interface."
msgstr ""
@@ -129,8 +130,8 @@ msgstr ""
msgid "Core temp:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:498
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:374
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:505
msgid "DHCP"
msgstr ""
@@ -138,7 +139,7 @@ msgstr ""
msgid "DNS issue: can\\'t resolve hostname"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:266
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:272
msgid "Debug"
msgstr ""
@@ -151,45 +152,45 @@ msgid "Default VPN"
msgstr ""
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:62
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:442
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:449
msgid "Delete"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:565
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:592
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:613
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:572
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:599
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:620
msgid "Device"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:196
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:197
msgid "Disable TCP Fast Open"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:201
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:202
msgid "Disable TCP Fast Open on Linux and Shadowsocks configuration"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:236
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:242
msgid "Disable default gateway"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:241
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:247
msgid "Disable default gateway, no internet if VPS are down"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:186
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:187
msgid "Disable external check"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:226
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:232
msgid "Disable gateway ping"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:231
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:237
msgid "Disable gateway ping status check"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:261
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:267
msgid "Disable multipath test using tracebox"
msgstr ""
@@ -202,36 +203,37 @@ msgstr ""
msgid "Disable server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:246
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:252
msgid "Disable server ping"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:251
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:257
msgid "Disable server ping status check"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:256
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:262
msgid "Disable tracebox test"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:698
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:708
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:720
msgid "Disabled"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:741
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:766
msgid "Download speed (Kb/s)"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:280
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:286
msgid "Dynamic change"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:180
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:181
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:158
msgid "Enable IPv6"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:731
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:756
msgid "Enable SQM"
msgstr ""
@@ -239,15 +241,16 @@ msgstr ""
msgid "Enable ShadowSocks Obfuscating"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:206
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:207
msgid "Enable TCP Low Latency"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:271
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:277
msgid "Enable debug logs"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:697
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:707
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:719
msgid "Enabled"
msgstr ""
@@ -271,7 +274,7 @@ msgstr ""
msgid "Force retrieve settings"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:659
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:666
msgid "GPRS only"
msgstr ""
@@ -293,49 +296,49 @@ msgstr ""
msgid "Grant UCI access for luci-app-openmptcprouter"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:123
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:124
msgid "How often TCP sends out keepalive messages when keepalive is enabled."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:174
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:175
msgid "IPv4 IP default TTL"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:128
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:129
msgid "IPv4 TCP FIN timeout"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:168
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:169
msgid "IPv4 TCP Fast Open"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:118
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:119
msgid "IPv4 TCP Keepalive time"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:138
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:139
msgid "IPv4 TCP SYN retries"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:148
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:149
msgid "IPv4 TCP SYN retries1"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:158
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:159
msgid "IPv4 TCP SYN retries2"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:409
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:539
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:416
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:546
msgid "IPv4 address"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:555
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:562
msgid "IPv4 gateway"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:415
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:549
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:422
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:556
msgid "IPv4 netmask"
msgstr ""
@@ -360,7 +363,7 @@ msgstr ""
msgid "IPv6:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:428
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:435
msgid "Interfaces settings"
msgstr ""
@@ -379,21 +382,21 @@ msgid ""
"settings from OpenMPTCProuter."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:346
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:347
msgid "LAN interfaces settings"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:657
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:664
msgid "LTE"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:357
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:448
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:358
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:455
msgid "Label"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:363
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:453
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:364
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:460
msgid "Label for the interface"
msgstr ""
@@ -428,39 +431,40 @@ msgstr ""
msgid "MPTCP may not be enabled on the server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:721
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:746
msgid "MPTCP over VPN"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:462
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:469
msgid "MacVLAN"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:699
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:709
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:721
msgid "Master"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:276
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:282
msgid "Master interface selection"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:298
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
msgid "Maximum scaling CPU frequency"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:292
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:298
msgid "Minimum scaling CPU frequency"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:654
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:661
msgid "Modem default"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:688
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:695
msgid "Modem init timeout"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:499
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:506
msgid "ModemManager"
msgstr ""
@@ -468,7 +472,8 @@ msgstr ""
msgid "More than one default VPN is enabled"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:694
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:704
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:716
msgid "Multipath TCP"
msgstr ""
@@ -489,11 +494,11 @@ msgstr ""
msgid "Multipath seems to be blocked on the connection"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:500
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:507
msgid "NCM"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:668
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:675
msgid "NONE"
msgstr ""
@@ -507,7 +512,7 @@ msgstr ""
msgid "Network overview"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:115
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:116
msgid "Networks settings"
msgstr ""
@@ -533,7 +538,7 @@ msgstr ""
msgid "No available backup on server."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:281
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:287
msgid "No change"
msgstr ""
@@ -563,11 +568,11 @@ msgstr ""
msgid "None"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:461
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:468
msgid "Normal"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:143
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:144
msgid ""
"Number of times initial SYNs for an active TCP connection attempt will be "
"retransmitted."
@@ -585,7 +590,7 @@ msgstr ""
msgid "Obfuscating will be enabled on both side"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:279
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:285
msgid "On wizard change"
msgstr ""
@@ -602,55 +607,59 @@ msgstr ""
msgid "OpenVPN can't be used in multi VPS configuration."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:211
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:212
msgid "Optimize for latency instead of bandwidth"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:374
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:503
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:375
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:510
msgid "Other"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:669
-msgid "PAP"
-msgstr ""
-
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:671
-msgid "PAP/CHAP"
-msgstr ""
-
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:682
-msgid "PAP/CHAP password"
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:219
+msgid "Other settings"
msgstr ""
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:676
+msgid "PAP"
+msgstr ""
+
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:678
+msgid "PAP/CHAP"
+msgstr ""
+
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:689
+msgid "PAP/CHAP password"
+msgstr ""
+
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:683
msgid "PAP/CHAP username"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:645
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:652
msgid "PIN code"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:501
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:508
msgid "PPPoE"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:383
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:472
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:512
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:387
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:479
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:519
msgid "Physical interface"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:655
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:662
msgid "Prefer LTE"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:656
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:663
msgid "Prefer UMTS"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:368
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:493
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:369
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:500
msgid "Protocol"
msgstr ""
@@ -666,7 +675,7 @@ msgstr ""
msgid "Proxy traffic:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:502
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:509
msgid "QMI"
msgstr ""
@@ -682,24 +691,24 @@ msgstr ""
msgid "Retrieve settings from server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:324
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:799
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:330
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:824
msgid "Save & Apply"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:221
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:227
msgid "Save vnstats statistics on disk"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:216
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:222
msgid "Save vnstats stats"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:304
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:310
msgid "Scaling governor"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:793
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:818
msgid "Select the device you want to base the interface on."
msgstr ""
@@ -730,15 +739,15 @@ msgstr ""
msgid "Server username"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:651
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658
msgid "Service Type"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:544
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:551
msgid "Set an IP in the same network as the modem"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:560
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:567
msgid "Set here IP of the modem"
msgstr ""
@@ -758,12 +767,12 @@ msgid ""
"all traffic if ShadowSocks is disabled."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:751
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:776
msgid ""
"Set value between 80-95% of max download speed link. 0 to disable SQM/QoS."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:767
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:792
msgid ""
"Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS."
msgstr ""
@@ -789,8 +798,8 @@ msgstr ""
msgid "Show all settings"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:372
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:497
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:373
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:504
msgid "Static address"
msgstr ""
@@ -798,11 +807,11 @@ msgstr ""
msgid "Status"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:289
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:295
msgid "Systems settings"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:133
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:134
msgid ""
"The length of time an orphaned (no longer referenced by any application) "
"connection will remain in the FIN_WAIT_2 state before it is aborted at the "
@@ -815,14 +824,14 @@ msgid ""
"the processor, you should use chacha20."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:153
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:154
msgid ""
"This value influences the time, after which TCP decides, that something is "
"wrong due to unacknowledged RTO retransmissions, and reports this suspicion "
"to the network layer."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:163
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:164
msgid ""
"This value influences the timeout of an alive TCP connection, when RTO "
"retransmissions remain unacknowledged."
@@ -832,7 +841,7 @@ msgstr ""
msgid "Total traffic:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:458
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:465
msgid "Type"
msgstr ""
@@ -845,7 +854,7 @@ msgstr ""
msgid "UBOND password"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:658
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:665
msgid "UMTS/GPRS"
msgstr ""
@@ -865,7 +874,7 @@ msgstr ""
msgid "Update server"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:757
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:782
msgid "Upload speed (Kb/s)"
msgstr ""
@@ -874,8 +883,8 @@ msgstr ""
msgid "Uptime:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:746
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:762
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:771
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:787
msgid "Used by Glorytun UDP and SQM/QoS if enabled. 0 to use default value."
msgstr ""
@@ -924,7 +933,7 @@ msgstr ""
msgid "Wan IP and gateway are identical"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:191
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm:192
msgid ""
"When enable check are done on external sites to get each WAN IP and the IP "
"used to go outside."
@@ -939,15 +948,15 @@ msgstr ""
msgid "You"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:726
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:751
msgid "You can enable MPTCP over VPN if your provider filter Multipath TCP."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:378
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:379
msgid "You can use DHCP if you have multiple real ethernet ports."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:507
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:514
msgid ""
"You can use DHCP if you have multiple real ethernet ports. Select other if "
"you want to use another protocol available in Network Interfaces page."
@@ -957,7 +966,7 @@ msgstr ""
msgid "You can use a public IPv6 prefix only if you set only one server."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:429
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:436
msgid "You must disable DHCP on your modems and set IP in different networks."
msgstr ""
@@ -965,7 +974,7 @@ msgstr ""
msgid "You should disable IPv6 here if server doesn't provide IPv6."
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:736
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:761
msgid "You should disable SQM for LTE or any interfaces with variable speed."
msgstr ""
@@ -977,7 +986,7 @@ msgstr ""
msgid "address:"
msgstr ""
-#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:660
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm:667
msgid "auto"
msgstr ""
@@ -1001,6 +1010,7 @@ msgid "mtu:"
msgstr ""
#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:543
+#: luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm:699
msgid "multipath:"
msgstr ""
diff --git a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter
index 46fc817b7..8309d6c2d 100755
--- a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter
+++ b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter
@@ -23,8 +23,24 @@ omr_intf_set() {
config_get ifname "$1" ifname
config_get device "$1" device
config_get proto "$1" proto
+ config_get addlatency "$1" addlatency "0"
devicename=$(echo "$device" | cut -d'/' -f3)
+ [ -z "$ifname" ] && ifname=$(ifstatus "$1" | jsonfilter -q -e '@["l3_device"]')
+
+ if [ -n "$ifname" ]; then
+ if [ "$addlatency" = "0" ] && [ "$(tc qdisc show $ifname | grep delay)" != "" ]; then
+ tc qdisc del dev ${ifname} root netem
+ fi
+ if [ "$addlatency" != "0" ]; then
+ if [ "$(tc qdisc show $ifname | grep delay)" != "" ]; then
+ tc qdisc add dev ${ifname} root netem delay ${addlatency}ms
+ elif [ "$(tc qdisc show $ifname | awk '/delay/ { print $10 }' | sed 's/ms//')" != "$addlatency" ]; then
+ tc qdisc replace dev ${ifname} root netem delay ${addlatency}ms
+ fi
+ fi
+ fi
+
if [ -n "$ifname" ] && [ -f /sys/class/net/${ifname}/device/uevent ]; then
devicepath=$(readlink -f /sys/class/net/${ifname})
if [ -n "$devicepath" ] && [ "$(echo ${devicepath} | grep virtual)" = "" ]; then
diff --git a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter
index 7d85ea9c4..9fae15302 100755
--- a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter
+++ b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter
@@ -107,4 +107,7 @@ if [ "$(uci -q get openmptcprouter.settings.scaling_governor)" = "" ]; then
commit openmptcprouter
EOF
fi
+
+sed -i 's/net.ipv4.tcp_retries2=3$/net.ipv4.tcp_retries2=15/' /etc/sysctl.d/zzz_openmptcprouter.conf
+
exit 0
diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js
index 25dd4743b..95abeb6d0 100644
--- a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js
+++ b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js
@@ -430,12 +430,9 @@ return view.extend({
so.datatype = 'list(unique(macaddr))';
so.rmempty = true;
so.cfgvalue = function(section) {
- var macs = uci.get('dhcp', section, 'mac'),
+ var macs = L.toArray(uci.get('dhcp', section, 'mac')),
result = [];
- if (!Array.isArray(macs))
- macs = (macs != null && macs != '') ? macs.split(/\ss+/) : [];
-
for (var i = 0, mac; (mac = macs[i]) != null; i++)
if (/^([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2}):([0-9a-fA-F]{1,2})$/.test(mac))
result.push('%02X:%02X:%02X:%02X:%02X:%02X'.format(
diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
index 995515f01..5cd091920 100644
--- a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
+++ b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
@@ -575,6 +575,10 @@ return view.extend({
o.value('backup',_('Backup'));
o.default = 'off';
+ o = s.taboption('advanced', form.Value, 'addlatency', _('Additional latency'));
+ o.datatype = 'uinteger';
+ o.default = '0';
+
if (L.hasSystemFeature('dnsmasq') || L.hasSystemFeature('odhcpd')) {
o = s.taboption('dhcp', form.SectionValue, '_dhcp', form.TypedSection, 'dhcp');
o.depends('proto', 'static');
diff --git a/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png b/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png
new file mode 100644
index 000000000..974d2e8a5
Binary files /dev/null and b/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/omr-logo-apple.png differ
diff --git a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm
index 633686563..d45dd088c 100644
--- a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm
+++ b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm
@@ -32,6 +32,7 @@
+
<% if node and node.css then %>
<% end -%>
diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile
index 17193689d..eace2e5bd 100644
--- a/openmptcprouter-full/Makefile
+++ b/openmptcprouter-full/Makefile
@@ -79,7 +79,7 @@ MY_DEPENDS := \
kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \
!TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \
luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \
- luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl
+ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf
# luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status
# luci-proto-bonding luci-app-statistics luci-proto-gre
# softethervpn5-client softethervpn5-server luci-app-nginx-ha
diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
index d613900d5..88f43474a 100755
--- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps
+++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
@@ -717,63 +717,119 @@ _vps_firewall_redirect_port() {
config_get dest_ip $1 dest_ip
config_get dest_port $1 dest_port
config_get src_ip $1 src_ip
- if [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then
+ config_get v2ray $1 v2ray "0"
+ if [ -n "$src_dport" ] && [ "$(echo $src_dport | cut -d'-' -f2)" -ge "65000" ]; then
logger -t "OMR-VPS" "You can't redirect ports >= 65000, they are needed by OpenMPTCProuter Server part"
enabled="0"
#uci -q delete firewall.$1
#return
fi
+ [ "$(v2ray.main.enabled)" = "0" ] && v2ray="0"
[ "$proto" = "all" ] && proto="tcp udp"
[ "$proto" = "" ] && proto="tcp udp"
[ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && [ "$enabled" != "0" ] && {
for protoi in $proto; do
- checkfw=""
- if [ "$family" = "ipv4" ]; then
- if [ "$src_dip" = "" ]; then
- checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ if [ "$v2ray" = "0" ]; then
+ checkfw=""
+ if [ "$family" = "ipv4" ]; then
+ if [ "$src_dip" = "" ]; then
+ checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && {
+ comment=" to $src_dip"
+ iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
+ }
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
+ fi
else
- comment=""
- [ -n "$src_dip" ] && {
- comment=" to $src_dip"
- iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
- }
- [ -n "$src_ip" ] && comment=" from $src_ip"
- checkfw=$(echo "$vpsfwlist" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
+ if [ "$src_dip" = "" ]; then
+ checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
+ fi
+ fi
+ if [ "$checkfw" = "" ]; then
+ settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}'
+ _set_json "shorewallopen" "$settings"
+ fi
+ if [ "$family" = "ipv4" ]; then
+ if [ "$src_dip" = "" ]; then
+ vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
+ [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
+ fi
+ else
+ if [ "$src_dip" = "" ]; then
+ vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
+ else
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
+ [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
+ fi
fi
else
- if [ "$src_dip" = "" ]; then
- checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username redirect router $src_dport port $protoi")
+ checkfw=""
+ if [ "$family" = "ipv4" ]; then
+ if [ "$src_dip" = "" ]; then
+ checkfw=$(echo "$vpsfwlist" | grep "$src_dport # OMR $username open router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && {
+ comment=" to $src_dip"
+ iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w
+ }
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ checkfw=$(echo "$vpsfwlist" | grep "# OMR $username open router $src_dport port $protoi${comment}")
+ fi
else
- comment=""
- [ -n "$src_dip" ] && comment=" to $src_dip"
- [ -n "$src_ip" ] && comment=" from $src_ip"
- checkfw=$(echo "$vpsfw6list" | grep "# OMR $username redirect router $src_dport port $protoi${comment}")
+ if [ "$src_dip" = "" ]; then
+ checkfw=$(echo "$vpsfw6list" | grep "$src_dport # OMR $username open router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ checkfw=$(echo "$vpsfw6list" | grep "# OMR $username open router $src_dport port $protoi${comment}")
+ fi
fi
- fi
- if [ "$checkfw" = "" ]; then
- settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","source_dip" : "'$src_dip'","source_ip" : "'$src_ip'","proto" : "'$protoi'","fwtype" : "DNAT","ipproto" : "'$family'"}'
- _set_json "shorewallopen" "$settings"
- fi
- if [ "$family" = "ipv4" ]; then
- if [ "$src_dip" = "" ]; then
- vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
- [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
- else
- comment=""
- [ -n "$src_dip" ] && comment=" to $src_dip"
- [ -n "$src_ip" ] && comment=" from $src_ip"
- vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
- [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
+ 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'"}'
+ _set_json "shorewallopen" "$settings"
+ settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","destip" : "'$dest_ip'","proto" : "'$protoi'"}'
+ _set_json "v2rayredirect" "$settings"
fi
- else
- if [ "$src_dip" = "" ]; then
- vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username redirect router $src_dport port $protoi")
- [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR redirect router $src_dport port $protoi")
+ if [ "$family" = "ipv4" ]; then
+ if [ "$src_dip" = "" ]; then
+ vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi")
+ [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$src_dport # OMR open router $src_dport port $protoi")
+ else
+ comment=""
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR $username open router $src_dport port $protoi${comment}")
+ [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "# OMR open router $src_dport port $protoi${comment}")
+ fi
else
- [ -n "$src_dip" ] && comment=" to $src_dip"
- [ -n "$src_ip" ] && comment=" from $src_ip"
- vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username redirect router $src_dport port $protoi${comment}")
- [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR redirect router $src_dport port $protoi${comment}")
+ if [ "$src_dip" = "" ]; then
+ vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR $username open router $src_dport port $protoi")
+ [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$src_dport # OMR open router $src_dport port $protoi")
+ else
+ [ -n "$src_dip" ] && comment=" to $src_dip"
+ [ -n "$src_ip" ] && comment=" from $src_ip"
+ vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR $username open router $src_dport port $protoi${comment}")
+ [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "# OMR open router $src_dport port $protoi${comment}")
+ fi
fi
fi
done