luci-app-ssr-plus: OpenWrt SNAPSHOT compatibility (#4154)

* luci-app-ssr-plus: OpenWrt SNAPSHOT compatibility

Fix #4143

* Modify getElementById to getElementsByName

Luci modification for OpenWrt 19.07 or higher
This commit is contained in:
dongjuanyong 2020-04-09 01:07:52 +08:00 committed by GitHub
parent df49785a2d
commit ae7a5d7060
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 72 deletions

View File

@ -47,15 +47,15 @@
var s = document.getElementById(urlname + '-status'); var s = document.getElementById(urlname + '-status');
if (!s) if (!s)
return false; return false;
var v_server = document.getElementById('cbid.shadowsocksr.' + sid + '.server'); var v_server = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0];
var v_port = document.getElementById('cbid.shadowsocksr.' + sid + '.server_port'); var v_port = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0];
var v_protocol = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol'); var v_protocol = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0];
var v_method = document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method'); var v_method = document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0];
var v_obfs = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs'); var v_obfs = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0];
var v_password = document.getElementById('cbid.shadowsocksr.' + sid + '.password'); var v_password = document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0];
var v_obfs_param = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param'); var v_obfs_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0];
var v_protocol_param = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param'); var v_protocol_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0];
var v_alias = document.getElementById('cbid.shadowsocksr.' + sid + '.alias'); var v_alias = document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0];
var ssr_str = v_server.value + ":" + var ssr_str = v_server.value + ":" +
v_port.value + ":" + v_port.value + ":" +
v_protocol.value + ":" + v_protocol.value + ":" +
@ -104,8 +104,8 @@
if (ssu[0] == "ssr") { if (ssu[0] == "ssr") {
var sstr = b64decsafe(ssu[1]); var sstr = b64decsafe(ssu[1]);
var ploc = sstr.indexOf("/?"); var ploc = sstr.indexOf("/?");
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ssr"; document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ssr";
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
var url0, param = ""; var url0, param = "";
if (ploc > 0) { if (ploc > 0) {
url0 = sstr.substr(0, ploc); url0 = sstr.substr(0, ploc);
@ -123,17 +123,17 @@
pdict[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || ''); pdict[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || '');
} }
} }
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm[1]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm[1];
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm[2]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm[2];
document.getElementById('cbid.shadowsocksr.' + sid + '.protocol').value = ssm[3]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0].value = ssm[3];
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method').value = ssm[4]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0].value = ssm[4];
document.getElementById('cbid.shadowsocksr.' + sid + '.obfs').value = ssm[5]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0].value = ssm[5];
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = b64decsafe(ssm[6]); document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = b64decsafe(ssm[6]);
document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param').value = dictvalue(pdict, 'obfsparam'); document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0].value = dictvalue(pdict, 'obfsparam');
document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param').value = dictvalue(pdict, 'protoparam'); document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0].value = dictvalue(pdict, 'protoparam');
var rem = pdict['remarks']; var rem = pdict['remarks'];
if (typeof (rem) != 'undefined' && rem != '' && rem.length > 0) if (typeof (rem) != 'undefined' && rem != '' && rem.length > 0)
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = b64decutf8safe(rem); document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = b64decutf8safe(rem);
s.innerHTML = "<font color='green'>导入ShadowsocksR配置信息成功</font>"; s.innerHTML = "<font color='green'>导入ShadowsocksR配置信息成功</font>";
return false; return false;
} else if (ssu[0] == "ss") { } else if (ssu[0] == "ss") {
@ -169,35 +169,35 @@
method = userInfo.substr(0, userInfoSplitIndex); method = userInfo.substr(0, userInfoSplitIndex);
password = userInfo.substr(userInfoSplitIndex + 1); password = userInfo.substr(userInfoSplitIndex + 1);
} }
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss"; document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss";
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = server; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = server;
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port;
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password || ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password || "";
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = method || ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = method || "";
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = plugin || ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = plugin || "";
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = pluginOpts || ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = pluginOpts || "";
if (param != undefined) { if (param != undefined) {
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
} }
s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>"; s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>";
} else { } else {
var sstr = b64decsafe(url0); var sstr = b64decsafe(url0);
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss"; document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss";
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
var team = sstr.split('@'); var team = sstr.split('@');
console.log(param); console.log(param);
var part1 = team[0].split(':'); var part1 = team[0].split(':');
var part2 = team[1].split(':'); var part2 = team[1].split(':');
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = part2[0]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = part2[0];
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = part2[1]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = part2[1];
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = part1[1]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = part1[1];
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = part1[0]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = part1[0];
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = "";
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = ""; document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = "";
if (param != undefined) { if (param != undefined) {
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
} }
s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>"; s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>";
} }
@ -213,8 +213,8 @@
} }
var sstr = url0; var sstr = url0;
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "trojan"; document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "trojan";
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
var team = sstr.split('@'); var team = sstr.split('@');
var password = team[0] var password = team[0]
var serverPart = team[1].split(':'); var serverPart = team[1].split(':');
@ -230,63 +230,63 @@
} }
} }
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = serverPart[0]; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = serverPart[0];
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port;
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password; document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password;
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true; document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true;
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event);
document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = queryParam.peer || ''; document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = queryParam.peer || '';
document.getElementById('cbid.shadowsocksr.' + sid + '.insecure').checked = queryParam.allowInsecure === '1'; document.getElementsByName('cbid.shadowsocksr.' + sid + '.insecure')[0].checked = queryParam.allowInsecure === '1';
if (param != undefined) { if (param != undefined) {
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
} }
s.innerHTML = "<font color='green'>导入Trojan配置信息成功</font>"; s.innerHTML = "<font color='green'>导入Trojan配置信息成功</font>";
return false; return false;
} else if (ssu[0] == "vmess") { } else if (ssu[0] == "vmess") {
var sstr = b64DecodeUnicode(ssu[1]); var sstr = b64DecodeUnicode(ssu[1]);
var ploc = sstr.indexOf("/?"); var ploc = sstr.indexOf("/?");
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "v2ray"; document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "v2ray";
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
var url0, param = ""; var url0, param = "";
if (ploc > 0) { if (ploc > 0) {
url0 = sstr.substr(0, ploc); url0 = sstr.substr(0, ploc);
param = sstr.substr(ploc + 2); param = sstr.substr(ploc + 2);
} }
var ssm = JSON.parse(sstr); var ssm = JSON.parse(sstr);
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = ssm.ps; document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = ssm.ps;
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm.add; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm.add;
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm.port; document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm.port;
document.getElementById('cbid.shadowsocksr.' + sid + '.alter_id').value = ssm.aid; document.getElementsByName('cbid.shadowsocksr.' + sid + '.alter_id')[0].value = ssm.aid;
document.getElementById('cbid.shadowsocksr.' + sid + '.vmess_id').value = ssm.id; document.getElementsByName('cbid.shadowsocksr.' + sid + '.vmess_id')[0].value = ssm.id;
document.getElementById('cbid.shadowsocksr.' + sid + '.transport').value = ssm.net; document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].value = ssm.net;
document.getElementById('cbid.shadowsocksr.' + sid + '.transport').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].dispatchEvent(event);
if (ssm.net == "tcp") { if (ssm.net == "tcp") {
document.getElementById('cbid.shadowsocksr.' + sid + '.http_host').value = ssm.host; document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_host')[0].value = ssm.host;
document.getElementById('cbid.shadowsocksr.' + sid + '.http_path').value = ssm.path; document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_path')[0].value = ssm.path;
} }
if (ssm.net == "ws") { if (ssm.net == "ws") {
document.getElementById('cbid.shadowsocksr.' + sid + '.ws_host').value = ssm.host; document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_host')[0].value = ssm.host;
document.getElementById('cbid.shadowsocksr.' + sid + '.ws_path').value = ssm.path; document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_path')[0].value = ssm.path;
} }
if (ssm.net == "h2") { if (ssm.net == "h2") {
document.getElementById('cbid.shadowsocksr.' + sid + '.h2_host').value = ssm.host; document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_host')[0].value = ssm.host;
document.getElementById('cbid.shadowsocksr.' + sid + '.h2_path').value = ssm.path; document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_path')[0].value = ssm.path;
} }
if (ssm.net == "quic") { if (ssm.net == "quic") {
document.getElementById('cbid.shadowsocksr.' + sid + '.quic_security').value = ssm.securty; document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_security')[0].value = ssm.securty;
document.getElementById('cbid.shadowsocksr.' + sid + '.quic_key').value = ssm.key; document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_key')[0].value = ssm.key;
} }
if (ssm.net == "kcp") { if (ssm.net == "kcp") {
document.getElementById('cbid.shadowsocksr.' + sid + '.kcp_guise').value = ssm.type; document.getElementsByName('cbid.shadowsocksr.' + sid + '.kcp_guise')[0].value = ssm.type;
} }
if (ssm.tls == "tls") { if (ssm.tls == "tls") {
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true; document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true;
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event);
document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = ssm.host; document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = ssm.host;
} }
document.getElementById('cbid.shadowsocksr.' + sid + '.mux').checked = true; document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].checked = true;
document.getElementById('cbid.shadowsocksr.' + sid + '.mux').dispatchEvent(event); document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].dispatchEvent(event);
s.innerHTML = "<font color='green'>导入V2ray配置信息成功</font>"; s.innerHTML = "<font color='green'>导入V2ray配置信息成功</font>";
return false; return false;
} }

View File

@ -19,7 +19,7 @@ local cache = {}
local nodeResult = setmetatable({}, { __index = cache }) -- update result local nodeResult = setmetatable({}, { __index = cache }) -- update result
local name = 'shadowsocksr' local name = 'shadowsocksr'
local uciType = 'servers' local uciType = 'servers'
local ucic = uci.cursor() local ucic = luci.model.uci.cursor()
local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0') local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0')
local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1') local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1')
local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {}) local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {})