fix: resolve vmess http-opts headers null issue in subscription generation

This commit is contained in:
xboard
2025-09-12 10:45:31 +08:00
parent b14477098d
commit f289f68898
4 changed files with 21 additions and 10 deletions
+9 -2
View File
@@ -314,7 +314,12 @@ class Stash extends AbstractProtocol
case 'tcp':
if ($headerType = data_get($protocol_settings, 'network_settings.header.type', 'tcp') != 'tcp') {
$array['network'] = $headerType;
$array['http-opts']['path'] = data_get($protocol_settings, 'network_settings.header.request.path', ['/']);
if ($httpOpts = array_filter([
'headers' => data_get($protocol_settings, 'network_settings.header.request.headers'),
'path' => data_get($protocol_settings, 'network_settings.header.request.path', ['/'])
])) {
$array['http-opts'] = $httpOpts;
}
}
break;
case 'ws':
@@ -356,7 +361,9 @@ class Stash extends AbstractProtocol
case 'ws':
$array['network'] = 'ws';
$array['ws-opts']['path'] = data_get($protocol_settings, 'network_settings.path');
$array['ws-opts']['headers'] = data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] : null;
if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) {
$array['ws-opts']['headers'] = ['Host' => $host];
}
break;
}
if ($serverName = data_get($protocol_settings, 'server_name')) {