Skip to main content


Does any Fediverse software includes an extension/plugin/macro system, so you can easily make small changes to the experience?
I've never written social software that does this, by the way. But I'm kind of wishing I had!
Sorry, this is not entirely true.

Both GNU Social (née StatusNet) and pump.io used to support admin-level plugins. We disabled the plugin capability in pump.io because there weren't a lot of actual implementations. I don't know if GNU Social still supports them.

I've never had social software that let users write and share their own macros, though. It would be pretty cool if we had that.
'Our own' is doing a fair amount of lifting there, and the security concerns are very real.

Even assuming this is permission-locked to the account, the malicious actor possibility is incredibly high. From the obvious (stripping your followed, muting people at random) to the less obvious (liking and unliking things without your intervention), and a number of other things.

The ability to write your own is not an issue; it's the 'use this thing I wrote' being passed along.
@Oggie Greasemonkey scripts and MediaWiki user scripts come to mind. There's existence proof that this can work.
I apologize if I came off overly snippy or critical- I just blanched hard at the possible implementations of a script front end being used with the user's permissions, and all the bad things that -could- occur, especially with something as fragile (from a social perspective, not engineering) as social media.

It's going to need some very firm guardrails. There's certainly behavior that it would be nice to adjust without impacting other users on your instance, though.
Agreed, and it's already on the Comkey/CalcKey near-term wishlist. Kainoa has details. I pinged him.
I would love to see this!
I'm planning something kind of similar, where the UI is HTML template sets, and can be replaced by a new set of HTML templates and CSS. This way, any third-party designer can create a different UI/theme, and such themes can be shared. (All require security checks, of course.)
https://bonfirenetworks.org/
this may or may not be in the planned feature set of a tapir-themed project of mine that may or may not exist
I know Friendica has addons but I'm not sure how they work.
curious what you find. Fediverse software seems rails-focused. So it's easy to fork/contribute but not easy to write third party modules
It's in the @elk Discord. Maybe this other client implemented it first, but I think that Elk will have it soon. Will be interesting.
@Elk
Looks like Admin can add/remove, but there are user level customization for add-ons if available.
@silverwizard I guess it would be cool if they could at least run it in their own browsers.
Admins need to install them, but users can configure and manage many of them. But no, my users can't run generic code on the instance.
@silverwizard yes, but maybe the abstraction level could be focused on Activity Streams 2.0 objects and activities, rather than the DOM, like GreaseMonkey uses.
Yeah, that would be pretty cool - but wouldn't Firefox/Chrome extensions/GreaseMonkey or whatever scripts do that?
@silverwizard so... pleroma/akkoma MRF? the "message rewrite facility" takes incoming and outgoing activities and, before delivery, modifies them in some programmatic way using elixir modules. it's admin-level, but you have total control over the as2 document. the only downside is that you can't have multiple sources of truth -- incoming messages are stored locally after the rewrite, and outgoing messages are rewritten once before delivery.
@Evan Prodromou #Friendica has a clunky addon system based on hooks you can use to alter some of the page data. It's heavily used by social media connectors, although their numbers are dwindling because third-party networks disappear or close their public API (Facebook, and now Twitter).
https://bonfirenetworks.org/ has an extension system, but not sure if they are light weight enough to qualify for what you're after here.