3 namespace Friendica\Module\Api\Mastodon\Instance;
5 use Friendica\Core\Protocol;
6 use Friendica\Core\System;
7 use Friendica\Database\DBA;
8 use Friendica\Module\BaseApi;
9 use Friendica\Network\HTTPException;
10 use Friendica\Util\Network;
13 * Undocumented API endpoint that is implemented by both Mastodon and Pleroma
15 class Peers extends BaseApi
18 * @param array $parameters
19 * @throws HTTPException\InternalServerErrorException
21 public static function rawContent(array $parameters = [])
25 // We only select for Friendica and ActivityPub servers, since it is expected to only deliver AP compatible systems here.
26 $instances = DBA::select('gserver', ['url'], ["`network` in (?, ?) AND `last_contact` >= `last_failure`", Protocol::DFRN, Protocol::ACTIVITYPUB]);
27 while ($instance = DBA::fetch($instances)) {
28 $urldata = parse_url($instance['url']);
29 unset($urldata['scheme']);
30 $return[] = ltrim(Network::unparseURL($urldata), '/');
32 DBA::close($instances);
34 System::jsonExit($return);