clean up buildvmess()

This commit is contained in:
Julian Liu
2020-11-20 00:26:39 +08:00
parent cada8ae9e8
commit 589eec9392
5 changed files with 77 additions and 75 deletions

View File

@ -29,22 +29,27 @@ class Clash
$array['alterId'] = $server['alter_id'];
$array['cipher'] = 'auto';
$array['udp'] = true;
if ($server['tls']) {
$tlsSettings = json_decode($server['tlsSettings'], true);
$array['tls'] = true;
if (!empty($tlsSettings['allowInsecure'])) $array['skip-cert-verify'] = ($tlsSettings['allowInsecure'] ? true : false );
if (!empty($tlsSettings['serverName'])) $array['servername'] = $tlsSettings['serverName'];
}
if ($server['network'] == 'ws') {
$array['network'] = $server['network'];
if ($server['networkSettings']) {
$wsSettings = json_decode($server['networkSettings'], true);
if (isset($wsSettings['path'])) $array['ws-path'] = $wsSettings['path'];
if (isset($wsSettings['headers']['Host'])) $array['ws-headers'] = [
'Host' => $wsSettings['headers']['Host']
];
if ($server['tlsSettings']) {
$tlsSettings = json_decode($server['tlsSettings'], true);
if (isset($tlsSettings['allowInsecure']) && !empty($tlsSettings['allowInsecure']))
$array['skip-cert-verify'] = ($tlsSettings['allowInsecure'] ? true : false);
if (isset($tlsSettings['serverName']) && !empty($tlsSettings['serverName']))
$array['servername'] = $tlsSettings['serverName'];
}
}
if ($server['network'] === 'ws') {
if ($server['networkSettings']) {
$wsSettings = json_decode($server['networkSettings'], true);
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']];
}
}
return $array;
}
@ -58,7 +63,7 @@ class Clash
$array['password'] = $password;
$array['udp'] = true;
if (!empty($server['server_name'])) $array['sni'] = $server['server_name'];
if (!empty($server['allow_insecure'])) $array['skip-cert-verify'] = ($server['allow_insecure'] ? true : false );
if (!empty($server['allow_insecure'])) $array['skip-cert-verify'] = ($server['allow_insecure'] ? true : false);
return $array;
}
}