diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua index d8f5ca14f..fa81be4a9 100644 --- a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -569,6 +569,13 @@ o.datatype = "uinteger" o.default = 1500 o.rmempty = true +-- AlterId +o = s:option(Value, "alter_id", translate("AlterId")) +o.datatype = "port" +o.default = 16 +o.rmempty = true +o:depends({type = "v2ray", v2ray_protocol = "vmess"}) + -- VmessId o = s:option(Value, "vmess_id", translate("Vmess/VLESS ID (UUID)")) o.rmempty = true diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm index f51d21d45..5eecbee6a 100644 --- a/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm +++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -252,6 +252,7 @@ function import_ssr_url(btn, urlname, sid) { document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = ssm.ps; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm.add; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm.port; + document.getElementsByName('cbid.shadowsocksr.' + sid + '.alter_id')[0].value = ssm.aid; document.getElementsByName('cbid.shadowsocksr.' + sid + '.vmess_id')[0].value = ssm.id; document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].value = ssm.net; document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].dispatchEvent(event); diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua index 36e7b84ad..1e1878c43 100755 --- a/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua @@ -23,6 +23,7 @@ function vmess_vless() users = { { id = server.vmess_id, + alterId = (server.v2ray_protocol == "vmess" or not server.v2ray_protocol) and tonumber(server.alter_id) or nil, security = (server.v2ray_protocol == "vmess" or not server.v2ray_protocol) and server.security or nil, encryption = (server.v2ray_protocol == "vless") and server.vless_encryption or nil, flow = ((server.tls == '1') or (server.reality == '1')) and server.tls_flow or nil diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua index 1de63b259..219f06ace 100755 --- a/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua +++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua @@ -173,6 +173,7 @@ local function processData(szType, content) result.server = info.add result.server_port = info.port result.transport = info.net + result.alter_id = info.aid result.vmess_id = info.id result.alias = info.ps -- result.mux = 1 @@ -228,10 +229,6 @@ local function processData(szType, content) else result.tls = "0" end - -- https://www.v2fly.org/config/protocols/vmess.html#vmess-md5-认证信息-淘汰机制 - if info.aid and (tonumber(info.aid) > 0) then - result.server = nil - end elseif szType == "ss" then local idx_sp = 0 local alias = ""