From 8bf251b9312e058ada0a37690ce160b2939247f2 Mon Sep 17 00:00:00 2001
From: Enju Aihara <5-EnjuAihara@users.noreply.gitlab.varis.social>
Date: Fri, 4 Mar 2022 00:41:18 +0100
Subject: [PATCH] added block fetching from pleroma instances

---
 fetch_blocks.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 fetch_blocks.py

diff --git a/fetch_blocks.py b/fetch_blocks.py
new file mode 100644
index 0000000..e590c24
--- /dev/null
+++ b/fetch_blocks.py
@@ -0,0 +1,24 @@
+from requests import get
+from json import loads
+import sqlite3
+
+conn = sqlite3.connect("blocks.db")
+c = conn.cursor()
+
+with open("pleroma_instances.txt", "r") as f:
+    while blocker := f.readline().strip():
+        print(blocker)
+        c.execute(f"delete from blocks where blocker = '{blocker}'")
+        conn.commit()
+        try:
+            json = loads(get(f"https://{blocker}/nodeinfo/2.1.json").text)
+            for mrf in json["metadata"]["federation"]["mrf_simple"]:
+                for blocked in json["metadata"]["federation"]["mrf_simple"][mrf]:
+                    c.execute(f"insert into blocks select '{blocker}', '{blocked}', '', '{mrf}'")
+            for blocked in json["metadata"]["federation"]["quarantined_instances"]:
+                c.execute(f"insert into blocks select '{blocker}', '{blocked}', '', 'quarantined_instances'")
+            conn.commit()
+        except:
+            pass
+
+conn.close()
\ No newline at end of file
-- 
GitLab