Skip to content

Commit ae7a5d7

Browse files
authored
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
1 parent df49785 commit ae7a5d7

File tree

2 files changed

+72
-72
lines changed

2 files changed

+72
-72
lines changed

package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,15 @@
4747
var s = document.getElementById(urlname + '-status');
4848
if (!s)
4949
return false;
50-
var v_server = document.getElementById('cbid.shadowsocksr.' + sid + '.server');
51-
var v_port = document.getElementById('cbid.shadowsocksr.' + sid + '.server_port');
52-
var v_protocol = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol');
53-
var v_method = document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method');
54-
var v_obfs = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs');
55-
var v_password = document.getElementById('cbid.shadowsocksr.' + sid + '.password');
56-
var v_obfs_param = document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param');
57-
var v_protocol_param = document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param');
58-
var v_alias = document.getElementById('cbid.shadowsocksr.' + sid + '.alias');
50+
var v_server = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0];
51+
var v_port = document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0];
52+
var v_protocol = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0];
53+
var v_method = document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0];
54+
var v_obfs = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0];
55+
var v_password = document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0];
56+
var v_obfs_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0];
57+
var v_protocol_param = document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0];
58+
var v_alias = document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0];
5959
var ssr_str = v_server.value + ":" +
6060
v_port.value + ":" +
6161
v_protocol.value + ":" +
@@ -104,8 +104,8 @@
104104
if (ssu[0] == "ssr") {
105105
var sstr = b64decsafe(ssu[1]);
106106
var ploc = sstr.indexOf("/?");
107-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ssr";
108-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event);
107+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ssr";
108+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
109109
var url0, param = "";
110110
if (ploc > 0) {
111111
url0 = sstr.substr(0, ploc);
@@ -123,17 +123,17 @@
123123
pdict[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || '');
124124
}
125125
}
126-
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm[1];
127-
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm[2];
128-
document.getElementById('cbid.shadowsocksr.' + sid + '.protocol').value = ssm[3];
129-
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method').value = ssm[4];
130-
document.getElementById('cbid.shadowsocksr.' + sid + '.obfs').value = ssm[5];
131-
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = b64decsafe(ssm[6]);
132-
document.getElementById('cbid.shadowsocksr.' + sid + '.obfs_param').value = dictvalue(pdict, 'obfsparam');
133-
document.getElementById('cbid.shadowsocksr.' + sid + '.protocol_param').value = dictvalue(pdict, 'protoparam');
126+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm[1];
127+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm[2];
128+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol')[0].value = ssm[3];
129+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method')[0].value = ssm[4];
130+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs')[0].value = ssm[5];
131+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = b64decsafe(ssm[6]);
132+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.obfs_param')[0].value = dictvalue(pdict, 'obfsparam');
133+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.protocol_param')[0].value = dictvalue(pdict, 'protoparam');
134134
var rem = pdict['remarks'];
135135
if (typeof (rem) != 'undefined' && rem != '' && rem.length > 0)
136-
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = b64decutf8safe(rem);
136+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = b64decutf8safe(rem);
137137
s.innerHTML = "<font color='green'>导入ShadowsocksR配置信息成功</font>";
138138
return false;
139139
} else if (ssu[0] == "ss") {
@@ -169,35 +169,35 @@
169169
method = userInfo.substr(0, userInfoSplitIndex);
170170
password = userInfo.substr(userInfoSplitIndex + 1);
171171
}
172-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss";
173-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event);
174-
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = server;
175-
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port;
176-
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password || "";
177-
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = method || "";
178-
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = plugin || "";
179-
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = pluginOpts || "";
172+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss";
173+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
174+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = server;
175+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port;
176+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password || "";
177+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = method || "";
178+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = plugin || "";
179+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = pluginOpts || "";
180180

181181
if (param != undefined) {
182-
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param);
182+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
183183
}
184184
s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>";
185185
} else {
186186
var sstr = b64decsafe(url0);
187-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "ss";
188-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event);
187+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "ss";
188+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
189189
var team = sstr.split('@');
190190
console.log(param);
191191
var part1 = team[0].split(':');
192192
var part2 = team[1].split(':');
193-
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = part2[0];
194-
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = part2[1];
195-
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = part1[1];
196-
document.getElementById('cbid.shadowsocksr.' + sid + '.encrypt_method_ss').value = part1[0];
197-
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin').value = "";
198-
document.getElementById('cbid.shadowsocksr.' + sid + '.plugin_opts').value = "";
193+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = part2[0];
194+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = part2[1];
195+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = part1[1];
196+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.encrypt_method_ss')[0].value = part1[0];
197+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin')[0].value = "";
198+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.plugin_opts')[0].value = "";
199199
if (param != undefined) {
200-
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param);
200+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
201201
}
202202
s.innerHTML = "<font color='green'>导入Shadowsocks配置信息成功</font>";
203203
}
@@ -213,8 +213,8 @@
213213
}
214214
var sstr = url0;
215215

