parent
c6e3c868ae
commit
ca37bd58f7
@ -155,13 +155,13 @@ return view.extend({
|
||||
o.rmempty = false;
|
||||
|
||||
o = s.taboption('routing', form.Value, 'main_urltest_interval', _('Test interval'),
|
||||
_('The test interval in seconds. <code>180</code> will be used if empty.'));
|
||||
_('The test interval in seconds.'));
|
||||
o.datatype = 'uinteger';
|
||||
o.placeholder = '180';
|
||||
o.depends('main_node', 'urltest');
|
||||
|
||||
o = s.taboption('routing', form.Value, 'main_urltest_tolerance', _('Test tolerance'),
|
||||
_('The test tolerance in milliseconds. <code>50</code> will be used if empty.'));
|
||||
_('The test tolerance in milliseconds.'));
|
||||
o.datatype = 'uinteger';
|
||||
o.placeholder = '50';
|
||||
o.depends('main_node', 'urltest');
|
||||
@ -184,13 +184,13 @@ return view.extend({
|
||||
o.rmempty = false;
|
||||
|
||||
o = s.taboption('routing', form.Value, 'main_udp_urltest_interval', _('Test interval'),
|
||||
_('The test interval in seconds. <code>180</code> will be used if empty.'));
|
||||
_('The test interval in seconds.'));
|
||||
o.datatype = 'uinteger';
|
||||
o.placeholder = '180';
|
||||
o.depends('main_udp_node', 'urltest');
|
||||
|
||||
o = s.taboption('routing', form.Value, 'main_udp_urltest_tolerance', _('Test tolerance'),
|
||||
_('The test tolerance in milliseconds. <code>50</code> will be used if empty.'));
|
||||
_('The test tolerance in milliseconds.'));
|
||||
o.datatype = 'uinteger';
|
||||
o.placeholder = '50';
|
||||
o.depends('main_udp_node', 'urltest');
|
||||
@ -491,7 +491,7 @@ return view.extend({
|
||||
so.modalonly = true;
|
||||
|
||||
so = ss.option(form.Value, 'urltest_url', _('Test URL'),
|
||||
_('The URL to test. <code>https://www.gstatic.com/generate_204</code> will be used if empty.'));
|
||||
_('The URL to test.'));
|
||||
so.placeholder = 'https://www.gstatic.com/generate_204';
|
||||
so.validate = function(section_id, value) {
|
||||
if (section_id && value) {
|
||||
@ -511,7 +511,7 @@ return view.extend({
|
||||
so.modalonly = true;
|
||||
|
||||
so = ss.option(form.Value, 'urltest_interval', _('Test interval'),
|
||||
_('The test interval in seconds. <code>180</code> will be used if empty.'));
|
||||
_('The test interval in seconds.'));
|
||||
so.datatype = 'uinteger';
|
||||
so.placeholder = '180';
|
||||
so.validate = function(section_id, value) {
|
||||
@ -527,14 +527,14 @@ return view.extend({
|
||||
so.modalonly = true;
|
||||
|
||||
so = ss.option(form.Value, 'urltest_tolerance', _('Test tolerance'),
|
||||
_('The test tolerance in milliseconds. <code>50</code> will be used if empty.'));
|
||||
_('The test tolerance in milliseconds.'));
|
||||
so.datatype = 'uinteger';
|
||||
so.placeholder = '50';
|
||||
so.depends('node', 'urltest');
|
||||
so.modalonly = true;
|
||||
|
||||
so = ss.option(form.Value, 'urltest_idle_timeout', _('Idle timeout'),
|
||||
_('The idle timeout in seconds. <code>1800</code> will be used if empty.'));
|
||||
_('The idle timeout in seconds.'));
|
||||
so.datatype = 'uinteger';
|
||||
so.placeholder = '1800';
|
||||
so.depends('node', 'urltest');
|
||||
@ -1228,7 +1228,8 @@ return view.extend({
|
||||
so.depends('type', 'remote');
|
||||
|
||||
so = ss.option(form.Value, 'update_interval', _('Update interval'),
|
||||
_('Update interval of rule set.<br/><code>1d</code> will be used if empty.'));
|
||||
_('Update interval of rule set.'));
|
||||
so.placeholder = '1d';
|
||||
so.depends('type', 'remote');
|
||||
/* Rule set settings end */
|
||||
|
||||
|
@ -796,9 +796,9 @@ return view.extend({
|
||||
o.modalonly = true;
|
||||
|
||||
o = s.option(form.Value, 'udp_timeout', _('UDP NAT expiration time'),
|
||||
_('In seconds. <code>300</code> is used by default.'));
|
||||
_('In seconds.'));
|
||||
o.datatype = 'uinteger';
|
||||
o.default = '300';
|
||||
o.placeholder = '300';
|
||||
o.depends({'network': 'tcp', '!reverse': true});
|
||||
o.modalonly = true;
|
||||
|
||||
|
@ -619,7 +619,7 @@ if (!isEmpty(main_node)) {
|
||||
tolerance: strToInt(main_udp_urltest_tolerance),
|
||||
idle_timeout: (strToInt(main_udp_urltest_interval) > 1800) ? `${main_udp_urltest_interval * 2}s` : null,
|
||||
});
|
||||
urltest_nodes = [...urltest_nodes, ...filter(main_udp_urltest_nodes, ((l) => !~index(urltest_nodes, l)))];
|
||||
urltest_nodes = [...urltest_nodes, ...filter(main_udp_urltest_nodes, (l) => !~index(urltest_nodes, l))];
|
||||
} else if (dedicated_udp_node) {
|
||||
const main_udp_node_cfg = uci.get_all(uciconfig, main_udp_node) || {};
|
||||
push(config.outbounds, generate_outbound(main_udp_node_cfg));
|
||||
@ -650,7 +650,7 @@ if (!isEmpty(main_node)) {
|
||||
idle_timeout: cfg.urltest_idle_timeout ? (cfg.urltest_idle_timeout + 's') : null,
|
||||
interrupt_exist_connections: (cfg.urltest_interrupt_exist_connections === '1')
|
||||
});
|
||||
urltest_nodes = [...urltest_nodes, ...filter(cfg.urltest_nodes, ((l) => !~index(urltest_nodes, l)))];
|
||||
urltest_nodes = [...urltest_nodes, ...filter(cfg.urltest_nodes, (l) => !~index(urltest_nodes, l))];
|
||||
} else {
|
||||
const outbound = uci.get_all(uciconfig, cfg.node) || {};
|
||||
push(config.outbounds, generate_outbound(outbound));
|
||||
@ -661,7 +661,7 @@ if (!isEmpty(main_node)) {
|
||||
}
|
||||
});
|
||||
|
||||
for (let i in filter(urltest_nodes, ((l) => !~index(routing_nodes, l))))
|
||||
for (let i in filter(urltest_nodes, (l) => !~index(routing_nodes, l)))
|
||||
push(config.outbounds, generate_outbound(uci.get_all(uciconfig, i)));
|
||||
}
|
||||
/* Outbound end */
|
||||
|
@ -570,7 +570,18 @@ function main() {
|
||||
if (!isEmpty(main_node)) {
|
||||
const first_server = uci.get_first(uciconfig, ucinode);
|
||||
if (first_server) {
|
||||
if (!uci.get(uciconfig, main_node)) {
|
||||
let main_urltest_nodes;
|
||||
if (main_node === 'urltest') {
|
||||
main_urltest_nodes = filter(uci.get(uciconfig, ucimain, 'main_urltest_nodes'), (v) => {
|
||||
if (!uci.get(uciconfig, v)) {
|
||||
log(sprintf('Node %s is gone, removing from urltest list.', node));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if ((main_node === 'urltest') ? !length(main_urltest_nodes) : !uci.get(uciconfig, main_node)) {
|
||||
uci.set(uciconfig, ucimain, 'main_node', first_server);
|
||||
uci.commit(uciconfig);
|
||||
need_restart = true;
|
||||
@ -579,7 +590,18 @@ function main() {
|
||||
}
|
||||
|
||||
if (!isEmpty(main_udp_node) && main_udp_node !== 'same') {
|
||||
if (!uci.get(uciconfig, main_udp_node)) {
|
||||
let main_udp_urltest_nodes;
|
||||
if (main_udp_node === 'urltest') {
|
||||
main_udp_urltest_nodes = filter(uci.get(uciconfig, ucimain, 'main_udp_urltest_nodes'), (v) => {
|
||||
if (!uci.get(uciconfig, v)) {
|
||||
log(sprintf('Node %s is gone, removing from urltest list.', node));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if ((main_udp_node === 'urltest') ? !length(main_udp_urltest_nodes) : !uci.get(uciconfig, main_udp_node)) {
|
||||
uci.set(uciconfig, ucimain, 'main_udp_node', first_server);
|
||||
uci.commit(uciconfig);
|
||||
need_restart = true;
|
||||
|
Loading…
Reference in New Issue
Block a user