An experimental Fediverse server for microblogging/"toots". Multiple domain support. Multiple identities per user.
 
 
 
 
 
 
Go to file
Andrew Godwin a9e8938fe2 Almost forgot about visibility 2022-11-13 19:36:51 -07:00
activities Permit Mastodon's weird HTML through 2022-11-13 19:03:43 -07:00
core Permit Mastodon's weird HTML through 2022-11-13 19:03:43 -07:00
docker
static Boosting! Incoming, anyway. 2022-11-13 18:43:09 -07:00
stator Boosting! Incoming, anyway. 2022-11-13 18:43:09 -07:00
takahe Boosting! Incoming, anyway. 2022-11-13 18:43:09 -07:00
templates Permit Mastodon's weird HTML through 2022-11-13 19:03:43 -07:00
users Permit Mastodon's weird HTML through 2022-11-13 19:03:43 -07:00
.dockerignore
.gitignore
.pre-commit-config.yaml
CONTRIBUTING.md Improving contributing docs/process 2022-11-13 13:57:27 -07:00
LICENSE Improving contributing docs/process 2022-11-13 13:57:27 -07:00
Makefile
README.md Almost forgot about visibility 2022-11-13 19:36:51 -07:00
manage.py Improving contributing docs/process 2022-11-13 13:57:27 -07:00
requirements-dev.txt Improving contributing docs/process 2022-11-13 13:57:27 -07:00
requirements.txt More UI! 2022-11-13 16:15:14 -07:00
setup.cfg More UI! 2022-11-13 16:15:14 -07:00

README.md

takahē

A very experimental Fediverse server for microblogging/"toots". Not fully functional yet - I'm still working on making all the basic bits work!

Indended features:

  • Can run on serverless hosting (no need for worker daemons)
  • Multiple account domains possible per server
  • Async evented core for fan-out/delivery
  • Mastodon client API compatible (eventually)

Deployment

Requirements:

  • Python 3.11
  • PostgreSQL 14+
  • Lots of patience This is very experimental

Setup

More deployment docs will come soon! Just know that you need to run the Takahē Django app, and then either hit /.stator/runner/ or run ./manage.py runstator at least every 30 seconds.

Roadmap

Takahē is still under very active development towards something I'm willing to call a beta. I've grouped features here into milestones, along with if they're done yet or not. None of this is final, and the further into the future it is, the less sure I am about it.

Alpha

  • Create posts
  • Set post visibility
  • Receive posts
  • Handle received post visibility
  • Receive post deletions
  • Set content warnings on posts
  • Show content warnings on posts
  • Attach images to posts
  • Receive images on posts
  • Create boosts
  • Receive boosts
  • Create likes
  • Receive likes
  • Create follows
  • Undo follows
  • Receive and accept follows
  • Receive follow undos
  • Home timeline (posts and boosts from follows)
  • Notifications page (followed, boosted, liked)
  • Local timeline
  • Federated timeline
  • Profile pages
  • Settable icon and background image for profiles
  • Following page
  • Followers page
  • Multiple domain support
  • Multiple identity support
  • Serverless-friendly worker subsystem
  • Settings subsystem
  • Server management page
  • Domain management page
  • Email subsystem
  • Signup flow
  • Password change flow
  • Password reset flow

Beta

  • Delete posts
  • Reply threading on post creation
  • Display posts with reply threads
  • Create polls on posts
  • Receive polls on posts
  • Emoji fetching and display
  • Emoji creation
  • Image descriptions
  • Flag for moderation
  • Moderation queue
  • User management page
  • Server defederation
  • Filters for posts/boosts
  • OAuth subsystem

1.0

  • IP banning
  • Trends subsystem and moderation
  • Server announcements
  • Automated post deletion
  • Post popularity system (for long gaps between timeline views)
  • Mastodon client API

Future

  • Relays?
  • Mastodon backup import? (would need url mapping for actors)

Contributing

If you'd like to contribute, please read CONTRIBUTING.md.