🎁 Sync 2026-04-02 08:47:45

This commit is contained in:
github-actions[bot] committed 2026-04-02 08:47:45 +08:00
1 parent 57c81ff5de
commit 020b4e1dc3
9 files changed
+2402 -2280

No files matched your search

@@ -320,12 +320,15 @@ function renderListeners(s, uciconfig, isClient) {
o.modalonly = true;
o = s.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
o.value('prefer_ascii', _('Obfuscated as ASCII data stream'));
o.value('prefer_entropy', _('Obfuscated as low-entropy data stream'));
o.value('prefer_ascii', _('Obfuscated as %s').format(_('ASCII data stream')));
o.value('prefer_entropy', _('Obfuscated as %s').format(_('Low-entropy data stream')));
o.value('up_ascii_down_entropy', _('UP: %s; DOWN: %s').format(_('ASCII data stream'), _('Low-entropy data stream')));
o.value('up_entropy_down_ascii', _('UP: %s; DOWN: %s').format(_('Low-entropy data stream'), _('ASCII data stream')));
o.depends('type', 'sudoku');
o.modalonly = true;
o = s.taboption('field_general', form.DynamicList, 'sudoku_custom_tables', _('Custom byte layout'));
o = s.taboption('field_general', form.DynamicList, 'sudoku_custom_tables', _('Custom byte layout'),
_('Only applies to the %s.').format(_('Low-entropy data stream')));
o.renderWidget = function(/* ... */) {
let node = form.DynamicList.prototype.renderWidget.apply(this, arguments);
@@ -338,7 +341,7 @@ function renderListeners(s, uciconfig, isClient) {
return node;
}
o.validate = hm.validateSudokuCustomTable;
o.depends('sudoku_table_type', 'prefer_entropy');
o.depends({sudoku_table_type: /^(prefer_entropy|up_ascii_down_entropy|up_entropy_down_ascii)$/});
o.modalonly = true;
o = s.taboption('field_general', form.Value, 'sudoku_padding_min', _('Minimum padding rate'));
@@ -405,14 +405,17 @@ return view.extend({
so.modalonly = true;
so = ss.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
so.value('prefer_ascii', _('Obfuscated as ASCII data stream'));
so.value('prefer_entropy', _('Obfuscated as low-entropy data stream'));
so.value('prefer_ascii', _('Obfuscated as %s').format(_('ASCII data stream')));
so.value('prefer_entropy', _('Obfuscated as %s').format(_('Low-entropy data stream')));
so.value('up_ascii_down_entropy', _('UP: %s; DOWN: %s').format(_('ASCII data stream'), _('Low-entropy data stream')));
so.value('up_entropy_down_ascii', _('UP: %s; DOWN: %s').format(_('Low-entropy data stream'), _('ASCII data stream')));
so.depends('type', 'sudoku');
so.modalonly = true;
so = ss.taboption('field_general', form.DynamicList, 'sudoku_custom_tables', _('Custom byte layout'));
so = ss.taboption('field_general', form.DynamicList, 'sudoku_custom_tables', _('Custom byte layout'),
_('Only applies to the %s.').format(_('Low-entropy data stream')));
so.validate = hm.validateSudokuCustomTable;
so.depends('sudoku_table_type', 'prefer_entropy');
so.depends({sudoku_table_type: /^(prefer_entropy|up_ascii_down_entropy|up_entropy_down_ascii)$/});
so.modalonly = true;
so = ss.taboption('field_general', form.Value, 'sudoku_padding_min', _('Minimum padding rate'));
@@ -1197,6 +1200,13 @@ return view.extend({
so.depends({transport_enabled: '1', transport_type: 'grpc'});
so.modalonly = true;
so = ss.taboption('field_transport', form.Value, 'transport_grpc_ping_interval', _('gRPC ping interval'),
_('In seconds.'));
so.datatype = 'uinteger';
so.placeholder = '0';
so.depends({transport_enabled: '1', transport_type: 'grpc'});
so.modalonly = true;
so = ss.taboption('field_transport', form.Value, 'transport_ws_max_early_data', _('Max Early Data'),
_('Early Data first packet length limit.'));
so.datatype = 'uinteger';