The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

App::Phoebe::BlockFediverse - block Fediverse instances from Phoebe wiki

DESCRIPTION

This extension blocks the Fediverse user agent from your website (Mastodon, Friendica, Pleroma). The reason is this: when these sites federate a status linking to your site, each instance will fetch a preview, so your site will get hit by hundreds of requests from all over the Internet. Blocking them helps us weather the storm.

There is no configuration. Simply add it to your config file:

    use App::Phoebe::BlockFediverse;

Sure, we could also think of better caching and all that. I hate the fact that other developers are forcing us to build “software that scales” – I hate how they think that I have nothing better to do than think about blocking and caching. Phoebe is software for the Smolnet, not for people that keep thinking about scaling.

The solution implemented is this: if the user agent of a HTTP request matches the regular expression, quit immediatly. The result:

    $ curl --header "User-Agent: Pleroma" https://transjovian.org:1965/
    Blocking Fediverse previews

Yeah, we could respond with a error, but fediverse developers aren’t interested in a new architecture for this problem. They think the issue has been solved. See #4486, “Mastodon can be used as a DDOS tool.”