mark sites as "phantom" that are up but couldn't be detected

This commit is contained in:
Michael 2022-02-06 08:02:19 +00:00
parent ea2faa28fe
commit f1cac5170b

View file

@ -1562,7 +1562,7 @@ class GServer
// Using only body information we cannot safely detect a lot of systems.
// So we define a list of platforms that we can detect safely.
$valid_platforms = ['friendica', 'friendika', 'hubzilla', 'misskey', 'peertube', 'wordpress', 'write.as'];
$valid_platforms = ['friendica', 'friendika', 'diaspora', 'mastodon', 'hubzilla', 'misskey', 'peertube', 'wordpress', 'write.as'];
$doc = new DOMDocument();
@$doc->loadHTML($curlResult->getBody());
@ -1592,11 +1592,6 @@ class GServer
}
}
$platform = explode(' ', strtolower($attr['content']));
if (!in_array($platform[0], $valid_platforms)) {
continue;
}
if ($attr['name'] == 'description') {
$serverdata['info'] = $attr['content'];
}
@ -1656,11 +1651,6 @@ class GServer
}
}
$platform = explode(' ', strtolower($attr['content']));
if (!in_array($platform[0], $valid_platforms)) {
continue;
}
if ($attr['property'] == 'og:site_name') {
$serverdata['site_name'] = $attr['content'];
}
@ -1687,7 +1677,11 @@ class GServer
}
}
if (!empty($serverdata['network']) && ($serverdata['detection-method'] == self::DETECT_MANUAL)) {
if (!empty($serverdata['platform']) && in_array($serverdata['detection-method'], [self::DETECT_MANUAL, self::DETECT_BODY]) && !in_array($serverdata['platform'], $valid_platforms)) {
$serverdata['network'] = Protocol::PHANTOM;
$serverdata['version'] = '';
$serverdata['detection-method'] = self::DETECT_MANUAL;
} elseif (!empty($serverdata['network']) && ($serverdata['detection-method'] == self::DETECT_MANUAL)) {
$serverdata['detection-method'] = self::DETECT_BODY;
}