diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile index 5ea0e1fc..59fb7c16 100644 --- a/luci-app-passwall/Makefile +++ b/luci-app-passwall/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall -PKG_VERSION:=26.8.12 +PKG_VERSION:=26.8.19 PKG_RELEASE:=1 PKG_PO_VERSION:=$(PKG_VERSION) diff --git a/luci-app-passwall/luasrc/controller/passwall.lua b/luci-app-passwall/luasrc/controller/passwall.lua index 20c0d311..7d1272da 100644 --- a/luci-app-passwall/luasrc/controller/passwall.lua +++ b/luci-app-passwall/luasrc/controller/passwall.lua @@ -389,12 +389,12 @@ function socks_status() local index = http.formvalue("index") local id = http.formvalue("id") e.index = index - e.socks_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' > /dev/null", appname, id)) == 0 + e.socks_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '/%s' > /dev/null", appname, id)) == 0 local use_http = uci_get(id, "http_port") or 0 e.use_http = 0 if tonumber(use_http) > 0 then e.use_http = 1 - e.http_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '%s' | grep -E '\\+http|_http' > /dev/null", appname, id)) == 0 + e.http_status = luci.sys.call(string.format("/bin/busybox top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep '/%s' | grep -E '\\+http|_http' > /dev/null", appname, id)) == 0 end http_write_json(e) end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/type/2_xray.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/type/2_xray.lua index 01186b1c..2e1b90bc 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/server/type/2_xray.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/type/2_xray.lua @@ -63,15 +63,9 @@ o:value("shadowsocks", "Shadowsocks") o:value("trojan", "Trojan") o:value("hysteria2", "Hysteria2") o:value("wireguard", "WireGuard") -o:value("dokodemo-door", "dokodemo-door") +o:value("tunnel", "Tunnel") o:depends({ custom = false }) -o = s:option(DummyValue, "is_endpoint", "") -o.not_rewrite = true -o.template = m:template_path("/cbi/hidevalue") -o.value = "1" -o:depends({ custom = false, protocol = "wireguard" }) - o = s:option(Value, "port", translate("Listen Port")) o.datatype = "port" o:depends({ custom = false }) @@ -93,14 +87,14 @@ o = s:option(ListValue, "d_protocol", translate("Destination protocol")) o:value("tcp", "TCP") o:value("udp", "UDP") o:value("tcp,udp", "TCP,UDP") -o:depends({ protocol = "dokodemo-door" }) +o:depends({ protocol = "tunnel" }) o = s:option(Value, "d_address", translate("Destination address")) -o:depends({ protocol = "dokodemo-door" }) +o:depends({ protocol = "tunnel" }) o = s:option(Value, "d_port", translate("Destination port")) o.datatype = "port" -o:depends({ protocol = "dokodemo-door" }) +o:depends({ protocol = "tunnel" }) o = s:option(Value, "decryption", translate("Encrypt Method") .. " (decryption)") o.default = "none" @@ -411,7 +405,8 @@ end --[[acceptProxyProtocol]] o = s:option(Flag, "acceptProxyProtocol", translate("acceptProxyProtocol"), translate("Whether to receive PROXY protocol, when this node want to be fallback or forwarded by proxy, it must be enable, otherwise it cannot be used.")) o.default = "0" -o:depends({ custom = false, is_endpoint = "" }) +o:depends({ transport = "raw" }) +o:depends({ transport = "ws" }) --[[Fast Open]] o = s:option(Flag, "tcp_fast_open", "TCP " .. translate("Fast Open")) diff --git a/luci-app-passwall/luasrc/passwall/api.lua b/luci-app-passwall/luasrc/passwall/api.lua index d77c229f..5ab686ce 100644 --- a/luci-app-passwall/luasrc/passwall/api.lua +++ b/luci-app-passwall/luasrc/passwall/api.lua @@ -1748,6 +1748,7 @@ function apply_redirect(m) end end else + uci:revert(c_config .. "_redirect") sys.call("/bin/rm -f " .. tmp_uci_file) end end diff --git a/luci-app-passwall/luasrc/passwall/util_xray.lua b/luci-app-passwall/luasrc/passwall/util_xray.lua index 790ded8d..b3b0793b 100644 --- a/luci-app-passwall/luasrc/passwall/util_xray.lua +++ b/luci-app-passwall/luasrc/passwall/util_xray.lua @@ -567,11 +567,11 @@ function gen_config_server(node) version = 2, users = users } - elseif node.protocol == "dokodemo-door" then + elseif node.protocol == "tunnel" then settings = { - network = node.d_protocol, - address = node.d_address, - port = tonumber(node.d_port) + allowedNetwork = node.d_protocol, + rewriteAddress = node.d_address, + rewritePort = tonumber(node.d_port) } elseif node.protocol == "wireguard" then settings = { @@ -1231,8 +1231,8 @@ function gen_config(var) tag = in_tag, listen = "127.0.0.1", port = new_port, - protocol = "dokodemo-door", - settings = {network = "tcp,udp", address = to_node.address, port = tonumber(to_node.port)} + protocol = "tunnel", + settings = {allowedNetwork = "tcp,udp", rewriteAddress = to_node.address, rewritePort = tonumber(to_node.port)} }) if to_node.tls_serverName == nil then to_node.tls_serverName = to_node.address @@ -1587,8 +1587,8 @@ function gen_config(var) if tcp_redir_port or udp_redir_port then local inbound = { - protocol = "dokodemo-door", - settings = {network = "tcp,udp", followRedirect = true}, + protocol = "tunnel", + settings = {allowedNetwork = "tcp,udp", followRedirect = true}, streamSettings = {sockopt = {tproxy = "tproxy"}}, sniffing = { enabled = (xray_settings.sniffing_override_dest == "1") or (node and node.protocol == "_shunt") or false @@ -1614,7 +1614,7 @@ function gen_config(var) if tcp_redir_port then local tcp_inbound = api.clone(inbound) tcp_inbound.tag = "tcp_redir" - tcp_inbound.settings.network = "tcp" + tcp_inbound.settings.allowedNetwork = "tcp" tcp_inbound.port = tonumber(tcp_redir_port) tcp_inbound.streamSettings.sockopt.tproxy = tcp_proxy_way table.insert(inbounds, tcp_inbound) @@ -1623,7 +1623,7 @@ function gen_config(var) if udp_redir_port then local udp_inbound = api.clone(inbound) udp_inbound.tag = "udp_redir" - udp_inbound.settings.network = "udp" + udp_inbound.settings.allowedNetwork = "udp" udp_inbound.port = tonumber(udp_redir_port) table.insert(inbounds, udp_inbound) end @@ -1790,11 +1790,10 @@ function gen_config(var) table.insert(inbounds, { listen = "127.0.0.1", port = tonumber(dns_listen_port), - protocol = "dokodemo-door", + protocol = "tunnel", tag = "dns-in", settings = { - address = "0.0.0.0", - network = "tcp,udp" + allowedNetwork = "tcp,udp" } }) diff --git a/luci-app-passwall/luasrc/view/passwall/cbi/nodes_listvalue.htm b/luci-app-passwall/luasrc/view/passwall/cbi/nodes_listvalue.htm index fe15cf6e..dca74aee 100644 --- a/luci-app-passwall/luasrc/view/passwall/cbi/nodes_listvalue.htm +++ b/luci-app-passwall/luasrc/view/passwall/cbi/nodes_listvalue.htm @@ -96,7 +96,7 @@ window.lv_dropdown_data["<%=cbid%>"] = <%=json.stringify(dropdown_data)%>;