mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-24 03:57:27 +08:00
feat: Refactor uTLS & Multiplex Support, Node Status Push Optimization
- Server/ServerSave/Server.php: Unified utls and multiplex schema, validation, and defaults for vmess/vless/trojan/mieru protocols, enabling more flexible protocol configuration. - Protocols (SingBox/ClashMeta/Shadowrocket/Stash/General): All protocol generators now support utls (client-fingerprint/fp) and multiplex options. Removed getRandFingerprint, replaced with getTlsFingerprint supporting random/custom fingerprints. - Helper.php: Refactored TLS fingerprint utility to support object/string/random input. - ServerService: Abstracted updateMetrics method to unify HTTP/WS node status caching logic. - NodeWebSocketServer: Improved node connection, status push, and full sync logic; adjusted log levels; clarified push logic. - ServerController: Reused ServerService for node metrics handling, reducing code duplication. - Docs: Improved aapanel installation docs, added fix for empty admin dashboard.
This commit is contained in:
@@ -165,14 +165,18 @@ class Shadowrocket extends AbstractProtocol
|
||||
if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) {
|
||||
$config['peer'] = $serverName;
|
||||
}
|
||||
$config['fp'] = Helper::getRandFingerprint();
|
||||
if ($fp = Helper::getTlsFingerprint(data_get($protocol_settings, 'utls'))) {
|
||||
$config['fp'] = $fp;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
$config['tls'] = 1;
|
||||
$config['sni'] = data_get($protocol_settings, 'reality_settings.server_name');
|
||||
$config['pbk'] = data_get($protocol_settings, 'reality_settings.public_key');
|
||||
$config['sid'] = data_get($protocol_settings, 'reality_settings.short_id');
|
||||
$config['fp'] = Helper::getRandFingerprint();
|
||||
if ($fp = Helper::getTlsFingerprint(data_get($protocol_settings, 'utls'))) {
|
||||
$config['fp'] = $fp;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user