216-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "trojan";
217-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event);
216+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "trojan";
217+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
218218
var team = sstr.split('@');
219219
var password = team[0]
220220
var serverPart = team[1].split(':');
@@ -230,63 +230,63 @@
230230
}
231231
}
232232

233-
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = serverPart[0];
234-
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port;
235-
document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password;
236-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true;
237-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event);
238-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = queryParam.peer || '';
239-
document.getElementById('cbid.shadowsocksr.' + sid + '.insecure').checked = queryParam.allowInsecure === '1';
233+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = serverPart[0];
234+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = port;
235+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.password')[0].value = password;
236+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true;
237+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event);
238+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = queryParam.peer || '';
239+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.insecure')[0].checked = queryParam.allowInsecure === '1';
240240

241241
if (param != undefined) {
242-
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param);
242+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = decodeURI(param);
243243
}
244244
s.innerHTML = "<font color='green'>导入Trojan配置信息成功</font>";
245245
return false;
246246
} else if (ssu[0] == "vmess") {
247247
var sstr = b64DecodeUnicode(ssu[1]);
248248
var ploc = sstr.indexOf("/?");
249-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "v2ray";
250-
document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event);
249+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].value = "v2ray";
250+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.type')[0].dispatchEvent(event);
251251
var url0, param = "";
252252
if (ploc > 0) {
253253
url0 = sstr.substr(0, ploc);
254254
param = sstr.substr(ploc + 2);
255255
}
256256
var ssm = JSON.parse(sstr);
257-
document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = ssm.ps;
258-
document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = ssm.add;
259-
document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = ssm.port;
260-
document.getElementById('cbid.shadowsocksr.' + sid + '.alter_id').value = ssm.aid;
261-
document.getElementById('cbid.shadowsocksr.' + sid + '.vmess_id').value = ssm.id;
262-
document.getElementById('cbid.shadowsocksr.' + sid + '.transport').value = ssm.net;
263-
document.getElementById('cbid.shadowsocksr.' + sid + '.transport').dispatchEvent(event);
257+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alias')[0].value = ssm.ps;
258+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server')[0].value = ssm.add;
259+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.server_port')[0].value = ssm.port;
260+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.alter_id')[0].value = ssm.aid;
261+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.vmess_id')[0].value = ssm.id;
262+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].value = ssm.net;
263+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.transport')[0].dispatchEvent(event);
264264
if (ssm.net == "tcp") {
265-
document.getElementById('cbid.shadowsocksr.' + sid + '.http_host').value = ssm.host;
266-
document.getElementById('cbid.shadowsocksr.' + sid + '.http_path').value = ssm.path;
265+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_host')[0].value = ssm.host;
266+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.http_path')[0].value = ssm.path;
267267
}
268268
if (ssm.net == "ws") {
269-
document.getElementById('cbid.shadowsocksr.' + sid + '.ws_host').value = ssm.host;
270-
document.getElementById('cbid.shadowsocksr.' + sid + '.ws_path').value = ssm.path;
269+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_host')[0].value = ssm.host;
270+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.ws_path')[0].value = ssm.path;
271271
}
272272
if (ssm.net == "h2") {
273-
document.getElementById('cbid.shadowsocksr.' + sid + '.h2_host').value = ssm.host;
274-
document.getElementById('cbid.shadowsocksr.' + sid + '.h2_path').value = ssm.path;
273+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_host')[0].value = ssm.host;
274+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.h2_path')[0].value = ssm.path;
275275
}
276276
if (ssm.net == "quic") {
277-
document.getElementById('cbid.shadowsocksr.' + sid + '.quic_security').value = ssm.securty;
278-
document.getElementById('cbid.shadowsocksr.' + sid + '.quic_key').value = ssm.key;
277+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_security')[0].value = ssm.securty;
278+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_key')[0].value = ssm.key;
279279
}
280280
if (ssm.net == "kcp") {
281-
document.getElementById('cbid.shadowsocksr.' + sid + '.kcp_guise').value = ssm.type;
281+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.kcp_guise')[0].value = ssm.type;
282282
}
283283
if (ssm.tls == "tls") {
284-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true;
285-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event);
286-
document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = ssm.host;
284+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].checked = true;
285+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls')[0].dispatchEvent(event);
286+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.tls_host')[0].value = ssm.host;
287287
}
288-
document.getElementById('cbid.shadowsocksr.' + sid + '.mux').checked = true;
289-
document.getElementById('cbid.shadowsocksr.' + sid + '.mux').dispatchEvent(event);
288+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].checked = true;
289+
document.getElementsByName('cbid.shadowsocksr.' + sid + '.mux')[0].dispatchEvent(event);
290290
s.innerHTML = "<font color='green'>导入V2ray配置信息成功</font>";
291291
return false;
292292
}

package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ local cache = {}
1919
local nodeResult = setmetatable({}, { __index = cache }) -- update result
2020
local name = 'shadowsocksr'
2121
local uciType = 'servers'
22-
local ucic = uci.cursor()
22+
local ucic = luci.model.uci.cursor()
2323
local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0')
2424
local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1')
2525
local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {})

0 commit comments

Comments
 (0)