From c04d12458988db3d97d32f6e06bbb235eb9c8e5e Mon Sep 17 00:00:00 2001 From: xiaorouji <60100640+xiaorouji@users.noreply.github.com> Date: Fri, 26 Mar 2021 19:31:30 +0800 Subject: [PATCH] luci-app-passwall: bump to 4-19 Signed-off-by: Tianling Shen --- package/lienol/luci-app-passwall/Makefile | 4 +- .../model/cbi/passwall/api/gen_trojan.lua | 16 +++--- .../model/cbi/passwall/api/gen_xray.lua | 6 ++- .../model/cbi/passwall/client/haproxy.lua | 6 +-- .../model/cbi/passwall/client/node_config.lua | 52 ++++++++++++------- .../cbi/passwall/client/node_subscribe.lua | 4 +- .../model/cbi/passwall/client/other.lua | 6 +-- .../luasrc/model/cbi/passwall/client/rule.lua | 4 +- .../model/cbi/passwall/server/api/trojan.lua | 8 +-- .../model/cbi/passwall/server/api/xray.lua | 3 ++ .../luasrc/model/cbi/passwall/server/user.lua | 50 +++++++++--------- .../passwall/node_list/link_share_man.htm | 15 +----- 12 files changed, 91 insertions(+), 83 deletions(-) diff --git a/package/lienol/luci-app-passwall/Makefile b/package/lienol/luci-app-passwall/Makefile index c3959889d9..a8eb6ebac8 100644 --- a/package/lienol/luci-app-passwall/Makefile +++ b/package/lienol/luci-app-passwall/Makefile @@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall PKG_VERSION:=4 -PKG_RELEASE:=18 -PKG_DATE:=20210325 +PKG_RELEASE:=19 +PKG_DATE:=20210327 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua index 7df4d3bdaf..1ef8a51668 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_trojan.lua @@ -34,7 +34,7 @@ local trojan = { ssl = { verify = (node.tls_allowInsecure ~= "1") and true or false, verify_hostname = true, - cert = node.trojan_cert_path, + cert = nil, cipher = cipher, cipher_tls13 = cipher13, sni = node.tls_serverName or node.address, @@ -58,12 +58,12 @@ local trojan = { } } if node.type == "Trojan-Go" then - trojan.ssl.cipher = node.fingerprint == nil and cipher or (node.fingerprint == "disable" and cipher13 .. ":" .. cipher or "") - trojan.ssl.cipher_tls13 = node.fingerprint == nil and cipher13 or nil - trojan.ssl.fingerprint = (node.fingerprint ~= nil and node.fingerprint ~= "disable" ) and node.fingerprint or "" - trojan.ssl.alpn = node.trojan_transport == 'ws' and {} or {"h2", "http/1.1"} - if node.stream_security ~= "tls" and node.trojan_transport == "original" then trojan.ssl = nil end - trojan.transport_plugin = node.stream_security == "none" and node.trojan_transport == "original" and { + trojan.ssl.cipher = (node.fingerprint == nil) and cipher or (node.fingerprint == "disable" and cipher13 .. ":" .. cipher or "") + trojan.ssl.cipher_tls13 = (node.fingerprint == nil) and cipher13 or nil + trojan.ssl.fingerprint = (node.fingerprint ~= nil and node.fingerprint ~= "disable") and node.fingerprint or "" + trojan.ssl.alpn = (node.trojan_transport == 'ws') and {} or {"h2", "http/1.1"} + if node.tls ~= "1" and node.trojan_transport == "original" then trojan.ssl = nil end + trojan.transport_plugin = ((not node.tls or node.tls ~= "1") and node.trojan_transport == "original") and { enabled = node.plugin_type ~= nil, type = node.plugin_type or "plaintext", command = node.plugin_type ~= "plaintext" and node.plugin_cmd or nil, @@ -71,7 +71,7 @@ if node.type == "Trojan-Go" then arg = node.plugin_type ~= "plaintext" and { node.plugin_arg } or nil, env = {} } or nil - trojan.websocket = node.trojan_transport and node.trojan_transport:find('ws') and { + trojan.websocket = (node.trojan_transport and node.trojan_transport:find('ws')) and { enabled = true, path = node.ws_path or "/", host = node.ws_host or (node.tls_serverName or node.address) diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_xray.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_xray.lua index 5498c5c562..fac9b40912 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_xray.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/api/gen_xray.lua @@ -113,7 +113,8 @@ function gen_outbound(node, tag, is_proxy, proxy_tag) } or nil, tlsSettings = (node.stream_security == "tls") and { serverName = node.tls_serverName, - allowInsecure = (node.tls_allowInsecure == "1") and true or false + allowInsecure = (node.tls_allowInsecure == "1") and true or false, + fingerprint = (node.fingerprint and node.fingerprint ~= "disable") and node.fingerprint or nil } or nil, tcpSettings = (node.transport == "tcp" and node.protocol ~= "socks") and { header = { @@ -151,6 +152,9 @@ function gen_outbound(node, tag, is_proxy, proxy_tag) security = node.quic_security, key = node.quic_key, header = {type = node.quic_guise} + } or nil, + grpcSettings = (node.transport == "grpc") and { + serviceName = node.grpc_serviceName } or nil } or nil, settings = { diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua index 10fef3c233..ea000623de 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/haproxy.lua @@ -30,19 +30,19 @@ o.default = false ---- Console Username o = s:option(Value, "console_user", translate("Console Username")) o.default = "" -o:depends("balancing_enable", 1) +o:depends("balancing_enable", true) ---- Console Password o = s:option(Value, "console_password", translate("Console Password")) o.password = true o.default = "" -o:depends("balancing_enable", 1) +o:depends("balancing_enable", true) ---- Console Port o = s:option(Value, "console_port", translate("Console Port"), translate( "In the browser input routing IP plus port access, such as:192.168.1.1:1188")) o.default = "1188" -o:depends("balancing_enable", 1) +o:depends("balancing_enable", true) -- [[ Balancing Settings ]]-- s = m:section(TypedSection, "haproxy_config", "", diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua index 76b9ace7a9..027185540e 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua @@ -424,8 +424,8 @@ tls:depends("type", "Trojan-Go") xtls = s:option(Flag, "xtls", translate("XTLS")) xtls.default = 0 -xtls:depends({ type = "Xray", protocol = "vless", tls = "1" }) -xtls:depends({ type = "Xray", protocol = "trojan", tls = "1" }) +xtls:depends({ type = "Xray", protocol = "vless", tls = true }) +xtls:depends({ type = "Xray", protocol = "trojan", tls = true }) flow = s:option(Value, "flow", translate("flow")) flow.default = "xtls-rprx-direct" @@ -435,34 +435,41 @@ flow:value("xtls-rprx-direct") flow:value("xtls-rprx-direct-udp443") flow:value("xtls-rprx-splice") flow:value("xtls-rprx-splice-udp443") -flow:depends("xtls", "1") +flow:depends("xtls", true) -- [[ TLS部分 ]] -- tls_sessionTicket = s:option(Flag, "tls_sessionTicket", translate("Session Ticket")) tls_sessionTicket.default = "0" -tls_sessionTicket:depends({ type = "Trojan", tls = "1" }) -tls_sessionTicket:depends({ type = "Trojan-Plus", tls = "1" }) -tls_sessionTicket:depends({ type = "Trojan-Go", tls = "1" }) +tls_sessionTicket:depends({ type = "Trojan", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Plus", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Go", tls = true }) --- [[ Trojan TLS ]]-- -trojan_force_fp = s:option(ListValue, "fingerprint", translate("Finger Print")) -for a, t in ipairs(force_fp) do trojan_force_fp:value(t) end -trojan_force_fp.default = "firefox" -trojan_force_fp:depends({ type = "Trojan-Go", tls = "1" }) +trojan_go_fingerprint = s:option(ListValue, "trojan_go_fingerprint", translate("Finger Print")) +for a, t in ipairs(force_fp) do trojan_go_fingerprint:value(t) end +trojan_go_fingerprint.default = "firefox" +trojan_go_fingerprint:depends({ type = "Trojan-Go", tls = true }) +function trojan_go_fingerprint.cfgvalue(self, section) + return m:get(section, "fingerprint") +end +function trojan_go_fingerprint.write(self, section, value) + m:set(section, "fingerprint", value) +end tls_serverName = s:option(Value, "tls_serverName", translate("Domain")) -tls_serverName:depends("tls", "1") -tls_serverName:depends("xtls", "1") +tls_serverName:depends("tls", true) tls_allowInsecure = s:option(Flag, "tls_allowInsecure", translate("allowInsecure"), translate("Whether unsafe connections are allowed. When checked, Certificate validation will be skipped.")) tls_allowInsecure.default = "0" -tls_allowInsecure:depends("tls", "1") -tls_allowInsecure:depends("xtls", "1") +tls_allowInsecure:depends("tls", true) --- [[ Trojan Cert ]]-- -trojan_cert_path = s:option(Value, "trojan_cert_path", translate("Trojan Cert Path")) -trojan_cert_path.default = "" -trojan_cert_path:depends({ tls = "1", tls_allowInsecure = false }) +xray_fingerprint = s:option(ListValue, "fingerprint", translate("Finger Print")) +xray_fingerprint:value("disable") +xray_fingerprint:value("chrome") +xray_fingerprint:value("firefox") +xray_fingerprint:value("safari") +xray_fingerprint:value("randomized") +xray_fingerprint.default = "disable" +xray_fingerprint:depends({ type = "Xray", tls = true, xtls = false }) trojan_transport = s:option(ListValue, "trojan_transport", translate("Transport")) trojan_transport:value("original", "Original") @@ -477,7 +484,7 @@ trojan_plugin:value("plaintext", "Plain Text") trojan_plugin:value("shadowsocks", "ShadowSocks") trojan_plugin:value("other", "Other") trojan_plugin.default = "plaintext" -trojan_plugin:depends({ tls = "0", trojan_transport = "original" }) +trojan_plugin:depends({ tls = false, trojan_transport = "original" }) trojan_plugin_cmd = s:option(Value, "plugin_cmd", translate("Plugin Binary")) trojan_plugin_cmd.placeholder = "eg: /usr/bin/v2ray-plugin" @@ -501,6 +508,7 @@ transport:value("ws", "WebSocket") transport:value("h2", "HTTP/2") transport:value("ds", "DomainSocket") transport:value("quic", "QUIC") +transport:value("grpc", "gRPC") transport:depends({ type = "Xray", protocol = "vmess" }) transport:depends({ type = "Xray", protocol = "vless" }) transport:depends({ type = "Xray", protocol = "socks" }) @@ -611,6 +619,10 @@ quic_guise = s:option(ListValue, "quic_guise", translate("Camouflage Type")) for a, t in ipairs(header_type_list) do quic_guise:value(t) end quic_guise:depends("transport", "quic") +-- [[ gRPC部分 ]]-- +grpc_serviceName = s:option(Value, "grpc_serviceName", "ServiceName") +grpc_serviceName:depends("transport", "grpc") + -- [[ Trojan-Go Shadowsocks2 ]] -- ss_aead = s:option(Flag, "ss_aead", translate("Shadowsocks2")) ss_aead:depends("type", "Trojan-Go") diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua index 6389211156..815c9d597c 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/node_subscribe.lua @@ -24,13 +24,13 @@ o:value(7, translate("Every day")) for e = 1, 6 do o:value(e, translate("Week") .. e) end o:value(0, translate("Week") .. translate("day")) o.default = 0 -o:depends("auto_update_subscribe", 1) +o:depends("auto_update_subscribe", true) ---- Day update rules o = s:option(ListValue, "time_update_subscribe", translate("Day update rules")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end o.default = 0 -o:depends("auto_update_subscribe", 1) +o:depends("auto_update_subscribe", true) o = s:option(ListValue, "filter_keyword_mode", translate("Filter keyword Mode")) o:value("0", translate("Close")) diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua index 5a3e2b5450..bdd566ed46 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/other.lua @@ -28,21 +28,21 @@ o.rmempty = false ---- Automatically turn off time o = s:option(ListValue, "time_off", translate("Automatically turn off time")) o.default = nil -o:depends("auto_on", "1") +o:depends("auto_on", true) o:value(nil, translate("Disable")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end ---- Automatically turn on time o = s:option(ListValue, "time_on", translate("Automatically turn on time")) o.default = nil -o:depends("auto_on", "1") +o:depends("auto_on", true) o:value(nil, translate("Disable")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end ---- Automatically restart time o = s:option(ListValue, "time_restart", translate("Automatically restart time")) o.default = nil -o:depends("auto_on", "1") +o:depends("auto_on", true) o:value(nil, translate("Disable")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end --]] diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua index e9893b23cd..f87cadecb5 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/client/rule.lua @@ -44,13 +44,13 @@ o:value(7, translate("Every day")) for e = 1, 6 do o:value(e, translate("Week") .. e) end o:value(0, translate("Week") .. translate("day")) o.default = 0 -o:depends("auto_update", 1) +o:depends("auto_update", true) ---- Time Update o = s:option(ListValue, "time_update", translate("Day update rules")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end o.default = 0 -o:depends("auto_update", 1) +o:depends("auto_update", true) o = s:option(Value, "xray_location_asset", translate("Location of Xray asset"), translate("This variable specifies a directory where geoip.dat and geosite.dat files are.")) o.default = "/usr/share/xray/" diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua index 469a5c82dd..5f6a2b4ac3 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/trojan.lua @@ -16,7 +16,7 @@ function gen_config(user) key_password = "", cipher = user.fingerprint == nil and cipher or (user.fingerprint == "disable" and cipher13 .. ":" .. cipher or ""), cipher_tls13 = user.fingerprint == nil and cipher13 or nil, - sni = user.tls_serverName, + sni = nil, verify = (user.tls_allowInsecure ~= "1") and true or false, verify_hostname = false, reuse_session = true, @@ -29,7 +29,7 @@ function gen_config(user) }, udp_timeout = 60, disable_http_check = true, - transport_plugin = (user.tls == nil or user.tls ~= "1") and user.trojan_transport == "original" and { + transport_plugin = ((user.tls == nil or user.tls ~= "1") and user.trojan_transport == "original") and { enabled = user.plugin_type ~= nil, type = user.plugin_type or "plaintext", command = user.plugin_type ~= "plaintext" and user.plugin_cmd or nil, @@ -37,10 +37,10 @@ function gen_config(user) arg = user.plugin_type ~= "plaintext" and { user.plugin_arg } or nil, env = {} } or nil, - websocket = user.trojan_transport and user.trojan_transport:find('ws') and { + websocket = (user.trojan_transport and user.trojan_transport:find('ws')) and { enabled = true, path = user.ws_path or "/", - host = user.ws_host or (user.tls_serverName or user.address) + host = user.ws_host or "" } or nil, shadowsocks = (user.ss_aead == "1") and { enabled = true, diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/xray.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/xray.lua index 23226bf84e..7052b32f84 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/xray.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/api/xray.lua @@ -209,6 +209,9 @@ function gen_config(user) security = user.quic_security, key = user.quic_key, header = {type = user.quic_guise} + } or nil, + grpcSettings = (user.transport == "grpc") and { + serviceName = user.grpc_serviceName } or nil } } diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua index baa4bdf56e..6e5cd098ab 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/server/user.lua @@ -135,11 +135,11 @@ auth:depends({ type = "Xray", protocol = "socks" }) auth:depends({ type = "Xray", protocol = "http" }) username = s:option(Value, "username", translate("Username")) -username:depends("auth", "1") +username:depends("auth", true) password = s:option(Value, "password", translate("Password")) password.password = true -password:depends("auth", "1") +password:depends("auth", true) password:depends("type", "SS") password:depends("type", "SSR") password:depends("type", "Brook") @@ -270,8 +270,8 @@ tls:depends("type", "Trojan-Go") xtls = s:option(Flag, "xtls", translate("XTLS")) xtls.default = 0 -xtls:depends({ type = "Xray", protocol = "vless", tls = "1" }) -xtls:depends({ type = "Xray", protocol = "trojan", tls = "1" }) +xtls:depends({ type = "Xray", protocol = "vless", tls = true }) +xtls:depends({ type = "Xray", protocol = "trojan", tls = true }) flow = s:option(Value, "flow", translate("flow")) flow.default = "xtls-rprx-direct" @@ -279,18 +279,15 @@ flow:value("xtls-rprx-origin") flow:value("xtls-rprx-origin-udp443") flow:value("xtls-rprx-direct") flow:value("xtls-rprx-direct-udp443") -flow:depends("xtls", "1") +flow:depends("xtls", true) -- [[ TLS部分 ]] -- tls_allowInsecure = s:option(Flag, "tls_allowInsecure", translate("allowInsecure"), translate("Whether unsafe connections are allowed. When checked, Certificate validation will be skipped.")) tls_allowInsecure.default = "0" -tls_allowInsecure:depends({ type = "Trojan", tls = "1" }) -tls_allowInsecure:depends({ type = "Trojan-Plus", tls = "1" }) -tls_allowInsecure:depends({ type = "Trojan-Go", tls = "1" }) - -tls_serverName = s:option(Value, "tls_serverName", translate("Domain")) -tls_serverName:depends("tls", "1") +tls_allowInsecure:depends({ type = "Trojan", tls = true }) +tls_allowInsecure:depends({ type = "Trojan-Plus", tls = true }) +tls_allowInsecure:depends({ type = "Trojan-Go", tls = true }) tls_certificateFile = s:option(FileUpload, "tls_certificateFile", translate("Public key absolute path"), translate("as:") .. "/etc/ssl/fullchain.pem") tls_certificateFile.validate = function(self, value, t) @@ -304,7 +301,7 @@ tls_certificateFile.validate = function(self, value, t) return nil end tls_certificateFile.default = "/etc/config/ssl/" .. arg[1] .. ".pem" -tls_certificateFile:depends("tls", "1") +tls_certificateFile:depends("tls", true) tls_keyFile = s:option(FileUpload, "tls_keyFile", translate("Private key absolute path"), translate("as:") .. "/etc/ssl/private.key") tls_keyFile.validate = function(self, value, t) @@ -318,13 +315,13 @@ tls_keyFile.validate = function(self, value, t) return nil end tls_keyFile.default = "/etc/config/ssl/" .. arg[1] .. ".key" -tls_keyFile:depends("tls", "1") +tls_keyFile:depends("tls", true) tls_sessionTicket = s:option(Flag, "tls_sessionTicket", translate("Session Ticket")) tls_sessionTicket.default = "0" -tls_sessionTicket:depends({ type = "Trojan", tls = "1" }) -tls_sessionTicket:depends({ type = "Trojan-Plus", tls = "1" }) -tls_sessionTicket:depends({ type = "Trojan-Go", tls = "1" }) +tls_sessionTicket:depends({ type = "Trojan", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Plus", tls = true }) +tls_sessionTicket:depends({ type = "Trojan-Go", tls = true }) transport = s:option(ListValue, "transport", translate("Transport")) transport:value("tcp", "TCP") @@ -333,6 +330,7 @@ transport:value("ws", "WebSocket") transport:value("h2", "HTTP/2") transport:value("ds", "DomainSocket") transport:value("quic", "QUIC") +transport:value("grpc", "gRPC") transport:depends({ type = "Xray", protocol = "vmess" }) transport:depends({ type = "Xray", protocol = "vless" }) transport:depends({ type = "Xray", protocol = "socks" }) @@ -352,7 +350,7 @@ trojan_plugin:value("plaintext", "Plain Text") trojan_plugin:value("shadowsocks", "ShadowSocks") trojan_plugin:value("other", "Other") trojan_plugin.default = "plaintext" -trojan_plugin:depends({ tls = "0", trojan_transport = "original" }) +trojan_plugin:depends({ tls = false, trojan_transport = "original" }) trojan_plugin_cmd = s:option(Value, "plugin_cmd", translate("Plugin Binary")) trojan_plugin_cmd.placeholder = "eg: /usr/bin/v2ray-plugin" @@ -468,6 +466,10 @@ quic_guise = s:option(ListValue, "quic_guise", translate("Camouflage Type")) for a, t in ipairs(header_type_list) do quic_guise:value(t) end quic_guise:depends("transport", "quic") +-- [[ gRPC部分 ]]-- +grpc_serviceName = s:option(Value, "grpc_serviceName", "ServiceName") +grpc_serviceName:depends("transport", "grpc") + acceptProxyProtocol = 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.")) acceptProxyProtocol:depends({ type = "Xray", transport = "tcp" }) acceptProxyProtocol:depends({ type = "Xray", transport = "ws" }) @@ -479,21 +481,21 @@ fallback:depends({ type = "Xray", protocol = "trojan", transport = "tcp" }) --[[ fallback_alpn = s:option(Value, "fallback_alpn", "Fallback alpn") -fallback_alpn:depends("fallback", "1") +fallback_alpn:depends("fallback", true) fallback_path = s:option(Value, "fallback_path", "Fallback path") -fallback_path:depends("fallback", "1") +fallback_path:depends("fallback", true) fallback_dest = s:option(Value, "fallback_dest", "Fallback dest") -fallback_dest:depends("fallback", "1") +fallback_dest:depends("fallback", true) fallback_xver = s:option(Value, "fallback_xver", "Fallback xver") fallback_xver.default = 0 -fallback_xver:depends("fallback", "1") +fallback_xver:depends("fallback", true) ]]-- fallback_list = s:option(DynamicList, "fallback_list", "Fallback", translate("dest,path")) -fallback_list:depends("fallback", "1") +fallback_list:depends("fallback", true) ss_aead = s:option(Flag, "ss_aead", translate("Shadowsocks2")) ss_aead:depends("type", "Trojan-Go") @@ -502,11 +504,11 @@ ss_aead.default = "0" ss_aead_method = s:option(ListValue, "ss_aead_method", translate("Encrypt Method")) for _, v in ipairs(encrypt_methods_ss_aead) do ss_aead_method:value(v, v) end ss_aead_method.default = "aead_aes_128_gcm" -ss_aead_method:depends("ss_aead", "1") +ss_aead_method:depends("ss_aead", true) ss_aead_pwd = s:option(Value, "ss_aead_pwd", translate("Password")) ss_aead_pwd.password = true -ss_aead_pwd:depends("ss_aead", "1") +ss_aead_pwd:depends("ss_aead", true) tcp_fast_open = s:option(Flag, "tcp_fast_open", translate("TCP Fast Open")) tcp_fast_open.default = "0" diff --git a/package/lienol/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm b/package/lienol/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm index 9017abd722..def9ca590f 100644 --- a/package/lienol/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm +++ b/package/lienol/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm @@ -80,7 +80,6 @@ local api = require "luci.model.cbi.passwall.api.api" var opt = { base: "cbid.passwall", client : true, - fallback: "dummy", get: function(opt) { var id = this.base + "." + opt; var obj = document.getElementsByName(id)[0] || document.getElementsByClassName(id)[0] || document.getElementById(id) @@ -88,13 +87,6 @@ local api = require "luci.model.cbi.passwall.api.api" return obj; } else { return null; - /* - obj = document.getElementById(this.fallback); - if (opt === "address") obj.value = "0.0.0.0"; - else if (opt === "mux") obj.value = "0"; - if (this.client || (opt !== "address" && opt !== "mux")) alert("<%:Faltal on get option, please help in debug: %>" + opt); - return obj; - */ } }, getlist: function(opt) { @@ -131,7 +123,6 @@ local api = require "luci.model.cbi.passwall.api.api" } opt.base = "cbid." + urlname + "." + sid; opt.client = urlname.indexOf("server") === -1; - opt.fallback = urlname + "-dummy"; var v_type = opt.get("type").value; var v_alias = opt.get("remarks"); var url = null; @@ -352,7 +343,6 @@ local api = require "luci.model.cbi.passwall.api.api" var opt = { base: 'cbid.passwall', client : true, - fallback: 'dummy', get: function(opt) { var obj; var id = this.base + '.' + opt; @@ -360,8 +350,7 @@ local api = require "luci.model.cbi.passwall.api.api" if (obj) { return obj; } else { - if (this.client || (opt !== "address" && opt !== "mux")) alert('<%:Faltal on get option, please help in debug: %>' + opt); - return document.getElementById(this.fallback); + return null; } }, set: function(opt, val) { @@ -402,7 +391,6 @@ local api = require "luci.model.cbi.passwall.api.api" } opt.base = "cbid." + urlname + "." + sid; opt.client = urlname.indexOf("server") === -1; - opt.fallback = urlname + '-dummy'; var ssrurl = prompt('<%:Paste Share URL Here%>', ''); if (ssrurl === null || ssrurl === "") { return false; @@ -793,7 +781,6 @@ local api = require "luci.model.cbi.passwall.api.api" } //]]> -