importantimport / hatsu

🩵 Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
https://hatsu.cli.rs
GNU Affero General Public License v3.0
107 stars 2 forks source link

Block Instances and Actors #16

Open kwaa opened 4 months ago

kwaa commented 4 months ago

Since I don't want to add too much complexity, this method is instance level, and only the admin can block other instances/actors.

This will only affect blocked instances/actors interactions with Hatsu instances, not their ability to view the contents of Hatsu instances.

/api/v0/admin/block_instance

Accepts a domain. https://instance.tld

/api/v0/admin/block_actor

Accepts a URL, this should be the id of the actor. https://instance.tld/users/foo

/api/v0/admin/block_acct

Accepts a foo@instance.tld string, the Hatsu instance sends a WebFinger request to query the corresponding id.

foo@instance.tld => https://instance.tld/.well-known/webfinger?resource=acct:foo@instance.tld

/api/v0/admin/unblock_{instance,actor,acct}

Unblock versions of the three APIs above.

kwaa commented 3 months ago

I'll probably implement block actor/acct in v0.1.2 and block instance after v0.2.0. v0.3.0

The block_instance should accept a string and do an ends_with match.

block_instance example.com
https://example.com (blocked)
https://foo.example.com (blocked)

block_instance https://example.com
https://example.com (blocked)
https://foo.example.com (not blocked)