QuantumultX: keep expected behavior for host

According to the documentation, quantumultx exposes one param for both sni and ws host. and sni priority is usually higher than ws host in other similar apps, we keep the behavior here.
ref: 8b6d7d84fc/sample.conf (L91)
This commit is contained in:
Julian Liu 2020-12-16 23:49:34 +08:00 committed by GitHub
parent a0d1b10614
commit f036b46bf0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,31 +33,32 @@ class QuantumultX
];
if ($server['tls']) {
if ($server['network'] === 'tcp') {
if ($server['network'] === 'tcp')
array_push($config, 'obfs=over-tls');
} else {
array_push($config, 'obfs=wss');
}
} else if ($server['network'] === 'ws') {
array_push($config, 'obfs=ws');
}
if ($server['tls']) {
if ($server['tlsSettings']) {
$tlsSettings = json_decode($server['tlsSettings'], true);
if (isset($tlsSettings['allowInsecure']) && !empty($tlsSettings['allowInsecure']))
array_push($config, 'tls-verification=' . ($tlsSettings['allowInsecure'] ? 'false' : 'true'));
if (isset($tlsSettings['serverName']) && !empty($tlsSettings['serverName']))
$host = $tlsSettings['serverName'];
}
}
if ($server['network'] === 'ws') {
if ($server['tls'])
array_push($config, 'obfs=wss');
else
array_push($config, 'obfs=ws');
if ($server['networkSettings']) {
$wsSettings = json_decode($server['networkSettings'], true);
if (isset($wsSettings['path']) && !empty($wsSettings['path']))
array_push($config, "obfs-uri={$wsSettings['path']}");
if (isset($wsSettings['headers']['Host']) && !empty($wsSettings['headers']['Host']))
array_push($config, "obfs-host={$wsSettings['headers']['Host']}");
if (isset($wsSettings['headers']['Host']) && !empty($wsSettings['headers']['Host']) && !isset($host))
$host = $wsSettings['headers']['Host'];
}
}
if (isset($host)) {
array_push($config, "obfs-host={$host}");
}
$uri = implode(',', $config);
$uri .= "\r\n";