diff --git a/luci-app-dsvpn/po/templates/dsvpn.pot b/luci-app-dsvpn/po/templates/dsvpn.pot
new file mode 100644
index 000000000..8f77636dc
--- /dev/null
+++ b/luci-app-dsvpn/po/templates/dsvpn.pot
@@ -0,0 +1,59 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:35
+msgid "Client"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24
+#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3
+msgid "DSVPN"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31
+msgid "Enabled"
+msgstr ""
+
+#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3
+msgid "Grant access to DSVPN"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39
+msgid "Host"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26
+msgid "Instances"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:49
+msgid "Interface name"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45
+msgid "Key"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:61
+msgid "Label"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:53
+msgid "Local IP"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34
+msgid "Mode"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42
+msgid "Port"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:57
+msgid "Remote IP"
+msgstr ""
+
+#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:36
+msgid "Server"
+msgstr ""
diff --git a/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot b/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot
new file mode 100644
index 000000000..4f7759dc3
--- /dev/null
+++ b/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot
@@ -0,0 +1,87 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32
+msgid "Advanced Settings"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:38
+msgid "Client"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34
+msgid "Enabled"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68
+msgid "Force fallback cipher"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31
+msgid "General Settings"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24
+#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3
+msgid "Glorytun TCP"
+msgstr ""
+
+#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3
+msgid "Grant access to glorytun TCP"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42
+msgid "Host"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26
+msgid "Instances"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:52
+msgid "Interface name"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48
+msgid "Key"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:82
+msgid "Label"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:56
+msgid "Local IP"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:64
+msgid "MPTCP"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37
+msgid "Mode"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:77
+msgid "Multiqueue"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45
+msgid "Port"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:60
+msgid "Remote IP"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:39
+msgid "Server"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:72
+msgid "Timeout"
+msgstr ""
+
+#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68
+msgid "chacha"
+msgstr ""
diff --git a/luci-app-glorytun-udp/po/templates/glorytun-udp.pot b/luci-app-glorytun-udp/po/templates/glorytun-udp.pot
new file mode 100644
index 000000000..04edec275
--- /dev/null
+++ b/luci-app-glorytun-udp/po/templates/glorytun-udp.pot
@@ -0,0 +1,99 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40
+msgid "Advanced Settings"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:46
+msgid "Client"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:85
+msgid "Clock sync tolerance"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:95
+msgid "Dynamic rate detection"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42
+msgid "Enabled"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76
+msgid "Force fallback cipher"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39
+msgid "General Settings"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32
+#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3
+msgid "Glorytun UDP"
+msgstr ""
+
+#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3
+msgid "Grant access to glorytun UDP"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50
+msgid "Host"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34
+msgid "Instances"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:60
+msgid "Interface name"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:90
+msgid "Keep alive timeout"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72
+msgid "Keep the tunnel device after exiting"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56
+msgid "Key"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:80
+msgid "Key rotation timeout"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:99
+msgid "Label"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:64
+msgid "Local IP"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45
+msgid "Mode"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72
+msgid "Persist"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53
+msgid "Port"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:68
+msgid "Remote IP"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:47
+msgid "Server"
+msgstr ""
+
+#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76
+msgid "chacha"
+msgstr ""
diff --git a/luci-app-mlvpn/po/templates/mlvpn.pot b/luci-app-mlvpn/po/templates/mlvpn.pot
new file mode 100644
index 000000000..45e559267
--- /dev/null
+++ b/luci-app-mlvpn/po/templates/mlvpn.pot
@@ -0,0 +1,71 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32
+msgid "Advanced Settings"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:38
+msgid "Client"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34
+msgid "Enabled"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45
+msgid "First Port"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31
+msgid "General Settings"
+msgstr ""
+
+#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3
+msgid "Grant UCI access for luci-app-mlvpn"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42
+msgid "Host"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26
+msgid "Instances"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:54
+msgid "Interface name"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:78
+msgid "Label"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:72
+msgid "Loss tolerance"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24
+#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3
+msgid "MLVPN"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37
+msgid "Mode"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:50
+msgid "Password"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:66
+msgid "Reorder buffer size"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:39
+msgid "Server"
+msgstr ""
+
+#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:60
+msgid "Timeout (s)"
+msgstr ""
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
index 817255650..722ddf275 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
@@ -305,7 +305,7 @@
<% elseif vpn == "ubond" then %>
<% if nixio.fs.access("/usr/sbin/ubond") then %><% end %>
<% elseif vpn == "openvpn" then %>
- <% if nixio.fs.access("/usr/sbin/openvpn") then %><% end %>
+ <% if nixio.fs.access("/etc/init.d/openvpn") then %><% end %>
<%
end
end
diff --git a/openmptcprouter-mini/Makefile b/openmptcprouter-mini/Makefile
index dc35d60b5..96a01ac3a 100644
--- a/openmptcprouter-mini/Makefile
+++ b/openmptcprouter-mini/Makefile
@@ -35,7 +35,7 @@ MY_DEPENDS := \
wireless-tools \
libiwinfo-lua \
ca-bundle ca-certificates libustream-openssl \
- luci-mod-admin-full luci-app-firewall luci-app-glorytun luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-base \
+ luci-mod-admin-full luci-app-firewall luci-app-glorytun-tcp luci-app-glorytun-udp luci-app-shadowsocks-libev luci-app-unbound luci-theme-openmptcprouter luci-base \
luci-app-omr-tracker luci-app-omr-dscp \
luci-app-sqm sqm-scripts-extra \
luci-app-vnstat2 omr-quota luci-app-omr-quota \
diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
index b84667234..08ce14400 100755
--- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps
+++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
@@ -1065,6 +1065,15 @@ _set_config_from_vps() {
set openmptcprouter.settings.shadowsocks_disable=1
commit openmptcprouter
EOF
+ elif [ "$current_proxy" = "none" ]; then
+ uci -q batch <<-EOF >/dev/null
+ set shadowsocks-libev.sss0.disabled=1
+ commit shadowsocks-libev
+ set v2ray.main.enabled=0
+ commit shadowsocks-libev
+ set openmptcprouter.settings.shadowsocks_disable=1
+ commit openmptcprouter
+ EOF
fi
fi
fi
diff --git a/whois/Makefile b/whois/Makefile
index ab5bf1153..ae17cb7f7 100644
--- a/whois/Makefile
+++ b/whois/Makefile
@@ -2,13 +2,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=whois
-PKG_VERSION:=5.4.3
+PKG_VERSION:=5.5.7
PKG_RELEASE:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/w/whois
-PKG_HASH:=fefa84029f70985db19743e51c4a8b318a169426babeaa824a27110c26090fc3
+PKG_HASH:=3efa700dbf38d127c31b21af3176cd6e5a69f96a056be60ac1dcd13df7717393
PKG_CAT:=xzcat
PKG_INSTALL:=1