mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-29 18:15:13 +08:00
🎁 Sync 2026-04-02 08:47:45
This commit is contained in:
1 parent
57c81ff5de
commit
020b4e1dc3
9 files changed
+2402
-2280
No files matched your search
+3
-3
@@ -5,12 +5,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=gn
|
PKG_NAME:=gn
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=4
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
|
PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
|
||||||
PKG_SOURCE_DATE:=2025-09-18
|
PKG_SOURCE_DATE:=2026-03-31
|
||||||
PKG_SOURCE_VERSION:=81b24e01531ecf0eff12ec9359a555ec3944ec4e
|
PKG_SOURCE_VERSION:=6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a
|
||||||
PKG_MIRROR_HASH:=skip
|
PKG_MIRROR_HASH:=skip
|
||||||
|
|
||||||
PKG_LICENSE:=BSD 3-Clause
|
PKG_LICENSE:=BSD 3-Clause
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#ifndef OUT_LAST_COMMIT_POSITION_H_
|
#ifndef OUT_LAST_COMMIT_POSITION_H_
|
||||||
#define OUT_LAST_COMMIT_POSITION_H_
|
#define OUT_LAST_COMMIT_POSITION_H_
|
||||||
|
|
||||||
#define LAST_COMMIT_POSITION_NUM 2286
|
#define LAST_COMMIT_POSITION_NUM 2355
|
||||||
#define LAST_COMMIT_POSITION "2286 (81b24e01531e)"
|
#define LAST_COMMIT_POSITION "2355 (6e8dcdebbadf)"
|
||||||
|
|
||||||
#endif // OUT_LAST_COMMIT_POSITION_H_
|
#endif // OUT_LAST_COMMIT_POSITION_H_
|
||||||
@@ -320,12 +320,15 @@ function renderListeners(s, uciconfig, isClient) {
|
|||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
|
o = s.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
|
||||||
o.value('prefer_ascii', _('Obfuscated as ASCII data stream'));
|
o.value('prefer_ascii', _('Obfuscated as %s').format(_('ASCII data stream')));
|
||||||
o.value('prefer_entropy', _('Obfuscated as low-entropy 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.depends('type', 'sudoku');
|
||||||
o.modalonly = true;
|
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(/* ... */) {
|
o.renderWidget = function(/* ... */) {
|
||||||
let node = form.DynamicList.prototype.renderWidget.apply(this, arguments);
|
let node = form.DynamicList.prototype.renderWidget.apply(this, arguments);
|
||||||
|
|
||||||
@@ -338,7 +341,7 @@ function renderListeners(s, uciconfig, isClient) {
|
|||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
o.validate = hm.validateSudokuCustomTable;
|
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.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('field_general', form.Value, 'sudoku_padding_min', _('Minimum padding rate'));
|
o = s.taboption('field_general', form.Value, 'sudoku_padding_min', _('Minimum padding rate'));
|
||||||
|
|||||||
@@ -405,14 +405,17 @@ return view.extend({
|
|||||||
so.modalonly = true;
|
so.modalonly = true;
|
||||||
|
|
||||||
so = ss.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
|
so = ss.taboption('field_general', form.ListValue, 'sudoku_table_type', _('Obfuscate type'));
|
||||||
so.value('prefer_ascii', _('Obfuscated as ASCII data stream'));
|
so.value('prefer_ascii', _('Obfuscated as %s').format(_('ASCII data stream')));
|
||||||
so.value('prefer_entropy', _('Obfuscated as low-entropy 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.depends('type', 'sudoku');
|
||||||
so.modalonly = true;
|
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.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.modalonly = true;
|
||||||
|
|
||||||
so = ss.taboption('field_general', form.Value, 'sudoku_padding_min', _('Minimum padding rate'));
|
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.depends({transport_enabled: '1', transport_type: 'grpc'});
|
||||||
so.modalonly = true;
|
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'),
|
so = ss.taboption('field_transport', form.Value, 'transport_ws_max_early_data', _('Max Early Data'),
|
||||||
_('Early Data first packet length limit.'));
|
_('Early Data first packet length limit.'));
|
||||||
so.datatype = 'uinteger';
|
so.datatype = 'uinteger';
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -239,8 +239,8 @@ config["etag-support"] = (uci.get(uciconf, uciglobal, 'etag_support') === '0') ?
|
|||||||
config.ipv6 = (uci.get(uciconf, uciglobal, 'ipv6') === '0') ? false : true;
|
config.ipv6 = (uci.get(uciconf, uciglobal, 'ipv6') === '0') ? false : true;
|
||||||
config["unified-delay"] = strToBool(uci.get(uciconf, uciglobal, 'unified_delay')) || false;
|
config["unified-delay"] = strToBool(uci.get(uciconf, uciglobal, 'unified_delay')) || false;
|
||||||
config["tcp-concurrent"] = strToBool(uci.get(uciconf, uciglobal, 'tcp_concurrent')) || false;
|
config["tcp-concurrent"] = strToBool(uci.get(uciconf, uciglobal, 'tcp_concurrent')) || false;
|
||||||
config["keep-alive-interval"] = durationToSecond(uci.get(uciconf, uciglobal, 'keep_alive_interval')) || 30;
|
config["keep-alive-interval"] = durationToSecond(uci.get(uciconf, uciglobal, 'keep_alive_interval')) ?? 30;
|
||||||
config["keep-alive-idle"] = durationToSecond(uci.get(uciconf, uciglobal, 'keep_alive_idle')) || 600;
|
config["keep-alive-idle"] = durationToSecond(uci.get(uciconf, uciglobal, 'keep_alive_idle')) ?? 600;
|
||||||
/* ACL settings */
|
/* ACL settings */
|
||||||
config["interface-name"] = bind_interface;
|
config["interface-name"] = bind_interface;
|
||||||
config["routing-mark"] = self_mark;
|
config["routing-mark"] = self_mark;
|
||||||
@@ -540,7 +540,7 @@ uci.foreach(uciconf, ucinode, (cfg) => {
|
|||||||
mode: cfg.sudoku_http_mask_mode,
|
mode: cfg.sudoku_http_mask_mode,
|
||||||
tls: strToBool(cfg.sudoku_http_mask_tls) || false,
|
tls: strToBool(cfg.sudoku_http_mask_tls) || false,
|
||||||
host: cfg.sudoku_http_mask_host,
|
host: cfg.sudoku_http_mask_host,
|
||||||
path_root: cfg.sudoku_path_root,
|
"path-root": cfg.sudoku_path_root,
|
||||||
multiplex: cfg.sudoku_http_mask_multiplex,
|
multiplex: cfg.sudoku_http_mask_multiplex,
|
||||||
}
|
}
|
||||||
} : {}),
|
} : {}),
|
||||||
@@ -648,7 +648,8 @@ uci.foreach(uciconf, ucinode, (cfg) => {
|
|||||||
} : null,
|
} : null,
|
||||||
"grpc-opts": cfg.transport_type === 'grpc' ? {
|
"grpc-opts": cfg.transport_type === 'grpc' ? {
|
||||||
"grpc-service-name": cfg.transport_grpc_servicename,
|
"grpc-service-name": cfg.transport_grpc_servicename,
|
||||||
"grpc-user-agent": cfg.transport_grpc_user_agent
|
"grpc-user-agent": cfg.transport_grpc_user_agent,
|
||||||
|
"ping-interval": strToInt(cfg.transport_grpc_ping_interval) || null
|
||||||
} : null,
|
} : null,
|
||||||
"ws-opts": cfg.transport_type === 'ws' ? {
|
"ws-opts": cfg.transport_type === 'ws' ? {
|
||||||
path: cfg.transport_path || '/',
|
path: cfg.transport_path || '/',
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ export function parseListener(cfg, isClient, label) {
|
|||||||
httpmask: (cfg.sudoku_http_mask === '0') ? { disable: true } : {
|
httpmask: (cfg.sudoku_http_mask === '0') ? { disable: true } : {
|
||||||
disable: false,
|
disable: false,
|
||||||
mode: cfg.sudoku_http_mask_mode,
|
mode: cfg.sudoku_http_mask_mode,
|
||||||
path_root: cfg.sudoku_path_root,
|
"path-root": cfg.sudoku_path_root,
|
||||||
}
|
}
|
||||||
} : {}),
|
} : {}),
|
||||||
fallback: (cfg.sudoku_http_mask === '0') ? null : cfg.sudoku_fallback,
|
fallback: (cfg.sudoku_http_mask === '0') ? null : cfg.sudoku_fallback,
|
||||||
|
|||||||
Reference in new issue
Block a user