From ca32b91815fe9259415112bbe04a09126561327b Mon Sep 17 00:00:00 2001 From: xiaorouji <60100640+xiaorouji@users.noreply.github.com> Date: Sat, 4 Feb 2023 16:39:36 +0800 Subject: [PATCH] luci: add Xray VLESS share link `fp` --- .../passwall/node_list/link_share_man.htm | 22 ++++++++++++------- .../root/usr/share/passwall/subscribe.lua | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm index d82736c6e..2b0447ce1 100644 --- a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm @@ -287,14 +287,17 @@ local has_xray = api.is_finded("xray") params += opt.query("encryption", "encryption"); if (opt.get("tls").checked) { - var v_security = "tls"; - var v_flow = null; - params += "&security=" + v_security; - if (opt.get("tlsflow").value) { - v_flow = opt.get("tlsflow").value; - params += "&flow=" + v_flow; - } - params += opt.query("sni", "tls_serverName"); + var v_security = "tls"; + params += "&security=" + v_security; + if (opt.get("tlsflow").value) { + let v_flow = opt.get("tlsflow").value; + params += "&flow=" + v_flow; + } + if (opt.get("xray_fingerprint").value && opt.get("xray_fingerprint").value != "") { + let v_fp = opt.get("xray_fingerprint").value + params += "&fp=" + v_fp; + } + params += opt.query("sni", "tls_serverName"); } params += "#" + encodeURI(v_alias.value); @@ -857,6 +860,9 @@ local has_xray = api.is_finded("xray") if (queryParam.allowinsecure === '0') { opt.set('tls_allowInsecure', false); } + if (queryParam.fp && queryParam.fp.trim() != "") { + opt.set('xray_fingerprint', queryParam.fp); + } } } diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua index c387dccf6..0bdd0fc0d 100755 --- a/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -775,6 +775,7 @@ local function processData(szType, content, add_mode, add_from) result.tls = "1" result.tlsflow = params.flow or nil result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host + result.fingerprint = (params.fp and params.fp ~= "") and params.fp or nil end result.port = port