We've been swamped with a flood of spam for the last few months. Some losers are creating hundreds or thousands of accounts on undermoderated servers and pestering the whole fediverse with junk. Mastodon itself provides no mechanism for admins to reject statuses that contain certain strings, even though many people have begged for this over the years. And while I could learn enough Ruby on Rails to implement such a feature myself, I'm not confident that it would be accepted into the main project and I don't want to maintain a fork.
What I do have is root-level access to my instance's database, enough SQL knowledge to be dangerous, and a willingness to break things and see what happens. I put all that in a blender and some working code came out the other side.
What you're looking at is a PostgreSQL check constraint that applies a function I wrote to every status insert into the database, and rejects ones that contain text I don't ever want to store on my instance. If I try to post a toot that contains such text, I get a little "500" popup in the corner of my screen and it doesn't get sent. I'm not sure what happens if another server tries to send us a toot with that text. I'm guessing the API returns a 500, too, and it fills up their outbound queue with retries. I honestly couldn't care less. Don't send us spam, yo.
Before you apply this on your own server, read the giant warning at the top. If you don't, and you mess around with this without following the advice, you're going to be a very sad camper next time you try to restore your database. Don't panic, though. This uses normal, built-in PostgreSQL features in the normal, not-"clever" way they're meant to be used. The risk isn't to this database check specifically, but to all PostgreSQL check constraints that call user-defined functions. Like so many other database features, it's something to learn, understand, and respect.
This is a curated place to find server blocklists for your own use. An algorithm combines multiple Trusted Source blocklists together and gives you a great deal of choice on which blocklist you want to use, along with transparency into how these are derived.
I'm sharing this with others who want to start their Mastodon instance with a sensible list of domains that should be defederated. Download any of the lists on this page you like, depending on your desired amount of blocking.
An alternative client for the Fediverse.
Github: https://github.com/elk-zone/elk
A frontend for Mastodon/Pleroma with heavy inspiration from the Tumblr user dashboard. DashboardFE should work on a standard LAMP stack with the most common php extensions enabled. It does NOT require a database. While the project works with a decent amount of stability, please note that it is still a work in progress, it can contain several not yet detected bugs or missing some features. The project it's in a constant state of change and improvement.
If you wanna test it first to see if you like it you can check the testing instance here: http://ayanami.cf/dashboard
Explore thousands of Mastodon Servers spanning any topic you can think of on our Mastodon Server List. Curated.
msync is a command line client for Mastodon (and anything else that implements the same API, including Pleroma) that works a little different. msync doesn't stay connected to the internet all the time and constantly pull new posts. Instead, it only connects when you use the msync sync command. Every other change is stored on your computer until then. You can queue up posts to send, boost, bookmark, and favorite when you're online, download posts, notifications, and bookmarks to look at offline, and do the same for as many accounts as you want.
msync currently supports queueing and sending posts, boosts, favorites, and bookmarks for any number of accounts, as well as downloading the home timeline, notifications, bookmarks, and arbitrary threads.
Huginn agent for publishing message via the Mastodon API.
A bot that does nothing but post random (animated) gifs from the movie Hackers to Twitter and Mastodon. Includes the gifs.
Forked at https://github.com/virtadpt/hackers_bot in case it ever goes away.
A curated list of awesome Mastodon and Fediverse related stuff!
A webapp which queries Mastodon instances for their lists of custom emojo, which can then be copy-and-pasted.
A tool for Mastodon users that will scan all the toots you've favorited and find the 30 people whose toots you've favorited most often. Entirely client-side, stores nothing.
A Mastodon instance for Homestuck.
Brutaldon is a client for Mastodon. You can use it to log in to any Mastodon instance from any browser, including text browsers such as lynx. You do not need a separate brutaldon account to use it. Brutaldon will authenticate you to your instance.
Bot that can be joined to the Mastodon network. Listens for people to send DNS resolution requests to it, sends back the canonical replies.
A webapp that helps you generate api keys for mastodon.
An online webapp that lets you explore any mastodon instance's local view and pick out accounts to follow.
A selector of mastodon instances to help you find a node to move into. Asks you questions, uses your answers to generate a list.