diff --git a/package/lienol/luci-app-passwall/Makefile b/package/lienol/luci-app-passwall/Makefile
index c68d1f9979..2fa4f6ca47 100644
--- a/package/lienol/luci-app-passwall/Makefile
+++ b/package/lienol/luci-app-passwall/Makefile
@@ -6,8 +6,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
-PKG_VERSION:=3.3
-PKG_RELEASE:=41-20200209
+PKG_VERSION:=3.5.3
+PKG_RELEASE:=20200211
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@@ -67,6 +67,14 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_pdnsd
config PACKAGE_$(PKG_NAME)_INCLUDE_dns2socks
bool "Include dns2socks"
default y
+
+config PACKAGE_$(PKG_NAME)_INCLUDE_v2ray-plugin
+ bool "Include v2ray-plugin (Shadowsocks plugin)"
+ default n
+
+config PACKAGE_$(PKG_NAME)_INCLUDE_simple-obfs
+ bool "Include simple-obfs (Shadowsocks plugin)"
+ default n
endmenu
endef
@@ -91,7 +99,9 @@ define Package/$(PKG_NAME)
+PACKAGE_$(PKG_NAME)_INCLUDE_haproxy:haproxy \
+PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG:chinadns-ng \
+PACKAGE_$(PKG_NAME)_INCLUDE_pdnsd:pdnsd-alt \
- +PACKAGE_$(PKG_NAME)_INCLUDE_dns2socks:dns2socks
+ +PACKAGE_$(PKG_NAME)_INCLUDE_dns2socks:dns2socks \
+ +PACKAGE_$(PKG_NAME)_INCLUDE_v2ray-plugin:v2ray-plugin \
+ +PACKAGE_$(PKG_NAME)_INCLUDE_simple-obfs:simple-obfs
endef
define Build/Prepare
diff --git a/package/lienol/luci-app-passwall/luasrc/controller/passwall.lua b/package/lienol/luci-app-passwall/luasrc/controller/passwall.lua
index 997dbfdf18..314b76fdaa 100644
--- a/package/lienol/luci-app-passwall/luasrc/controller/passwall.lua
+++ b/package/lienol/luci-app-passwall/luasrc/controller/passwall.lua
@@ -9,6 +9,7 @@ local v2ray = require "luci.model.cbi.passwall.api.v2ray"
function index()
if not nixio.fs.access("/etc/config/passwall") then return end
entry({"admin", "vpn"}, firstchild(), "VPN", 45).dependent = false
+ entry({"admin", "vpn", "passwall", "reset_config"}, call("reset_config")).leaf = true
entry({"admin", "vpn", "passwall", "show"}, call("show_menu")).leaf = true
entry({"admin", "vpn", "passwall", "hide"}, call("hide_menu")).leaf = true
if nixio.fs.access("/etc/config/passwall") and
@@ -37,9 +38,8 @@ function index()
entry({"admin", "vpn", "passwall", "rule_list"},
cbi("passwall/rule_list", {autoapply = true}),
_("Set Blacklist And Whitelist"), 98).leaf = true
- entry({"admin", "vpn", "passwall", "log"},
- cbi("passwall/log", {autoapply = true}), _("Watch Logs"), 99).leaf =
- true
+ entry({"admin", "vpn", "passwall", "log"}, cbi("passwall/log"),
+ _("Watch Logs"), 99).leaf = true
entry({"admin", "vpn", "passwall", "node_config"},
cbi("passwall/node_config")).leaf = true
@@ -80,6 +80,11 @@ local function http_write_json(content)
http.write_json(content or {code = 1})
end
+function reset_config()
+ luci.sys.call('[ -f "/usr/share/passwall/config.default" ] && cp -f /usr/share/passwall/config.default /etc/config/passwall && /etc/init.d/passwall reload')
+ luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "passwall"))
+end
+
function show_menu()
luci.sys.call("touch /etc/config/passwall_show")
luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "passwall"))
@@ -252,7 +257,7 @@ function check_port()
"ms. "
else
retstring = retstring .. "" ..
- node_name .. " Error. "
+ node_name .. " Timeout. "
end
ret = ""
end
diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua
index b97cc00c6a..71d9534629 100644
--- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua
+++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua
@@ -81,13 +81,14 @@ o:value("disable", translate("No Proxy"))
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("China WhiteList"))
-o:value("gamemode", translate("Game Mode"))
+--o:value("gamemode", translate("Game Mode"))
o:value("returnhome", translate("Return Home"))
---- TCP Redir Ports
o = s:option(Value, "tcp_redir_ports", translate("TCP Redir Ports"))
o.default = "default"
o:value("default", translate("Default"))
+o:value("disable", translate("No Proxy"))
o:value("1:65535", translate("All"))
o:value("80,443", "80,443")
o:value("80:", "80 " .. translate("or more"))
@@ -97,6 +98,7 @@ o:value(":443", "443 " .. translate("or less"))
o = s:option(Value, "udp_redir_ports", translate("UDP Redir Ports"))
o.default = "default"
o:value("default", translate("Default"))
+o:value("disable", translate("No Proxy"))
o:value("1:65535", translate("All"))
o:value("53", "53")
diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/global.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/global.lua
index 4bc990671f..37cb3b83c3 100644
--- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/global.lua
+++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/global.lua
@@ -24,7 +24,8 @@ uci:foreach(appname, "nodes", function(e)
n[e[".name"]] = "%s+%s:[%s] %s" %
{translate(type), "Kcptun", e.remarks, address}
else
- n[e[".name"]] = "%s:[%s] %s" % {translate(type), e.remarks, address}
+ n[e[".name"]] = "%s:[%s] %s" %
+ {translate(type), e.remarks, address}
end
end
end)
@@ -74,7 +75,7 @@ for i = 1, udp_node_num, 1 do
translate("For Game Mode or DNS resolution and more.") ..
translate("The selected server will not use Kcptun."))
o:value("nil", translate("Close"))
- o:value("default", translate("Same as the tcp node"))
+ o:value("tcp", translate("Same as the tcp node"))
else
o = s:option(ListValue, "udp_node" .. i,
translate("UDP Node") .. " " .. i)
@@ -89,11 +90,13 @@ for i = 1, socks5_node_num, 1 do
if i == 1 then
o = s:option(ListValue, "socks5_node" .. i, translate("Socks5 Node"),
translate("The client can use the router's Socks5 proxy."))
+ o:value("nil", translate("Close"))
+ o:value("tcp", translate("Same as the tcp node"))
else
o = s:option(ListValue, "socks5_node" .. i,
translate("Socks5 Node") .. " " .. i)
+ o:value("nil", translate("Close"))
end
- o:value("nil", translate("Close"))
for _, key in pairs(key_table) do o:value(key, n[key]) end
end
@@ -191,7 +194,7 @@ o:value("disable", translate("No Proxy"))
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("China WhiteList"))
-o:value("gamemode", translate("Game Mode"))
+--o:value("gamemode", translate("Game Mode"))
o:value("returnhome", translate("Return Home"))
---- Localhost Proxy Mode
diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/log.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/log.lua
index 25dec067f3..859079e9a1 100644
--- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/log.lua
+++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/log.lua
@@ -1,3 +1,5 @@
-m = Map("passwall")
-m:append(Template("passwall/log/log"))
-return m
+f = SimpleForm("passwall")
+f.reset = false
+f.submit = false
+f:append(Template("passwall/log/log"))
+return f
diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/node_config.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/node_config.lua
index a81eb76d6d..9a108b191a 100644
--- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/node_config.lua
+++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/node_config.lua
@@ -187,11 +187,13 @@ tcp_fast_open:depends("type", "Trojan")
ss_plugin = s:option(ListValue, "ss_plugin", translate("plugin"))
ss_plugin:value("none", translate("none"))
if is_finded("v2ray-plugin") then ss_plugin:value("v2ray-plugin") end
+if is_finded("obfs-local") then ss_plugin:value("obfs-local") end
ss_plugin:depends("type", "SS")
-ss_plugin_v2ray_opts =
- s:option(Value, "ss_plugin_v2ray_opts", translate("opts"))
-ss_plugin_v2ray_opts:depends("ss_plugin", "v2ray-plugin")
+ss_plugin_opts =
+ s:option(Value, "ss_plugin_opts", translate("opts"))
+ss_plugin_opts:depends("ss_plugin", "v2ray-plugin")
+ss_plugin_opts:depends("ss_plugin", "obfs-local")
use_kcp = s:option(Flag, "use_kcp", translate("Use Kcptun"),
"" .. translate(
diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua
index 26fb12b43a..8dd494c2b7 100644
--- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua
+++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua
@@ -57,6 +57,7 @@ s.addremove = false
---- TCP Redir Ports
o = s:option(Value, "tcp_redir_ports", translate("TCP Redir Ports"))
o.default = "80,443"
+o:value("disable", translate("No Proxy"))
o:value("1:65535", translate("All"))
o:value("80,443", "80,443")
o:value("80:", "80 " .. translate("or more"))
@@ -65,6 +66,7 @@ o:value(":443", "443 " .. translate("or less"))
---- UDP Redir Ports
o = s:option(Value, "udp_redir_ports", translate("UDP Redir Ports"))
o.default = "1:65535"
+o:value("disable", translate("No Proxy"))
o:value("1:65535", translate("All"))
o:value("53", "53")
@@ -159,8 +161,10 @@ o.default = "0"
o.rmempty = false
---- Hide Menu
-o = s:option(Button, "hide", translate("Hide Menu"), translate(
- "After the hidden to the display, type in the address bar enter the admin/vpn/passwall/show. such as: http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/show"))
+o = s:option(Button, "hide", translate("Hide Menu"),
+ translate(
+ "After the hidden to the display, input example in the address bar: ") ..
+ "http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/show")
o.inputstyle = "remove"
function o.write(e, e)
luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "passwall",
diff --git a/package/lienol/luci-app-passwall/luasrc/view/passwall/global/tips.htm b/package/lienol/luci-app-passwall/luasrc/view/passwall/global/tips.htm
index 75ca4e61ac..e9d114f217 100644
--- a/package/lienol/luci-app-passwall/luasrc/view/passwall/global/tips.htm
+++ b/package/lienol/luci-app-passwall/luasrc/view/passwall/global/tips.htm
@@ -2,5 +2,7 @@
<%:Tips%>:<%:You can use load balancing for failover.%>
+
+ <%:Restore the default configuration method. Input example in the address bar: %>http://192.168.1.1/cgi-bin/luci/admin/vpn/passwall/reset_config