I'm pleased to announce the v1.0.0 release of Hometown, my Mastodon fork! It's up to date with Mastodon v2.9.3, and unique features include:

- Local only posting
- Full support for rendering incoming `Article` posts from federated blogs like Write.As
- "Exclusive" lists that let you follow someone without clogging up your home timeline

For more info, including rationale for each new feature, check out our wiki:

And the release itself is here:

@darius Instances aren't federated by default, but when they try to interact a request is sent to the mods to approve or reject

Think of it like locking your account, but it's your instance

@socalledunitedstates I'm not sure how well that works for moderators. I'm planning to implement a "neighborhood" concept, where you can whitelist other hometown servers (it has to be mutual) and then make "neighborhood" posts that are shared among the mutual network.

@darius @socalledunitedstates I am curious what you mean by "not sure how well that works for moderators?" because the greylisting thing does sound nifty to me

@hope @socalledunitedstates moderators would need to approve every incoming federation request, and approval (imo) would involve a system of vetting whether an instance has a CoC, whether it's a real CoC, whether it's something your users want to federate with, etc. It's a ton of work to do responsibly. Of course it would be easy and not a lot of work to do irresponsibly!

@hope @socalledunitedstates basically with a user I can look at their timeline and tell pretty quickly if they really suck but it's hard to do for an instance

@darius @socalledunitedstates obviously if an instance is turning on this option they are choosing this work for themselves. And its way more manageable than trying to sort through every instance on fedi and do this in the current system.

@hope @socalledunitedstates I think my neighborhoods concept plus full whitelisting for "outside" instances is both safer and easier to manage but I will give this serious thought

@darius @hope But it'd replace the work of hearing about, researching, and blocking instances as they pop up. Blocking instances takes time whether or not the instance would ever have tried to interact, whereas greylisting only takes time if they do. And there's the obvious upside that greylisting wouldn't ever let harassment get through if done right, whereas blocking is only reactive

It'd probably depend on the size of the instance. For smaller instances it'd be a great option, since they won't get too many federation requests at once either from good or bad instances

@socalledunitedstates @hope I'm more of a fan of whitelisting, personally. so I get what you're saying re: safety.

@darius @socalledunitedstates I think essentially this ends up being a whitelisting tool where the list of instances to consider whitelisting is generated organically by your users/and their contacts outside your instance.

@hope @socalledunitedstates it's the second part that bothers me and I think could be overwhelming

@darius @hope Greylisting is just automating part of the whitelist process, rather than making people send you an email or something if they want to federate, or getting tons of requests from your users through DM

I know some instances have already put this in place, but I don't happen to know which. If I can find out, I'll let you know so you can talk to them about it

@socalledunitedstates @hope I don't love the idea of allowing outside instances who my users might not even know about to ask to be federated with! I like the idea of it only coming from actions from my own users

@socalledunitedstates @hope I'd rather have it only trigger a moderation request when my user follows an external account, rather than some rando asks to follow one of my users

@darius @socalledunitedstates @hope god that sounds like an amazing way to implement that. that would be such a game changer for me.

@darius @hope Then a toggle could be included to auto-deny requests from outside the instance

@socalledunitedstates @hope maybe! I'll have to think about it. Regardless, I'm doing neighborhoods first, before I tackle any white or gray listing features. Local only posting has been demonstrably a great thing and adding an expanded local scope seems like the right next step for me and my project

@darius @hope This is definitely a great project. I'm planning a new instance with a few other people, and open federation is definitely a no-go for us - but local-only posting would be great, so we're keeping an eye on Hometown for sure

Thank you for doing what you do, and good luck!

@darius I am a bit confused - are these merge requests that have been agnored upstream or what has made it necisary to do this work in a fork? I mean I would love the possibility of instance-restricted posting. :)

@uniporn Instance-only posts have been an ignored PR in Mastodon for almost a year. Including that PR is the primary reason for the fork.

@darius Then it is very good to hear of this fork, thanks for the work :)


I have a minor recommendation about your version number.

I understand wanting to keep the version on-par with Mastodon, but right now you're missing out on the usefulness of having a real Hometown version.

I suggest adding an additional number, after the Mastodon version, for the Hometime release.

So, if you had three patch updates to Hometown during Mastodon's 2.9.2 release:

Mastodon: 2.9.2

You want to make it easy for folks to know they have important patches.

@yam655 @darius The Hometown release is "1.0.0+2.9.2", so there is certainly a real Hometown version.

@yam655 @clacke what doc did you read? I include an explicit note about it in the release notes


I totally missed it on the page you referenced. On the in the "Versioning" section:

"Hometown follows Mastodon versioning, so Hometown v2.9.2 is up to date with Mastodon v2.9.2."

That implies it's just the same version number.


@darius out of curiosity, why didn't you used glitch-soc or florence forks? (I think monster.pitch also have a fork)

Not that you should, I'm just curious

@bram glitch is way too heavy for me (too many "kitchen sink" features) and Florence doesn't have a full release yet (and is also, I think, going to be heavy). I did PR one of my features to Florence so they can launch with it.

@mastohost any chance MastoHost can add support for #Hometown? I'd be interested in using it.

@stevenroose @darius sorry, currently I only support Mastodon. Maybe in the future, if things evolve positively.

@darius Cool, this looks really interesting! These features looks like stuff I've been missing.
One thing I'm wondering about is why these features aren't in upstream? Are there discussions on why mastodon upstream doesn't use e.g local-only posting? I'm thinking that there are design ideas behind this, and possible side-effects to them being there?

@panina There is an open PR for local only posts, with 200+ comments on it. The only one from Eugen is this

I think it's pretty clear from the fact that the PR has languished for a full year that local only posts are not "in scope" for Mastodon, hence my fork

@darius yep, looks like they have very well-thought-through reasons to avoid this on the main branch. That said, this feature makes the software usable for whole different use-cases.
I've been looking for more closed social media for e.g larger organizations.

@panina Yes! This fall if I'm lucky I'll get to implement something like this for a large org

@panina @Darius Kazemi

|- more closed social media for e.g larger organizations.

Zap might be good for this usage, especially if you don't care about ActivityPub federation.

@darius could you help with instructions on how to upgrade from the previous version of hometown? First time using git… 😬

@chuan That's going to be hard but yes, I can. I assume you've seen the migration guide on the wiki and need more assistance?

@darius I see that it uses the glitch.soc local only method - is it built on the glitch.soc code base or did you just bring in that feature from it?

Sign in to participate in the conversation
Friend Camp

Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.