Port misskey-comparison page
719
src/data/pages/misskey-comparison.md
Normal file
|
@ -0,0 +1,719 @@
|
|||
---
|
||||
title: Comparison of Misskey Forks
|
||||
description: The Misskey family of Fediverse servers is quite large. While they all share a common origin there are some notable feature differences between them.
|
||||
header: /assets/page/misskey-comparison/banner.png
|
||||
header_alt: The Misskey wordmark in black on a white background with green circles
|
||||
header_caption: Image from Misskey Hub, licensed under CC BY-SA 4.0.
|
||||
footer: true
|
||||
published: 2024-02-02T21:47:00.000+10:00
|
||||
edited: 2024-04-24T17:28:00.000+10:00
|
||||
---
|
||||
|
||||
This page aims to provide a rough timeline of each notable fork and a comparison of their features. The feature comparisons are for the latest stable releases of stable forks and development releases of developing/unmainted forks. If anything on this page is incorrect or out of date I'd appreciate if you could let me know: [@pancakes@cats.city](https://cats.city/@pancakes).
|
||||
|
||||
## Featured Forks
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Icon</th>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">Version</th>
|
||||
<th scope="col">Account</th>
|
||||
<th scope="col">Website</th>
|
||||
<th scope="col">Repository</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/misskey.png" alt="Misskey icon"></td>
|
||||
<td>Misskey</td>
|
||||
<td>2024.3.1</td>
|
||||
<td>None</td>
|
||||
<td><a href="https://misskey-hub.net/en/" target="_blank">https://misskey-hub.net/en/</a></td>
|
||||
<td><a href="https://github.com/misskey-dev/misskey"
|
||||
target="_blank">https://github.com/misskey-dev/misskey</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/foundkey.svg" alt="FoundKey icon"></td>
|
||||
<td>FoundKey</td>
|
||||
<td>v13.0.0-preview6</td>
|
||||
<td>None</td>
|
||||
<td>None</td>
|
||||
<td><a href="https://akkoma.dev/FoundKeyGang/FoundKey"
|
||||
target="_blank">https://akkoma.dev/FoundKeyGang/FoundKey</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/firefish.svg" alt="Firefish icon"></td>
|
||||
<td>Firefish</td>
|
||||
<td>v20240330 (rolling)</td>
|
||||
<td><a href="https://info.firefish.dev/@firefish" target="_blank">@firefish@info.firefish.dev</a>
|
||||
</td>
|
||||
<td>None</td>
|
||||
<td><a href="https://firefish.dev/firefish/firefish" target="_blank">https://firefish.dev/firefish/firefish</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/iceshrimp.png" alt="Iceshrimp icon"></td>
|
||||
<td>Iceshrimp (JS)</td>
|
||||
<td>v2023.12.6</td>
|
||||
<td>None</td>
|
||||
<td>None</td>
|
||||
<td><a href="https://iceshrimp.dev/iceshrimp/iceshrimp" target="_blank">https://iceshrimp.dev/iceshrimp/iceshrimp</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/sharkey.png" alt="Sharkey icon"></td>
|
||||
<td>Sharkey</td>
|
||||
<td>2024.3.2</td>
|
||||
<td><a href="https://shonk.social/@Sharkey" target="_blank">@Sharkey@shonk.social</a></td>
|
||||
<td><a href="https://joinsharkey.org/" target="_blank">https://joinsharkey.org/</a></td>
|
||||
<td><a href="https://activitypub.software/TransFem-org/Sharkey" target="_blank">https://activitypub.software/TransFem-org/Sharkey</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img class="icon" src="/assets/page/misskey-comparison/catodon.ico" alt="Catodon icon"></td>
|
||||
<td>Catodon</td>
|
||||
<td>24.01-dev</td>
|
||||
<td><a href="https://catodon.social/@catodon" target="_blank">@catodon@catodon.social</a></td>
|
||||
<td>None</td>
|
||||
<td><a href="https://codeberg.org/catodon/catodon" target="_blank">https://codeberg.org/catodon/catodon</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### Iceshrimp
|
||||
|
||||
In previous versions of this page I referred to Iceshrimp (JS) as just "Iceshrimp". Iceshrimp (JS) is currently under a feature freeze as most of the development effort is going towards the rewrite, Iceshrimp.NET. However, Iceshrimp (JS) is not unmaintained and still receives security updates and is labeled as stable for this reason. Please be aware that when the timeline says "Iceshrimp" it is referring to Iceshrimp (JS), not Iceshrimp.NET. Iceshrimp.NET will not be included on this page as it is not a fork of Misskey. For more information about Iceshrimp (JS) and Iceshrimp.NET see the README in the repository linked above.
|
||||
|
||||
## Timeline of Events
|
||||
|
||||
The following chart is an approximate history of ActivityPub and Misskey. As well as the forks, their versioning, and differing states of activity.
|
||||
|
||||
```plaintext
|
||||
2016-01-28 ActivityPub W3C First Public Working Draft
|
||||
|
||||
2017-02-06 Mastodon v1.0 (included for reference)
|
||||
|
||||
2018-04-19 Misskey v0.0.5018
|
||||
|
|
||||
| (peace in the Misskeyverse)
|
||||
|
|
||||
2022-06-13 Misskey v12.111.1 ------------| (fork)
|
||||
| |
|
||||
2022-07-19 Misskey v12.117.1 |
|
||||
| | (fork) |
|
||||
2022-07-20 | Calckey v12.117.1-calc |
|
||||
| | |
|
||||
2022-08-05 | | FoundKey v13.0.0-preview1
|
||||
| | |
|
||||
2023-06-05 | | FoundKey v13.0.0-preview6
|
||||
| | | (unmaintained)
|
||||
| |
|
||||
2023-06-25 | Calckey v14.0.0-rc3 ----| (rebrand)
|
||||
| |
|
||||
2023-07-20 | Firefish v1.0.0, v1.0.1 -| (fork)
|
||||
| (version scheme change) | |
|
||||
2023-09-14 | | Iceshrimp v2023.09.13-rc1
|
||||
| | |
|
||||
2023-09-21 Misskey 2023.9.0-beta.10 | |
|
||||
| | (fork) | |
|
||||
2023-10-07 | Sharkey 2023.9.1.beta4 | |
|
||||
| | | |
|
||||
2023-11-14 | | | Iceshrimp v2023.12.1
|
||||
| | | | | (fork)
|
||||
2023-11-28 | | Firefish v1.0.5-rc | |
|
||||
| | | (unmaintained) | |
|
||||
2024-01-09 | | | | Catodon 24.01-dev
|
||||
| | | (transferred/revived) | |
|
||||
2024-02-06 | | Firefish v20240206 | |
|
||||
| | | | |
|
||||
```
|
||||
|
||||
## Feature Compariosn
|
||||
|
||||
<table>
|
||||
<caption>Comparison of features between Misskey forks</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"></th>
|
||||
<th scope="col">Misskey</th>
|
||||
<th scope="col">FoundKey</th>
|
||||
<th scope="col">Firefish</th>
|
||||
<th scope="col">Iceshrimp (JS)</th>
|
||||
<th scope="col">Sharkey</th>
|
||||
<th scope="col">Catodon</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">Status</th>
|
||||
<td class="table-y">Stable</td>
|
||||
<td class="table-n">Unmaintained</td>
|
||||
<td class="table-y">Rolling release</td>
|
||||
<td class="table-y">Stable</td>
|
||||
<td class="table-y">Stable</td>
|
||||
<td class="table-p">In development</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">General</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Authorized Fetch</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-p">Experimental</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Full Text Search</th>
|
||||
<td class="table-y">Built-in or MeiliSearch</td>
|
||||
<td class="table-p">ElasticSearch</td>
|
||||
<td class="table-p">Sonic, MeiliSearch, or ElasticSearch</td>
|
||||
<td class="table-y">Built-in</td>
|
||||
<td class="table-y">Built-in or MeiliSearch</td>
|
||||
<td class="table-y">Built-in</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Push Notifications</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Tutorial</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Integration</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Discord</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">GitHub</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Mastodon API</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-p">Partial</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">TensorFlow</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Webhook</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Timelines</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Antennas</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Bubble/Recommended</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Channels</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Social</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-p">Merged into Home</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">User Lists</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Posts</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Federation</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Editing & History</th>
|
||||
<td class="table-n">Removed in 2023.10.0</td>
|
||||
<td class="table-p">View only</td>
|
||||
<td class="table-p">Editing only</td>
|
||||
<td class="table-p">Editing only</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-p">Editing only</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Favorite/Like Button</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Post Language</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Module Player</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Boost Visibility</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Report Posts</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Markdown</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Misskey Flavoured Markdown (MFM)</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">[MFM] border</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">[MFM] center</th>
|
||||
<td class="table-p"><center> only</td>
|
||||
<td class="table-p"><center> only</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-p"><center> only</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">[MFM] fade</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">[MFM] x4</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Per Note MFM Animation Toggle</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Markdown Lists</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Math Formulas</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Users</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Avatar Decorations</th>
|
||||
<td class="table-p">Not federated</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-p">Not federated</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Profile Background</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Cat Mode & Speak as Cat</th>
|
||||
<td class="table-p">Cat Mode only</td>
|
||||
<td class="table-p">Cat Mode only</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Link Verification</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Roles</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">ListenBrainz Status</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Feeds</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Clips</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Gallery</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Pages</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Post Backfill</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Mute Users</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Block Users</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Report Users</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Disable Post Indexing</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Import/Export</th>
|
||||
<td class="table-y">All notes, Favorite notes, Followed users, User lists, Muted users, Blocked
|
||||
users, and Antennas</td>
|
||||
<td class="table-y">All posts, Followed users, User lists, Muted users, and Blocked users</td>
|
||||
<td class="table-y">All posts, Followed users, User lists, Muted users, and Blocked users</td>
|
||||
<td class="table-y">All posts, Followed users, User lists, Muted users, and Blocked users</td>
|
||||
<td class="table-y">All notes, Favorite notes, Followed users, User lists, Muted users, Blocked
|
||||
users, and Antennas</td>
|
||||
<td class="table-y">All posts, Followed users, User lists, Muted users, and Blocked users</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Post Import</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Mastodon+</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Mastodon+, Pleroma, Akkoma, Misskey+, Firefish+, Twitter, Instagram, and
|
||||
Facebook</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">GDPR Data Subject Access Requests</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Migration</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-p">Receive only</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="7">Moderation</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Approve Users</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Silence Users</th>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Mark User Media NSFW</th>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-n">No</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
<td class="table-y">Yes</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## Glossary
|
||||
|
||||
Brief descriptions of each feature listed above. I'm keeping them vague as they vary based on software and more broadly across the Fediverse.
|
||||
|
||||
### Legends
|
||||
|
||||
- **\[Software\]+:** Software plus forks.
|
||||
|
||||
### General
|
||||
|
||||
- **Authorized Fetch:** A security feature which requires remote instances to identify themselves when requesting information from the local instance. This makes it more difficult for remote instances to access information that they are not permitted to. [Read more](https://docs.joinmastodon.org/admin/config/#authorized_fetch)
|
||||
- **Full Text Search:** Allows users to perform more advanced post searches. This may include filters for things as the user that made the post or if the post has an image.
|
||||
- **Push Notifications:** Allows users to receive notifications when the website is not open.
|
||||
|
||||
### Integration
|
||||
|
||||
- **Mastodon API:** The API used by Mastodon. Allows users to use apps/clients that were made for Mastodon.
|
||||
- **TensorFlow:** Mainly used by Misskey+ to automatically detect NSFW content.
|
||||
|
||||
### Timelines
|
||||
|
||||
- **Antennas:** One or more timelines that only show posts that fit certain criteria/filters.
|
||||
- **Bubble/Recommended:** A timeline that only shows posts from instances that the admin manually approves.
|
||||
- **Social:** Combined Home and Local timeline.
|
||||
- **User Lists:** One or more timelines that only show users that are added to the timeline. Note: If you receive a follow request from an account named `@instance.actor@...` it most likely means a user from that instance that doesn't follow you is trying to add you to a list.
|
||||
|
||||
### Posts
|
||||
|
||||
- **Editing & History:** Allows users to make changes to their posts and to see a history of changes.
|
||||
- **Module Player:** Allows users to upload and listen to module or tracker files.
|
||||
- **Boost Visibility:** Allows users to change the visibility of their boosts between Public, Unlisted, Followers-only, and Local.
|
||||
|
||||
### Markdown
|
||||
|
||||
- **Misskey Flavoured Markdown (MFM):** A flavor of Markdown created by Misskey which allows for special formatting such as scale, text color, animation, and more.
|
||||
- **MFM fade:** An animation for fading in and out content.
|
||||
- **Per Note MFM Animation Toggle:** By default MFM animations are disabled. Posts with MFM animations will have a play/pause button that is initially paused.
|
||||
|
||||
### Users
|
||||
|
||||
- **Avatar Decorations:** "Stickers" that can be placed and resized on your profile picture.
|
||||
- **Cat Mode & Speak as Cat:** Cat Mode adds cat ears to the user's profile picture. Speak as Cat modifies the appearance of posts to be more cat-like. For example "everyone" becomes "everynyan". If Speak as Cat is not a feature of the software then it is included as part of Cat Mode. This feature is taken *very seriously*.
|
||||
- **Link Verification:** Verified links will show a checkmark next to them. This can help to verify that a user is who they say they are. [How to verify links](https://docs.joinmastodon.org/user/profile/#verification")
|
||||
- **Roles:** Allows admins to control what certain groups of users can and can't do. Displays a role badge on the user profile.
|
||||
- **ListenBrainz Status:** Displays what song the user is listening to. Similar to Last.fm.
|
||||
- **Feeds:** Automatically generate RSS, Atom, and JSON feeds for public posts from public accounts.
|
||||
- **Pages:** Allows users to attach documents to their profile with extra functionality compared to posts.
|
||||
- **Post Backfill:** Older posts from remote users will be automatically downloaded to the local instance.
|
||||
- **Disable Post Indexing:** Prevent posts from being indexed by search engines.
|
||||
- **Import/Export:** Upload and download personal data to move it between accounts.
|
||||
- **Post Import:** Allows the user to upload posts that were exported from other platforms. This copies the original post dates and may import attached media.
|
||||
- **Migration/Move:** Move followers from an old account to a new account. This does not move followed users or other data, see: Import/Export.
|
||||
|
||||
### Moderation
|
||||
|
||||
- **Approve Users:** If enabled users will need to provide a reason why they are registering. Moderators can then approve or deny a user's account registration.
|
||||
- **Mark User Media NSFW:** Allows moderators to mark some or all of a user's media as Not Safe For Work.
|
||||
|
||||
## Special Thanks
|
||||
|
||||
### Corrections
|
||||
|
||||
- [@Amelia@transfem.social](https://transfem.social/@Amelia")
|
||||
- [@blueb@eepy.zone](https://eepy.zone/@blueb")
|
||||
- [@frost@wolfdo.gg](https://wolfdo.gg/@frost")
|
||||
- [@jeder@miau.jeder.pl](https://miau.jeder.pl/@jeder")
|
||||
- [@jegler@heckin.how](https://heckin.how/@jegler")
|
||||
- [@lewdum@heckin.how](https://heckin.how/@lewdum")
|
||||
- [@Marie@dev.joinsharkey.org](https://dev.joinsharkey.org/@Marie")
|
||||
- [@netbat@catodon.social](https://catodon.social/@netbat")
|
||||
- [@privateger@plasmatrap.com](https://plasmatrap.com/@privateger")
|
||||
- [@vavency@kitsunes.club](https://kitsunes.club/@vavency")
|
||||
- [@Weeble@bungle.online](https://bungle.online/@Weeble")
|
||||
|
||||
<style>
|
||||
img.icon {
|
||||
width: 2em;
|
||||
}
|
||||
</style>
|
BIN
static/assets/page/misskey-comparison/banner.png
Normal file
After Width: | Height: | Size: 341 KiB |
BIN
static/assets/page/misskey-comparison/catodon.ico
Normal file
After Width: | Height: | Size: 90 KiB |
153
static/assets/page/misskey-comparison/firefish.svg
Normal file
|
@ -0,0 +1,153 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1792 1792">
|
||||
|
||||
<style>
|
||||
/* Eyes */
|
||||
@keyframes firefish-logo-blink {
|
||||
95% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
|
||||
97.5% {
|
||||
transform: scaleY(0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
|
||||
#firefish-logo-eye-l,
|
||||
#firefish-logo-eye-r {
|
||||
transform-origin: center;
|
||||
transform-box: fill-box;
|
||||
animation-name: firefish-logo-blink;
|
||||
animation-duration: 3s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
/* Bubbles */
|
||||
@keyframes firefish-logo-bloop {
|
||||
0% {
|
||||
transform: translateY(400px);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
20% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
30% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
90% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(-400px);
|
||||
}
|
||||
}
|
||||
|
||||
.firefish-logo-bubble {
|
||||
animation-name: firefish-logo-bloop;
|
||||
animation-fill-mode: forwards;
|
||||
animation-iteration-count: infinite;
|
||||
animation-duration: 2s;
|
||||
animation-timing-function: ease-out;
|
||||
fill: #31748f;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#firefish-logo-bubble-1 {
|
||||
animation-delay: 0s;
|
||||
}
|
||||
|
||||
#firefish-logo-bubble-2 {
|
||||
animation-delay: .2s;
|
||||
}
|
||||
|
||||
#firefish-logo-bubble-3 {
|
||||
animation-delay: .6s;
|
||||
}
|
||||
|
||||
#firefish-logo-bubble-4 {
|
||||
animation-delay: .8s;
|
||||
}
|
||||
|
||||
#firefish-logo-bubble-5 {
|
||||
animation-delay: 1s;
|
||||
}
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<linearGradient id="firefish-logo-linear-gradient" x1="26.41" y1="1765.71" x2="1492.49" y2="299.62"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#ec476d" />
|
||||
<stop offset="1" stop-color="#f6ae4a" />
|
||||
</linearGradient>
|
||||
<linearGradient id="firefish-logo-linear-gradient-purple" x1="512" y1="1788" x2="512" y2="1398.68"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#db44db" stop-opacity=".3" />
|
||||
<stop offset=".11" stop-color="#db44db" stop-opacity=".21" />
|
||||
<stop offset=".27" stop-color="#db44db" stop-opacity=".12" />
|
||||
<stop offset=".44" stop-color="#db44db" stop-opacity=".05" />
|
||||
<stop offset=".65" stop-color="#db44db" stop-opacity=".01" />
|
||||
<stop offset="1" stop-color="#db44db" stop-opacity="0" />
|
||||
</linearGradient>
|
||||
<linearGradient id="firefish-logo-linear-gradient-3" x1="-351.25" y1="1382.82" x2="1150.74" y2="-119.17"
|
||||
xlink:href="#firefish-logo-linear-gradient" />
|
||||
<linearGradient id="firefish-logo-linear-gradient-4" x1="412.3" y1="2147.8" x2="1915.31" y2="644.8"
|
||||
xlink:href="#firefish-logo-linear-gradient" />
|
||||
<linearGradient id="firefish-logo-linear-gradient-5" x1="28.25" y1="1763.75" x2="1531.25" y2="260.75"
|
||||
xlink:href="#firefish-logo-linear-gradient" />
|
||||
</defs>
|
||||
|
||||
<!-- Bubbles -->
|
||||
<circle id="firefish-logo-bubble-1" class="firefish-logo-bubble" cx="205" cy="500" r="40" />
|
||||
<circle id="firefish-logo-bubble-2" class="firefish-logo-bubble" cx="140" cy="500" r="80" />
|
||||
<circle id="firefish-logo-bubble-3" class="firefish-logo-bubble" cx="95" cy="500" r="70" />
|
||||
<circle id="firefish-logo-bubble-4" class="firefish-logo-bubble" cx="200" cy="500" r="40" />
|
||||
<circle id="firefish-logo-bubble-5" class="firefish-logo-bubble" cx="95" cy="500" r="20" />
|
||||
|
||||
<g id="firefish-logo-firefish">
|
||||
<g id="firefish-logo-fish">
|
||||
<g id="firefish-logo-body">
|
||||
<path
|
||||
d="m928,768.11H96c-53.02,0-96,42.98-96,96v832c0,53.02,42.98,96,96,96h832c53.02,0,96-42.98,96-96v-832c0-53.02-42.98-96-96-96Z"
|
||||
fill="url(#firefish-logo-linear-gradient)" />
|
||||
</g>
|
||||
<g id="firefish-logo-body-purple-grad">
|
||||
<path
|
||||
d="m928,768.11H96C42.98,768.11,0,811.09,0,864.11v832c0,53.02,42.98,96,96,96h832c53.02,0,96-42.98,96-96v-832c0-53.02-42.98-96-96-96Z"
|
||||
fill="url(#firefish-logo-linear-gradient-purple)" />
|
||||
</g>
|
||||
<g id="firefish-logo-fin-l">
|
||||
<path
|
||||
d="m927.66,639.79h-439.94c-52.98,0-95.94-42.95-95.94-95.94V103.91c0-85.47,103.34-128.27,163.77-67.84l439.94,439.94c60.44,60.44,17.63,163.77-67.84,163.77Z"
|
||||
fill="url(#firefish-logo-linear-gradient-3)" />
|
||||
</g>
|
||||
<g id="firefish-logo-fin-b">
|
||||
<path
|
||||
d="m1694.66,1408.11h-445.51c-53.65,0-97.15-43.5-97.15-97.15v-445.51c0-86.55,104.64-129.9,165.84-68.7l445.51,445.51c61.2,61.2,17.86,165.84-68.7,165.84Z"
|
||||
fill="url(#firefish-logo-linear-gradient-4)" />
|
||||
</g>
|
||||
<g id="firefish-logo-fin-r">
|
||||
<path
|
||||
d="m1694.66,640h-445.51c-53.65,0-97.15-43.5-97.15-97.15V97.34c0-86.55,104.64-129.9,165.84-68.7l445.51,445.51c61.2,61.2,17.86,165.84-68.7,165.84Z"
|
||||
fill="url(#firefish-logo-linear-gradient-5)" />
|
||||
</g>
|
||||
<g id="firefish-logo-eye-l">
|
||||
<circle cx="256" cy="1408.11" r="128" fill="#fff" />
|
||||
</g>
|
||||
<g id="firefish-logo-eye-r">
|
||||
<circle cx="576" cy="1408.11" r="128" fill="#fff" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.9 KiB |
1
static/assets/page/misskey-comparison/foundkey.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg width="1000" height="1000" viewBox="0 0 264.583 264.583" xml:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a"><stop style="stop-color:#92191c;stop-opacity:1" offset="0"/><stop style="stop-color:#a11c38;stop-opacity:1" offset="1"/></linearGradient><linearGradient xlink:href="#a" id="b" gradientUnits="userSpaceOnUse" x1="100.048" y1="229.172" x2="97.548" y2="233.865"/></defs><path style="opacity:1;fill:url(#b);fill-opacity:1;stroke-width:1.47155;stroke-linecap:round;stroke-linejoin:round" d="M98.99 228.83a7.578 7.578 0 0 1-1.807-.246c.031.156.115.316.2.451.07.11.186.195.284.28a2 2 0 0 0-.185 1.383.853.853 0 0 0-.49.283.93.93 0 0 0-.214.532c-.014.194.029.39.113.566.087.181.22.342.388.452.168.11.372.167.572.149a.829.829 0 0 0 .424-.165c.425.21.942.225 1.378.039.402-.172.729-.51.887-.917l.478-.203a.626.626 0 0 0 .13-.069.276.276 0 0 0 .092-.114.267.267 0 0 0 .014-.146.562.562 0 0 0-.049-.14l-.1-.22a.664.664 0 0 0 .066-.035.405.405 0 0 0 .092-.07.25.25 0 0 0 .058-.1.24.24 0 0 0 .004-.114.467.467 0 0 0-.04-.108l-.171-.374a.545.545 0 0 0-.069-.119.257.257 0 0 0-.11-.08.263.263 0 0 0-.135-.01.624.624 0 0 0-.13.043l-.203.085c-.024-.121-.041-.24-.091-.353-.044-.098-.055-.124-.117-.212a.928.928 0 0 0 .341-.27.974.974 0 0 0 .194-.438c-.633.195-1.264.243-1.805.24z" transform="translate(-5365.976 -12670.019) scale(55.51197)"/><path style="opacity:1;fill:#fff;fill-opacity:1;stroke-width:1.47155;stroke-linecap:round;stroke-linejoin:round" d="M100.778 230.08v.001c-.008 0-.013.002-.02.003a.29.29 0 0 0-.038.014l-1.987.872a.364.364 0 0 1-.108.36c-.046.04-.1.07-.16.087a.597.597 0 0 1-.18.024.795.795 0 0 1-.385-.105.83.83 0 0 1-.317-.325.517.517 0 0 0-.35.15.599.599 0 0 0-.164.393.85.85 0 0 0 .097.418.816.816 0 0 0 .326.354c.071.04.15.065.232.072a.5.5 0 0 0 .24-.036.56.56 0 0 0 .286-.304.69.69 0 0 0 .042-.387l1.236-.546.18.408a.37.37 0 0 0 .02.035c.007.01.018.02.029.025.012.006.026.007.039.006a.09.09 0 0 0 .037-.012l.268-.12a.199.199 0 0 0 .031-.018.063.063 0 0 0 .02-.03.062.062 0 0 0 0-.035c-.002-.012-.008-.022-.012-.033l-.186-.417.31-.135.19.444a.14.14 0 0 0 .019.033c.008.011.018.019.031.023a.07.07 0 0 0 .038 0 .154.154 0 0 0 .036-.012l.27-.118c.01-.005.022-.01.03-.018a.055.055 0 0 0 .018-.03.07.07 0 0 0-.001-.035.152.152 0 0 0-.013-.033l-.2-.436.25-.112.03-.015a.07.07 0 0 0 .022-.023.05.05 0 0 0 .007-.032c0-.01-.006-.02-.01-.03l-.128-.267c-.006-.012-.011-.024-.021-.034a.077.077 0 0 0-.054-.023zm-3.136 1.36h.01c.091 0 .183.07.23.171.061.135.024.285-.083.334-.107.048-.243-.022-.305-.157-.061-.135-.024-.284.082-.333a.206.206 0 0 1 .066-.015zM99.434 229.088a.552.552 0 0 0-.476.278.535.535 0 0 0-.514-.273.546.546 0 0 0-.494.53.625.625 0 0 0 .09.338c.06.101.146.187.244.252.198.13.44.176.676.177.244.002.496-.043.7-.178a.773.773 0 0 0 .248-.264c.06-.107.09-.23.08-.352a.559.559 0 0 0-.535-.508h-.019zm-.946.173a.4.4 0 0 1 .268.104c.077.07.125.173.129.277l-.267.006a.135.135 0 0 0-.032-.108.136.136 0 0 0-.103-.045.135.135 0 0 0-.1.048.136.136 0 0 0-.028.108l-.262.006c0-.1.04-.199.11-.27a.404.404 0 0 1 .284-.124zm.956 0a.4.4 0 0 1 .397.38l-.267.007a.135.135 0 0 0-.031-.108.137.137 0 0 0-.103-.045.135.135 0 0 0-.1.048.135.135 0 0 0-.029.108l-.261.006c0-.1.04-.199.109-.27a.404.404 0 0 1 .285-.124zm-.48.422.289.423-.262.225-.294-.203z" transform="translate(-5365.976 -12670.019) scale(55.51197)"/></svg>
|
After Width: | Height: | Size: 3.3 KiB |
BIN
static/assets/page/misskey-comparison/iceshrimp.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
static/assets/page/misskey-comparison/misskey.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
static/assets/page/misskey-comparison/sharkey.png
Normal file
After Width: | Height: | Size: 7 KiB |