2022-11-06 01:29:46 +01:00
|
|
|
![takahē](static/img/logo-128.png)
|
2022-11-05 21:22:36 +01:00
|
|
|
|
2022-11-14 06:44:41 +01:00
|
|
|
A *very experimental* Fediverse server for microblogging/"toots". Not fully functional yet -
|
|
|
|
I'm still working on making all the basic bits work! For more background and information,
|
|
|
|
see [my blog posts about it](https://aeracode.org/category/takahe/).
|
2022-11-05 21:22:36 +01:00
|
|
|
|
2022-11-14 03:23:02 +01:00
|
|
|
Indended features:
|
2022-11-05 21:22:36 +01:00
|
|
|
|
2022-11-14 03:23:02 +01:00
|
|
|
* Can run on serverless hosting (no need for worker daemons)
|
2022-11-05 21:22:36 +01:00
|
|
|
* Multiple account domains possible per server
|
2022-11-07 02:43:46 +01:00
|
|
|
* Async evented core for fan-out/delivery
|
2022-11-14 03:23:02 +01:00
|
|
|
* Mastodon client API compatible (eventually)
|
2022-11-13 21:57:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
|
|
|
### Requirements:
|
|
|
|
|
|
|
|
- **Python** 3.11
|
2022-11-14 03:23:02 +01:00
|
|
|
- **PostgreSQL** 14+
|
2022-11-13 21:57:27 +01:00
|
|
|
- **Lots of patience** This is *very experimental*
|
|
|
|
|
2022-11-14 03:23:02 +01:00
|
|
|
### 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
|
|
|
|
|
|
|
|
- [x] Create posts
|
2022-11-16 14:53:39 +01:00
|
|
|
- [x] Set post visibility
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Receive posts
|
2022-11-16 14:53:39 +01:00
|
|
|
- [x] Handle received post visibility (unlisted vs public only)
|
2022-11-16 02:30:30 +01:00
|
|
|
- [x] Receive post deletions
|
2022-11-17 06:23:32 +01:00
|
|
|
- [x] Receive post edits
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Set content warnings on posts
|
2022-11-16 14:53:39 +01:00
|
|
|
- [x] Show content warnings on posts
|
2022-11-17 07:00:10 +01:00
|
|
|
- [x] Receive images on posts
|
|
|
|
- [x] Receive reply info
|
2022-11-16 02:30:30 +01:00
|
|
|
- [x] Create boosts
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Receive boosts
|
2022-11-16 02:30:30 +01:00
|
|
|
- [x] Create likes
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Receive likes
|
|
|
|
- [x] Create follows
|
2022-11-17 06:23:32 +01:00
|
|
|
- [x] Undo follows
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Receive and accept follows
|
2022-11-14 03:26:19 +01:00
|
|
|
- [x] Receive follow undos
|
2022-11-17 06:23:32 +01:00
|
|
|
- [ ] Do outgoing mentions properly
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Home timeline (posts and boosts from follows)
|
2022-11-18 02:52:00 +01:00
|
|
|
- [x] Notifications page (followed, boosted, liked)
|
2022-11-14 03:23:02 +01:00
|
|
|
- [x] Local timeline
|
|
|
|
- [x] Federated timeline
|
|
|
|
- [x] Profile pages
|
2022-11-18 02:52:00 +01:00
|
|
|
- [x] Settable icon and background image for profiles
|
|
|
|
- [x] User search
|
2022-11-14 03:23:02 +01:00
|
|
|
- [ ] Following page
|
|
|
|
- [ ] Followers page
|
|
|
|
- [x] Multiple domain support
|
|
|
|
- [x] Multiple identity support
|
|
|
|
- [x] Serverless-friendly worker subsystem
|
2022-11-17 05:12:28 +01:00
|
|
|
- [x] Settings subsystem
|
|
|
|
- [x] Server management page
|
2022-11-17 06:23:32 +01:00
|
|
|
- [x] Domain management page
|
2022-11-18 03:36:25 +01:00
|
|
|
- [x] Email subsystem
|
|
|
|
- [x] Signup flow
|
|
|
|
- [x] Password reset flow
|
2022-11-14 03:23:02 +01:00
|
|
|
|
|
|
|
### Beta
|
|
|
|
|
2022-11-17 05:12:28 +01:00
|
|
|
- [ ] Attach images to posts
|
2022-11-17 06:23:32 +01:00
|
|
|
- [ ] Edit posts
|
2022-11-14 03:26:19 +01:00
|
|
|
- [ ] Delete posts
|
2022-11-18 03:36:25 +01:00
|
|
|
- [ ] Password change flow
|
2022-11-17 07:00:10 +01:00
|
|
|
- [ ] Fetch remote post images locally and thumbnail
|
2022-11-17 06:23:32 +01:00
|
|
|
- [ ] Show follow pending states
|
|
|
|
- [ ] Manual approval of followers
|
2022-11-14 03:30:50 +01:00
|
|
|
- [ ] Reply threading on post creation
|
|
|
|
- [ ] Display posts with reply threads
|
|
|
|
- [ ] Create polls on posts
|
|
|
|
- [ ] Receive polls on posts
|
2022-11-14 03:23:02 +01:00
|
|
|
- [ ] Emoji fetching and display
|
|
|
|
- [ ] Emoji creation
|
|
|
|
- [ ] Image descriptions
|
2022-11-18 02:52:00 +01:00
|
|
|
- [ ] Hashtag search
|
2022-11-14 03:23:02 +01:00
|
|
|
- [ ] Flag for moderation
|
|
|
|
- [ ] Moderation queue
|
|
|
|
- [ ] User management page
|
|
|
|
- [ ] Server defederation
|
|
|
|
- [ ] Filters for posts/boosts
|
|
|
|
- [ ] OAuth subsystem
|
|
|
|
|
|
|
|
### 1.0
|
|
|
|
|
2022-11-14 03:30:50 +01:00
|
|
|
- [ ] IP banning
|
|
|
|
- [ ] Trends subsystem and moderation
|
2022-11-14 03:23:02 +01:00
|
|
|
- [ ] 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)
|
|
|
|
|
2022-11-13 21:57:27 +01:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
If you'd like to contribute, please read [CONTRIBUTING.md](./CONTRIBUTING.md).
|