尝试修正ws和reality订阅

This commit is contained in:
root
2023-08-15 00:22:06 +09:00
parent 14bb58e91f
commit af05ef6796
6 changed files with 94 additions and 28 deletions

View File

@ -181,14 +181,43 @@ class ClashMeta
if ($server['tls_settings']) {
$tlsSettings = $server['tls_settings'];
if (isset($tlsSettings['server_name']) && !empty($tlsSettings['server_name']))
$array['servername'] = $tlsSettings['server_name'];
$array['servername'] = $tlsSettings['server_name'];
if ($server['tls'] == 2) {
$array['reality-opts'] = [];
$array['reality-opts']['public-key'] = $tlsSettings['public_key'];
$array['reality-opts']['short-id'] = $tlsSettings['shortId'];
}
}
}
if ($server['network'] === 'tcp') {
$tcpSettings = $server['network_settings'];
}
//ws和grpc需要继续修
if ($server['network'] === 'ws') {
$array['network'] = 'ws';
if ($server['network_settings']) {
$wsSettings = $server['network_settings'];
$array['ws-opts'] = [];
if (isset($wsSettings['path']) && !empty($wsSettings['path']))
$array['ws-opts']['path'] = $wsSettings['path'];
if (isset($wsSettings['headers']['Host']) && !empty($wsSettings['headers']['Host']))
$array['ws-opts']['headers'] = ['Host' => $wsSettings['headers']['Host']];
if (isset($wsSettings['path']) && !empty($wsSettings['path']))
$array['ws-path'] = $wsSettings['path'];
if (isset($wsSettings['headers']['Host']) && !empty($wsSettings['headers']['Host']))
$array['ws-headers'] = ['Host' => $wsSettings['headers']['Host']];
}
}
if ($server['network'] === 'grpc') {
$array['network'] = 'grpc';
if ($server['network_settings']) {
$grpcSettings = $server['network_settings'];
$array['grpc-opts'] = [];
if (isset($grpcSettings['serviceName'])) $array['grpc-opts']['grpc-service-name'] = $grpcSettings['serviceName'];
}
}
return $array;
}