mirror of
https://git.kiwifarms.net/mint/fedi-block-api.git
synced 2024-10-22 23:39:05 +00:00
24 lines
925 B
Python
24 lines
925 B
Python
|
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()
|