fix update_blacklist

pull/11/head
db0 2023-06-26 00:53:55 +02:00
parent bff47d51bb
commit 63a06140f4
2 changed files with 21 additions and 4 deletions

View File

@ -8,6 +8,8 @@ USERNAME = "username"
PASSWORD = "password"
# If there's this many registered users per local post+comments, this site will be considered suspicious
ACTIVITY_SUSPICION = 20
# If there's this many registered users per active monthly user, this site will be considered suspicious
MONTHLY_ACTIVITY_SUSPICION = 500
# Extra domains you can block. You can just delete the contents if you want to only block suspicious domains
blacklist = {
"truthsocial.com",
@ -21,8 +23,23 @@ if lemmy.log_in(USERNAME, PASSWORD) is False:
raise Exception("Could not log in to lemmy")
print("Fetching suspicions")
sus = requests.get(f"https://fediseer.com/api/v1/instances?activity_suspicion={ACTIVITY_SUSPICION}&domains=true", timeout=5).json()
sus = requests.get(f"https://fediseer.com/api/v1/instances?activity_suspicion={ACTIVITY_SUSPICION}&active_suspicion={MONTHLY_ACTIVITY_SUSPICION}domains=true", timeout=5).json()
defed = blacklist | set(sus["domains"])
# I need to retrieve the site info because it seems if "RequireApplication" is set
# We need to always re-set the application_question.
# So we retrieve it from the existing site, to set the same value
site = lemmy.site.get()
application_question = None
if site["site_view"]["local_site"]["registration_mode"] == "RequireApplication":
application_question = site["site_view"]["local_site"]["application_question"]
print("Editing Defederation list")
ret = lemmy.site.edit(blocked_instances=list(defed))
if application_question:
ret = lemmy.site.edit(
blocked_instances=list(defed),
application_question=application_question,
)
else:
ret = lemmy.site.edit(
blocked_instances=list(defed),
)
print("Edit Successful")

View File

@ -16,8 +16,8 @@ class Models:
'total_users': fields.Integer(description="The total amount of users registered in that instance"),
'active_users_monthly': fields.Integer(description="The amount of active users monthly."),
'signup': fields.Boolean(default=False,description="True when subscriptions are open, else False"),
'activity_suspicion': fields.Float(description="Local Comments+Posts per user. Higher is worse"),
'active_users_suspicion': fields.Float(description="Monthly active users per user. Higher is worse"),
'activity_suspicion': fields.Float(description="Local users per Comments+Posts. Higher is worse"),
'active_users_suspicion': fields.Float(description="Local users per monthly active user. Higher is worse"),
})
self.response_model_model_Suspicions_get = api.model('SuspiciousInstances', {
'instances': fields.List(fields.Nested(self.response_model_suspicious_instances)),