Преглед изворни кода

luci-app-ssr-plus: Add noises 'Hex' Encode.

zxlhhyccc пре 1 недеља
родитељ
комит
2b30e37919

+ 0 - 1
luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua

@@ -412,7 +412,6 @@ if is_finded("xray") then
 	o = s:option(ListValue, "type", translate("Type"))
 	o.default = "base64"
 	o:value("rand", "rand")
-	o:value("array", "array")
 	o:value("str", "str")
 	o:value("hex", "hex")
 	o:value("base64", "base64")

+ 3 - 3
luci-app-ssr-plus/po/templates/ssr-plus.pot

@@ -542,7 +542,7 @@ msgid ""
 "fastest_addr (default: load_balance)."
 msgstr ""
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:433
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:432
 msgid "Delay (ms)"
 msgstr ""
 
@@ -611,7 +611,7 @@ msgstr ""
 msgid "DoT upstream (Need use wolfssl version)"
 msgstr ""
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
 msgid "Domain Strategy"
 msgstr ""
 
@@ -1467,7 +1467,7 @@ msgstr ""
 msgid "Packet or Rand length as a string, e.g., 10-20."
 msgstr ""
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:429
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:428
 msgid "Packet | Rand Length"
 msgstr ""
 

+ 3 - 3
luci-app-ssr-plus/po/zh_Hans/ssr-plus.po

@@ -555,7 +555,7 @@ msgstr ""
 "定义上游逻辑模式,可选择值:负载均衡、并行查询、最快响应(默认值:负载均"
 "衡)。"
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:433
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:432
 msgid "Delay (ms)"
 msgstr "延迟(ms)"
 
@@ -624,7 +624,7 @@ msgstr "是否要恢复客户端默认配置?"
 msgid "DoT upstream (Need use wolfssl version)"
 msgstr "DoT 上游(需使用 wolfssl 版本)"
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:420
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
 msgid "Domain Strategy"
 msgstr "域名解析策略"
 
@@ -1483,7 +1483,7 @@ msgstr ""
 msgid "Packet or Rand length as a string, e.g., 10-20."
 msgstr "数据包或 Rand 长度以字符串形式输入,例如:10-20。"
 
-#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:429
+#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:428
 msgid "Packet | Rand Length"
 msgstr "数据包 | Rand 长度"
 

+ 14 - 1
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua

@@ -61,6 +61,19 @@ local function base64Encode(text)
 	end
 end
 
+-- Hex 编码
+local function hexEncode(text)
+	if not text or text == "" then
+		return ''
+	end
+	local hex = ''
+	for i = 1, #text do
+		local byte = string.byte(text, i)
+		hex = hex .. string.format('%02X', byte)
+	end
+	return hex
+end
+
 local function cleanEmptyTables(t)
 	if type(t) ~= "table" then return nil end
 	for k, v in pairs(t) do
@@ -562,7 +575,7 @@ end
 										{
 											rand = (n_type == "rand") and (n_packet and (type(n_packet) == "string" and (n_packet:find("-")) and n_packet or tonumber(n_packet))) or nil,
 											type = (type(n_type) == "string" and n_type ~= "rand") and n_type or nil,
-											packet = (n_type ~= "rand") and (n_type ~= "str" and (n_packet and type(n_packet) == "string" and base64Encode(n_packet)) or n_packet) or nil,
+											packet = (n_type ~= "rand") and ((n_packet and type(n_packet) == "string") and ((n_type == "hex" and hexEncode(n_packet)) or (n_type == "base64" and base64Encode(n_packet))) or n_packet) or nil,
 											delay = (type(n_delay) == "string" and string.find(n_delay, "-")) and n_delay or (n_delay and tonumber(n_delay))
 										}
 									}