magicstone-dev / ecko

Community-driven fork of Mastodon's federated social network software
https://magicstone.dev
GNU Affero General Public License v3.0
54 stars 10 forks source link

Problem: Can't subscribe to another instance's instance-blocklist #260

Closed ghost closed 2 years ago

ghost commented 2 years ago

Pitch

With Ecko its possible to import and export instance-blocklists as an instance moderator, but wouldn't it be cool if this could work more automatically?

Motivation

Currently #FediBlock is trending on many instances of the Fediverse because some evil people are harassing long lists of transgender people. The account @FediBlock@a.rathersafe.space is compiling a list of evil instances here: https://rathersafe.space/fediblock. It can be downloaded as a csv file and should be importable to an Ecko instance, right?

But what if an Ecko instance could simply subscribe to a.rathersafe.space's blocklist? This could either be fully automated if you trust the people who are running Fediblock, so if a.rathersafe.space blocks an instance, your instance instantly blocks it too. Or you could get suggestions to block these instances and simply confirm with a click.

I have no idea if this is technically possible though.

weex commented 2 years ago

It's technically possible to be sure. Fundamentally the problem this addresses is one of scalable moderation (#203) which is a deep topic, but I do think there's value in being able to automate these blocklists.

Since Ecko can export and import such blocklists, this could theoretically be scripted without any change to Ecko itself as long as the script is authenticated as an admin user.

weex commented 2 years ago

@PaulaToThePeople With #261 now addressed, it's possible to import a simple list of domains one-per-line. I don't think it'll be long before an import command can be put in a scheduled task to automate, though that'd likely just grab a CSV from a url.

weex commented 2 years ago

With https://github.com/magicstone-dev/ecko/pull/271 merged, import can be done from list hosted at a URL via command line. The YunoHost installation runs similar commands on a schedule via cron so it should now be possible to automate import by URL.

weex commented 2 years ago

The remaining part of this is automating export of an instance blocklists to somewhere that is publicly accessible.

weex commented 2 years ago

Created https://github.com/magicstone-dev/ecko/issues/316 to handle that last piece.