]> git.mxchange.org Git - friendica.git/commitdiff
Abuse mail received because of "unusual traffic"
authorMichael <heluecht@pirati.ca>
Sun, 14 Jun 2020 15:47:47 +0000 (15:47 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 14 Jun 2020 15:47:47 +0000 (15:47 +0000)
Fixes friendica/friendica#8663

src/Model/GServer.php

index 133ad14b3a861f76273bdf80c36be410e32ca3a7..704d091a666970de4664ccaec5739e6e85998b81 100644 (file)
@@ -1627,15 +1627,18 @@ class GServer
                }
 
                // Discover federated servers
-               $curlResult = Network::fetchUrl("http://the-federation.info/pods.json");
-
-               if (!empty($curlResult)) {
-                       $servers = json_decode($curlResult, true);
-
-                       if (!empty($servers['pods'])) {
-                               foreach ($servers['pods'] as $server) {
-                                       // Using "only_nodeinfo" since servers that are listed on that page should always have it.
-                                       Worker::add(PRIORITY_LOW, 'UpdateGServer', 'https://' . $server['host'], true);
+               $protocols = ['activitypub', 'diaspora', 'dfrn', 'ostatus'];
+               foreach ($protocols as $protocol) {
+                       $query = '{nodes(protocol:"' . $protocol . '"){host}}';
+                       $curlResult = Network::fetchUrl('https://the-federation.info/graphql?query=' . urlencode($query));
+                       if (!empty($curlResult)) {
+                               $data = json_decode($curlResult, true);
+                               if (!empty($data['data']['nodes'])) {
+                                       foreach ($data['data']['nodes'] as $server) {
+                                               // Using "only_nodeinfo" since servers that are listed on that page should always have it.
+                                               echo $server['host']."\n";
+                                               Worker::add(PRIORITY_LOW, 'UpdateGServer', 'https://' . $server['host'], true);
+                                       }
                                }
                        }
                }